Bad Request Почта России [закрыт]

128
13 ноября 2019, 02:10

ссылка: https://otpravka-api.pochta.ru/1.0/user/backlog

Хедеры:

    $headers[] = "Authorization: AccessToken ".$this->token_app;
    $headers[] = "X-User-Authorization: Basic ".$this->key_auot;
    $headers[] = "Content-Type: application/json";
    $headers[] = "Accept: application/json;charset=UTF-8";

Ошибка: stdClass Object

(
    [timestamp] => 2019-03-07T14:36:18+0300
    [status] => 400
    [error] => Bad Request
    [message] => Bad Request
    [path] => /1.0/user/backlog
)
Answer 1
  1. Подготовка данных для передачи. Метод создания заказов принимает массив данных по заказу, каждый элемент которого представляет из себя примерно такой массив:

    $orderData = [
        'address-type-to' => DEFAULT,
        'comment' => 'Комментарий',
        'fragile' => false,
        'house-to' => '15 к 1',
        'index-to' => 195279,
        'insr-value' => 244000,
        'mail-category' => WITH_DECLARED_VALUE_AND_CASH_ON_DELIVERY,
        'mail-direct' => 643,
        'mail-type' => POSTAL_PARCEL,
        'manual-address-input' => false,
        'mass' => 291,
        'order-num' => 1546545,
        'payment' => 244000,
        'payment-method' => CASHLESS,
        'place-to' => 'г Санкт-Петербург',
        'recipient-name' => 'Иванов Иван Иванович',
        'region-to' => 'г Санкт-Петербург',
        'room-to' => 10,
        'sms-notice-recipient' => 0,
        'street-to' => 'ул Ленина',
        'tel-address' => 79210000000,
        'no-return' => true,
    ];
    
  2. Отправка данных. Данные для создания заказов передаются методом PUT в формате JSON. Для передачи используем curl:

    $url = 'https://otpravka-api.pochta.ru/1.0/user/backlog';   
    $method = 'PUT';
    $headers = [
        'Content-Type: application/json;charset=UTF-8',
        'Authorization: AccessToken ' . $this->token_app,
        'X-User-Authorization: Basic ' . $this->key_auot,
    ];
    $data = json_encode([$orderData]);
    $curl = curl_init();
    curl_setopt($curl, CURLOPT_URL, $url);
    curl_setopt($curl, CURLOPT_CUSTOMREQUEST, $method);
    curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
    curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
    $response =  curl_exec($curl);
    curl_close($curl);
    
  3. После отправки запроса в ответ в случае успешной обработки должно прийти примерно следующее:

    {
        "result-ids" : [ 57565818 ]     
    }
    
READ ALSO
Определение типа хеша

Определение типа хеша

Недавно заметил сервис(http://finderinsidepro

148
mysql вопрос по датам

mysql вопрос по датам

Добрый! Следующим запросом делаю листинг статистики

106
Обработка исключений и вывод в JSON

Обработка исключений и вывод в JSON

У меня есть API в котором нужно возвращать ошибки клиенту с помощью исключенийНапример, клиент запросил несуществующий документ и приложение...

102
Как поменять кодировку в php коде?

Как поменять кодировку в php коде?

Есть файл с кодом который вызывает rss для показа на сайтеНо кодировка rss

97