Для создания груза необходимо сформировать POST-запрос на адрес "https://api.catapulto.ru/api/v1/rates/cargo/create/" со следующими параметрами (поля c R обязательные к заполнению) :

  1. delivery_type: (ChoiceField) - Характер груза R (существует два типа:docs и parcel)
  2. cargo_type_id: (PrimaryKeyRelatedField) - Тип груза
  3. cargo_comment: (CharField) - Комментарий к грузу R
  4. weight: (FloatField) - Физический вес, кг
  5. width: (IntegerField) - Ширина, см R
  6. height: (IntegerField) - Высота, см R
  7. length: (IntegerField) - Длина, см R
  8. quantity: (IntegerField) - Количество, шт R
  9. instructions: (ManyRelatedField) - Инструкции к упаковке

Для получения типов груза необходимо сформировать послать GET-запрос на адрес "https://api.catapulto.ru/api/v1/reference/cargo/list/". В ответе будет получен json примерно следующего вида:

{ count: 11, next: null, previous: null, results: [ { id: 7, title: "Другое", default_weight: 0.2, default_width: 10, default_height: 5, default_length: 10 }, { id: 1, title: "Косметика и парфюмерия", default_weight: 0.2, default_width: 10, default_height: 5, default_length: 10 }, { id: 32, title: "Пачка документов", default_weight: 0.2, default_width: 30, default_height: 1, default_length: 30 }, ... ] }

Из данного JSON-ответа нужно взять id необходимого типа груза для использование его как cargo_type_id.

Так же может понадобится список инструкций к упаковке. Получить его можно посредством GET-запроса на адрес "https://api.catapulto.ru/api/v1/reference/instruction/list/". JSON-ответ будет выглядеть примерно так:

{ count: 7, next: null, previous: null, results: [ { id: 2, title: "Хрупкий груз" }, { id: 3, title: "Опасный груз" }, { id: 8, title: "Конверт" }, { id: 9, title: "Пакет" }, { id: 5, title: "Коробка" }, { id: 6, title: "Скотч" }, { id: 7, title: "Пузырч. пленка" } ] }

После получения типов груза и инструкций можно создавать сам груз. Для этого заполним необходимые поля для передачи POST-запроса на "https://api.catapulto.ru/api/v1/rates/cargo/create/" и, авторизовав пользователя, добавив в headers X-Token и значение Token 6c523bd79898gd706c32a05aff13003dc07737e0:

  1. cargo_comment: "Документы"
  2. cargo_type_id: 32
  3. delivery_type: "docs"
  4. height: 10
  5. instructions: 9
  6. length: 5
  7. quantity: 1
  8. weight: 0.2
  9. width: 10

После успешного создания груза мы получим JSON-ответ:

{ "id": 1507096, "delivery_type": "docs", "cargo_type_id": 32, "cargo_comment": "Документы", "weight": 0.2, "width": 10, "height": 10, "length": 5, "quantity": 1, "instructions": [ 9 ], "volume": 0.0005000000000000001, "volumetric_weight": 0.1 }

где к нашим переданным параметрам добавились высчитанные:

  1. volume: (FloatField) - Объем, куб м
  2. volumetric_weight: (FloatField) - Объемный вес, кг
Следующая статья:
Создание расчета