Изменение статуса заказа через API Есть решение
Подскажите, как правильно обращаться к API.
Пытаюсь вызвать shop.order.complete.
Лобовой подход GET api.php?app=shop&method=order.complete&access_token=xxxxxxxxxxxxxxxxxxxxxxxx&id=987 возвращает
{"error":"invalid_request","error_description":"Method GET not allowed"}
что неудивительно.
Пробую POST:
$ua->post($url, [app=>'shop', method=>'order.complete', access_token=>$TOKEN id=>$OID, format=>'json']);
Получаю ответ (http 200): {"error":"invalid_request","error_description":"Application not exists"}
ShopScript 8.4.2.11, установка в облаке.
Запрос получается вот такой:
User-Agent: libwww-perl/6.34
Content-Length: 95
Content-Type: application/x-www-form-urlencoded
app=shop&method=order.complete&access_token=xxxxxxxxxxxxxxxxxxxxxxxxxxxxx&id=123&format=json
Что бы это всё значило? Как невозбранно добиться желаемого?-)
1 ответ
Дело вот в чем. Несмотря на то, что запрос должен передаваться методом POST, часть параметров должна быть передана через URL. В документации на это указано, если присмотреться . :-)
Запрос должен иметь такой вид: