Отгрузка заказов в ПВЗ (parcel/send)

Отгрузить заказы в ПВЗ (parcel/send)

Метод позволяет произвести отгрузку отправлений в ПВЗ. Метод возвращает список идентификаторов необходимых для получения акта приёма-передачи (см. печать акта-приёма передачи в разделе отчёты и документы). Акт приёма передачи формируется отдельно для каждого отделения.

URL запроса: http://api.multi-point.net/index.php?route=parcel/send&api_key=XXX 

(где XXX, ключ API сгенерированный в панели управления поставщика ПВЗ). 

Тип запроса: POST 

В запросе необходимо передавать массив с идентификаторами отправлений (parcel_id) которые были выгружены в систему но ещё не были отгружены в ПВЗ.

    $parcels = array(166, 167, 168, 169, 170); // Массив с идентификаторами отправлений
    
    $ch = curl_init();
    	
    curl_setopt_array($ch, array(
        CURLOPT_URL => 'http://api.multi-point.ru/index.php?route=parcel/send&api_key=XXX',
        CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_0,
        CURLOPT_RETURNTRANSFER => true,
        CURLOPT_POST => true,
        CURLOPT_POSTFIELDS => http_build_query($parcels),
        CURLOPT_HTTPHEADER => array('Content-Type: application/x-www-form-urlencoded')
    ));
    
    $response = curl_exec($ch);
    
    curl_close($ch);
    	
    $result = json_decode($response, true);	
		
    return $result;

Успешный результат выполнения примера

    Array
     (
        [shipments] => Array    
(
            [0] => 64 // Идентификатор акта-приёма передачи
[1] => 65 // Идентификатор акта-приёма передачи

[2] => 66 // Идентификатор акта-приёма передачи
         )          [success] => Успешно! // Подтверждение что запрос успешно выполнен      )

Выполнено с ошибкой (не удалось отгрузить отправления).

Если какие либо из отправлений были отгружены ранее, вернётся многомерный массив exists c ключами parcel_id и shipment_id и значениями соответствующими идентификатору отправления и идентификатору реестра отгрузки.

В случае передачи не корректных идентификаторов отправлений, вернётся массив undefined_parcels_ids с идентификаторами отправлений, которые не удалось распознать.

    Array
     (
        [error] => Array
            (
                [exists] => Array // Отправления были отгружены ранее, возвращаются массивы с идентификаторами отправлений и актами приёма передачи
                    (
                        [0] => Array
                            (
                                [parcel_id] => 166 // Идентификатор отправления
                                [shipment_id] => 1800 // Идентификатор акта-приёма передачи
                            )
                        [1] => Array
                            (
                                [parcel_id] => 167 // Идентификатор отправления
                                [shipment_id] => 2008 // Идентификатор акта-приёма передачи
                            )
                        [2] => Array
                            (
                                [parcel_id] => 168 // Идентификатор отправления
                                [shipment_id] => 2010 // Идентификатор акта-приёма передачи
                            )
                    )
                [undefined_parcels_ids] => Array
                    (
                        [0] => 169 // Не удалось найти отправление с таким идентификатором
                        [1] => 170 // Не удалось найти отправление с таким идентификатором
                    )
                [warning] => Внимательно проверьте данные на ошибки!
            )
     )