Использование Autolux API

Создание посылки

Для создания экземпляра посылки при помощи "Автолюкс" API, необходимо передать полную информацию о таковой, в соответствуюшем формате, на интерфейс API.

При создании посылки, рекомедуется обратить внимание, на то, известен ли Вам заранее получатель(и) данной посылки. Если Вы ранее не отправляли посылки этому лицу, то запрос будет иметь вид (здесь используется сразу json формат в теле запроса, т.к. нужно передать большое количество вложенных данных и использовать поля формы было бы неудобно).

MethodPOST
Headers: Content-Type: application/json
Form values: none
Body:
{
"box_quantity": 1,
"volume": 0,
"width": 691,
"weight": 1,
"length": 0,
"height": 379,
"service_30": 0,
"service_10": 0,
"shipment_type_id": 1,
"receivers": {
"persons": [
{
"phone": 0505867374,
"first_name": "Татьяна",
"last_name": "Драгомирецкая"
}
]
},
"insurance": 300,
"use_discount": true,
"service_11": 330,
"door_to_door": {
"delivery_address": "Киев",
"take_address": ""
},
"office_to_id": 1005,
"description": "взуття",
"senders": {
"person_id": "11007",
"company_id": "100000003469"
},
"office_from_id": 1044,
"access_token": "82f8f27f36d26d8c85415e0c5fe1a468"
}

 

Для отправки, соответственно Вы уже должны располагать идентификаторами точек отправки и прибытия груза, access_token, а также корректно указать свой идентификатор отправителя в подмассиве ключа "senders". В приведенном выше примере, API получив процессе создания посылки вложенный массив нового получателя - создаст его и использует в качестве получателя.

В случае, если у Вас уже есть идентификатор получателя (одного или нескольких), то поле "receivers" рекомендуется передавать в виде, используемом в пример ниже:

MethodPOST
Headers: Content-Type: application/json
Form values: none
Body:
 
{
  "box_quantity": 1,
  "volume": 0,
  "width": 691,
  "weight": 1,
  "length": 0,
  "height": 379,
  "service_30": 0,
  "service_10": 0,
  "shipment_type_id": 1,
  "receivers": {
  	"persons_ids": [
  		10010010, 10201020
  	],
  	"company_id": "10490000000001"
},
  "insurance": 300,
  "use_discount": true,
  "service_11": 330,
  "door_to_door": {
    "delivery_address": "Киев",
    "take_address": ""
  },
  "office_to_id": 1005,
  "description": "взуття",
  "senders": {
    "person_id": "100000020300",
    "company_id": "100000003469"
  },
  "office_from_id": 1044,
  "access_token": "82f8f27f36d26d8c85415e0c5fe1a468"
}


Результатом будет ответ от сервера API, содержащий информацию о внесенных в БД значениях и сгенерированных идентификаторах.
Пример ответа:
 
 
{
  "operator_id": "11007",
  "senders": {
    "company_id": "100000003469",
    "person_id": "11007"
  },
  "receivers": {
    "persons_ids": [
      "100510000512"
    ]
  },
  "id": "100510003647",
  "shipment_type_id": 1,
  "shipment_type": "Груз",
  "weight": 1,
  "volume": 0,
  "box_quantity": 1,
  "insurance": 300,
  "description_id": "1008000017",
  "description": "взуття",
  "create_date": "2016-06-28T12:40:21",
  "office_from_id": 1005,
  "office_to_id": 1044,
  "external_number": null,
  "status_code": "not_confirmed",
  "status_id": 1,
  "status_title": "Не подтверждена",
  "COD_shipment": {
    "operator_id": "11007",
    "senders": {
      "company_id": "100000003469",
      "person_id": "11007"
    },
    "receivers": {
      "company_id": "100000003469",
      "persons_ids": [
        "11007"
      ]
    },
    "id": "100510003648",
    "shipment_type_id": 5,
    "shipment_type": "Возврат наложенного платежа",
    "parent_shipment_id": "100510003647",
    "weight": null,
    "volume": null,
    "box_quantity": 1,
    "insurance": 330,
    "description_id": "100510000075",
    "description": "Обратная посылка за №100510003647",
    "create_date": "2016-06-28T12:40:22",
    "office_from_id": 1044,
    "office_to_id": 1005,
    "external_number": null,
    "status_code": "not_created",
    "status_id": 14,
    "status_title": "Не созданная",
    "invoices": [
      {
        "id": "100510026533",
        "service": "Регистрация посылки",
        "service_type": "Основные",
        "service_type_id": 1,
        "office_id": 1044,
        "operator_id": "11007",
        "service_id": 1,
        "service_quantity": 1,
        "sum": 14,
        "create_date": {
          "date": "2016-06-28 12:40:22.000000",
          "timezone_type": 3,
          "timezone": "Europe/Kiev"
        },
        "sum_total": 14,
        "shipment_id": "100510003648",
        "deleted": false
      },
      {
        "id": "100510026534",
        "service": "Наложенный платеж",
        "service_type": "Возвратные",
        "service_type_id": 4,
        "office_id": 1044,
        "operator_id": "11007",
        "service_id": 11,
        "service_quantity": 330,
        "sum": 0.02,
        "create_date": {
          "date": "2016-06-28 12:40:22.000000",
          "timezone_type": 3,
          "timezone": "Europe/Kiev"
        },
        "sum_total": 7,
        "shipment_id": "100510003648",
        "deleted": false
      },
      {
        "id": "100510026535",
        "service": "Перевозка (документы)",
        "service_type": "Основные",
        "service_type_id": 1,
        "office_id": 1044,
        "operator_id": "11007",
        "service_id": 30,
        "service_quantity": 1,
        "sum": 1,
        "create_date": {
          "date": "2016-06-28 12:40:23.000000",
          "timezone_type": 3,
          "timezone": "Europe/Kiev"
        },
        "sum_total": 1,
        "shipment_id": "100510003648",
        "deleted": false
      }
    ],
    "boxes": [
      {
        "id": "100510012734",
        "shipment_id": "100510003648",
        "place_number": 1,
        "location_id": 1044,
        "location_type_id": 1,
        "update_time": {
          "date": "2016-06-28 12:40:22.000000",
          "timezone_type": 3,
          "timezone": "Europe/Kiev"
        },
        "volume": null,
        "weight": null,
        "insurance": 330,
        "warehouse_number": null
      }
    ],
    "payer_sender": 0,
    "creation_source": 50,
    "deleted": false,
    "issuance_history": []
  },
  "invoices": [
    {
      "id": "100510026536",
      "service": "Регистрация посылки",
      "service_type": "Основные",
      "service_type_id": 1,
      "office_id": 1005,
      "operator_id": "11007",
      "service_id": 1,
      "service_quantity": 1,
      "sum": 14,
      "create_date": {
        "date": "2016-06-28 12:40:23.000000",
        "timezone_type": 3,
        "timezone": "Europe/Kiev"
      },
      "sum_total": 14,
      "shipment_id": "100510003647",
      "deleted": false
    },
    {
      "id": "100510026537",
      "service": "Оценочная стоимость",
      "service_type": "Основные",
      "service_type_id": 1,
      "office_id": 1005,
      "operator_id": "11007",
      "service_id": 2,
      "service_quantity": 300,
      "sum": 0.005,
      "create_date": {
        "date": "2016-06-28 12:40:23.000000",
        "timezone_type": 3,
        "timezone": "Europe/Kiev"
      },
      "sum_total": 3,
      "shipment_id": "100510003647",
      "deleted": false
    },
    {
      "id": "100510026538",
      "service": "Перевозка (по весу)",
      "service_type": "Основные",
      "service_type_id": 1,
      "office_id": 1005,
      "operator_id": "11007",
      "service_id": 3,
      "service_quantity": 1,
      "sum": 1.83,
      "create_date": {
        "date": "2016-06-28 12:40:23.000000",
        "timezone_type": 3,
        "timezone": "Europe/Kiev"
      },
      "sum_total": 2,
      "shipment_id": "100510003647",
      "deleted": false
    }
  ],
  "boxes": [
    {
      "id": "100510012735",
      "shipment_id": "100510003647",
      "place_number": 1,
      "location_id": 1005,
      "location_type_id": 1,
      "update_time": {
        "date": "2016-06-28 12:40:21.000000",
        "timezone_type": 3,
        "timezone": "Europe/Kiev"
      },
      "volume": 0,
      "weight": 1,
      "insurance": 300,
      "warehouse_number": null
    }
  ],
  "door_to_door": {
    "id": "100510003020",
    "take_address": "",
    "delivery_address": "Киев",
    "take_status": {
      "id": 1,
      "code": "not_confirmed",
      "title": "Необработана"
    },
    "delivery_status": {
      "id": 1,
      "code": "not_confirmed",
      "title": "Необработана"
    }
  },
  "payer_sender": 0,
  "creation_source": 50,
  "deleted": false,
  "issuance_history": []
}

Пояснения:

  • Вложенный список значений invoices отражает список услуг, по итогам которых вычисляется сумма
    итоговой оплаты по данному экземпляру отправки.
  • Вложенный список значений boxes несет информацию о конкретной единице груза (месте), в данной
    посылке, отражая такие параметры, как номер ее ТТН, идентификатор этого места, идентификатоор ее
    местонахождения в данный момент и т.д.
  • Коллекция значений door_to_door характеризует заявку на доставку/забор груза, если таковая была
    создана в рамках данного экземпляра отправки, и несет в себе данные об адресах доставки и/или забора, а
    также состояния выполнения этих заявок.

Примечание 1: В процессе создания экземпляра отправки груза, необходимо передавать идентификатор
получателя посылки. Идентификатор нужно предварительно получить от API. Если такой получатель уже
имеется в БД API, то будет возвращен его id, который можно будет использовать для отправки ему груза. Если
такого получателя нет в БД, то будет сгенерирован и возвращен новый идентификатор.


Примечание 2: Ответ в, в представленном выше виде (структуре), является стандартным представлением
экземпляра посылки в API. Это касается всех операций по получению данных
об объекте отправки – создания, поиска по номеру, поиска по отправителю, получателю и т.д.