$json = json_decode(file_get_contents("php://input"), true);
Вам нужно перестать выполнять слишком много разных шагов за один go.
Здесь вы смешали две вещи вместе, каждая из которых может потерпеть неудачу по отдельности - вы не могли имеет любые фактические входные данные POST для чтения, или попытка декодирования того, что было прочитано как JSON, может потерпеть неудачу. В том виде, в каком вы это написали, вы можете посмотреть только то, что содержится в $json
после, поэтому вы не сможете сказать , какой из этих двух шагов действительно не удался.
$request_body = file_get_contents("php://input");
$json = json_decode($request_body, true);
Теперь, если это не удается, вы можете проверить результат каждого шага отдельно. Вы можете сначала выполнить var_dump($request_body);
, чтобы увидеть, действительно ли вы получили данные POSTed таким образом.
В этом случае вы, вероятно, обнаружите, что это было так, но попытаетесь декодировать его как JSON впоследствии не удалось.
И если вы действительно отправляете запрос cURL, как показано выше, то это не удивительно - потому что эти данные недействительны JSON для начала.
"order_id":{{ item.entity_id }},
Эти части в двойных фигурных скобках здесь определенно означают заполнители . Вам нужно сначала заменить их на фактические значения, прежде чем отправлять это. Здесь это должно быть что-то вроде "order_id":1234,
, только тогда оно будет действительным JSON.