Перейти к содержанию

Directories API

Справочники используются при создании заказа и настройке фильтров интеграции.

Большинство методов поддерживают:

  • $filter;
  • $orderby;
  • $top;
  • $skip.

1. Примеры фильтрации

GET /api/PackType/SelectList?$filter=name eq 'Тент'
GET /api/PackType/SelectList?$filter=contains(tolower(name),'тент')
GET /api/PackType/SelectList?$filter=id eq 42

2. Справочники для создания заказа

Перед созданием заказа внешняя система обычно получает значения справочников и сохраняет у себя соответствие id и name. В заказ передается ID справочного значения.

Что нужно заполнить Поле в заказе Метод
Тип груза cargoTypeId GET /api/CargoType/SelectByOrganizationList
Типы упаковки packTypeIds GET /api/PackType/SelectList
Типы полуприцепов trailerTypeIds GET /api/OrganizationAccount/GetAllowedTrailerTypeList
Тип загрузки/выгрузки в точке points[].loadUnloadTypeId GET /api/LoadUnloadType/SelectList
Заказчик/контрагент counterpartyId GET /api/Orders/SelectCounterpartyByOrganizationList
Автор заказа authorId GET /api/Orders/SelectAuthorByOrganizationList
Перевозчики для видимости visibleForOrganizationsIds GET /api/Organization/SelectRelationsOrganizationsList
Тип НДС заказчика ndsTypeId GET /api/NdsType/SelectList
Тип НДС перевозчика transporterNdsTypeId GET /api/NdsType/SelectList
Тип оплаты paymentTypeId GET /api/PaymentType/SelectList
Причины отмены cancellationReasonIds GET /api/CancellationReasons/SelectByOrderList?OrderId={order_id}

Для обычной интеграции достаточно читать справочники. Методы создания и редактирования справочных значений не описаны в этом разделе, потому что они относятся к административным сценариям и могут быть недоступны интеграционному пользователю.

Работа с контрагентами выделена в отдельный раздел: Counterparties API. Там описаны создание, чтение, удаление, адреса, контактные лица, надежность и лимиты контрагентов.

Пример: получить тип НДС

GET /api/NdsType/SelectList
Authorization: Bearer <access_token>

Ответ:

{
  "data": [
    { "id": 1, "name": "Без НДС" },
    { "id": 71, "name": "НДС 22%" }
  ],
  "totalCount": 2
}

Чтобы создать заказ без НДС, передайте:

{
  "ndsTypeId": 1
}

Пример: получить типы полуприцепов

GET /api/OrganizationAccount/GetAllowedTrailerTypeList?OrganizationId={organization_id}
Authorization: Bearer <access_token>

Ответ:

{
  "data": [
    { "id": 122, "name": "Тент" },
    { "id": 12, "name": "Рефрижератор" }
  ],
  "totalCount": 2
}

Чтобы создать заказ с требованием к тентованному полуприцепу, передайте:

{
  "trailerTypeIds": [122]
}

3. Справочники для расшифровки заказа

Эти же справочники используются при чтении заказа из GET /api/Orders/GetInfo.

Поле заказа Справочник Пример значения
ndsTypeId, ndsTypeName GET /api/NdsType/SelectList {"id": 71, "name": "НДС 22%"}
trailerTypeNames GET /api/OrganizationAccount/GetAllowedTrailerTypeList {"id": 122, "name": "Тент"}
packTypeNames GET /api/PackType/SelectList {"id": 811, "name": "Паллета"}
cargoType GET /api/CargoType/SelectByOrganizationList {"id": 8791, "name": "Продукты питания"}
points[].loadUnloadTypeName GET /api/LoadUnloadType/SelectList Тип загрузки/выгрузки

В ответе заказа часто возвращаются и ID, и название справочного значения. Например, НДС заказчика возвращается как ndsTypeId и ndsTypeName, а НДС перевозчика может возвращаться как transporterNdsType.

Пример справочника НДС

{
  "data": [
    { "id": 1, "name": "Без НДС" },
    { "id": 51, "name": "НДС 12%" },
    { "id": 61, "name": "НДС 5%" },
    { "id": 41, "name": "НДС 20%" },
    { "id": 11, "name": "НДС 10%" },
    { "id": 2, "name": "НДС 0%" },
    { "id": 71, "name": "НДС 22%" }
  ],
  "totalCount": 7
}

Пример справочника типов полуприцепов

{
  "data": [
    { "id": 122, "name": "Тент" },
    { "id": 12, "name": "Рефрижератор" },
    { "id": 121, "name": "Изотерм" },
    { "id": 123, "name": "Термос" }
  ],
  "totalCount": 20
}

4. Типовой ответ

{
  "data": [
    {
      "id": 1,
      "name": "Тент"
    }
  ],
  "totalCount": 1
}

5. Справочники перевозчика

Справочники перевозчика описаны в разделе Transporter API:

  • TransporterTruck;
  • TransporterTrailer;
  • TransporterDriver.