Создать шаблон заказа и получить его данные
Стенд по умолчанию — test. Сценарий изменяет данные. Порядок работы для агента.
Используйте шаблон для повторяющихся перевозок. Для создания нужны организация, значения полей шаблона и право exp_order_template_create. Перед созданием на рабочем стенде получите подтверждение пользователя. Если задача состоит в чтении шаблона, перейдите сразу к поиску или получению данных.
Создать шаблон
Соберите тело запроса по карточке POST /api/transferOrderTemplate/create/v2. В data обязательны название transferOrderTemplateName и объект forwarder с идентификатором forwarderId. Если какого-то обязательного поля не хватает, уточните его перед отправкой. При 409 Conflict проверьте, есть ли в выбранной организации шаблон с таким именем. При успехе разберите JSON-ответ и сохраните data.templateId.
Найти существующий шаблон
Если идентификатор неизвестен, проверьте право exp_order_template_get_names и вызовите POST /api/transferOrderTemplate/getTemplateNames/v0. При необходимости уточните список по data.namePattern и data.forwarderId. Выберите templateId нужного шаблона из data.items. При нескольких совпадениях уточните организацию и название.
Получить данные шаблона
Проверьте право exp_order_template_get в организации шаблона. Доступ к списку шаблонов не подтверждает это право. Передайте выбранный идентификатор в параметре строки запроса templateId метода GET /api/transferOrderTemplate/get/v2. После создания шаблона сверьте data.templateId с сохранённым идентификатором.
Подготовить заказ по шаблону
Соберите новый запрос по сценарию создания заказа. Перенесите bodyType, currency и нужные параметры shipments из data шаблона в одноимённые поля запроса. Для каждой задачи сопоставьте npShipment, npUnshipment и packages со схемой создания. Подставьте актуальные периоды погрузки и выгрузки и проверьте выбранную организацию и владельца груза. У шаблона могут отсутствовать кузова и маршрут. Если bodyType, shipments или packages пусты, запросите недостающие данные до вызова. templateId относится к шаблону. Чтобы сохранить новый заказ черновиком, не переносите distribution.