В этой статье мы создадим запрос Запрос на перевозку от имени грузовладельца Грузовладельца с минимальным набором параметров и проверим статус торгов. Для Для этого мы будем использовать тестовую среду и интерактивную «песочницу» в качестве инструмента формирования запросов к API.
- Зайти в песочницу тестовой среды https://testdev2.logistpro.su/api/docs/ui/index
- Ввести и применить ключ (API Key) для компании-грузовладельца Грузовладельца (из статьи Тестовая среда testdev2)
Для Для компании-Грузовладельца ТрансДемо1 значение ключа: jn/PYDwYKV7INbTQwZFdpXe4LEuYvBg9fgsIdykDigM= - Авторизоваться в методе , вызвав метод POST /api/v1/account/login от имени пользователя extпользователя ext.customer.1@logistpro.su
- Login: ext.customer.1@logistpro.su
- Password: I1f7VHKP1LxINo
- Получить необходимую справочную информацию для создания запроса в методе Запроса на перевозку, вызвав метод GET /api/v1/tender/create
В минимальном виде, нам нужны два идентификатора
Для минимального набора обязательных параметров при дальнейшем создании Запроса на перевозку нам понадобятся два идентификатора из полученного ответа:- Юридическое лицо: “Corporates”:”Id” - юридическое лицо заказчика перевозки: 4af53a58-45e2-4b78-ba50-25299a5978be (заказчик перевозки)Ответственный сотрудник: (идентификатор ООО «ТК ТрансДемо1»)
- “Corporates”:”ContactPersons”:”Id” - ответственный сотрудник заказчика: 2e912068-48ba-49df-9656-48583f5b2939 (идентификатор сотрудника ТС1, данный сотрудник будет получать уведомления о ходе торгов на email и его контакты будут показываться участникам торгов для уточнения информации)
Вызвать метод создания запроса POST /api/v1/tender/create
передав структуры данных с минимально необходимым набором параметров:Code Block language js { "Cargo": "Продукты питания", "CargoWeight": 3.5, "CargoVolume": 4.25, "Tender": { "VatReqs": "None" }, "TransportRequirements": { "TransportType": "Auto" }, "PackageDetails": [ { "Type": "Pallets", "Number": 33 } ], "RoutePoints": [ { "Type": "Loading", "Address": "Москва, улица Ленина д.1", "ArrivalTime": "2022-03-11T00:00:00.000", "LeaveTime": "2022-03-12T00:00:00.000" }, { "Type": "Unloading", "Address": "Санкт-Петербург, улица Ленина д.1", "ArrivalTime": "2022-03-15T00:00:00.000", "LeaveTime": "2022-03-16T00:00:00.000" } ], "Customer": { "CompanyId": "4af53a58-45e2-4b78-ba50-25299a5978be", "ContactId": "2e912068-48ba-49df-9656-48583f5b2939" } }
В данной структуре передаются:
- данные груза: поля Cargoполя “Cargo”, CargoWeight “CargoWeight”, CargoVolume “CargoVolume”
- требования к участникам торгов: Tender.VatReqs=None “Tender”:”VatReqs” - значение”None” - нет специальных требований в оплате НДС исполнителем
- требования к транспорту: TransportRequirements.TransportType=Auto - автотранспорт “TransportRequirements”:”TransportType”- значение “Auto” - автоперевозка
- описание упаковки груза: PackageDetails “PackageDetails”, параметры “Type” и “Number” – тип и количество упаковок, соответственно
- точки маршрута: RoutePoints “RoutePoints” - одна точка погрузки (“Type”:“Loading”) и одна точка выгрузки и время (“Type”:”Unloading”), адреса этих точек (“Address”), и периоды загрузки/выгрузки - время прибытия на эти точки (“ArrivalTime”) и максимальное время отправления из этих точек (“LeaveTime”)
- данные заказчика : Customer - идентификаторы, полученные в прошлом пунктеперевозки: “Customer”, параметры “CompanyId” и “ContactId”, равные значениям идентификаторов, полученных в пункте 4 настоящей инструкции
- Более подробная информация по передаваемым параметрам и требованиям к ним, отображена в Описании к модели даннымданных:
- В результате работы метода создания, получаем http-код ответа 200 и идентификатор нового запросаЗапроса на перевозку в теле ответа:
- Новый запрос можно проверитьСозданный нами Запрос на перевозку можно увидеть:
- в интерфейсе
подставив в url адрес httpsпользовательском интерфейсе, указав в браузере url адрес https://testdev2.logistpro.su/Tender/Details/<id>, где <id> - полученный идентификатор запросачерез API
Запроса, и при необходимости авторизовавшись пользователем ext.customer.1@logistpro.su - или через API, вызвав метод GET /api/v1/tender/{id}, подставив полученный идентификатор запроса в поле id где {id} - полученный идентификатор Запроса
В полученном ответе , будут все необходимые данные запросаЗапроса на перевозку, включая текущий статус торгов, полученные предложения и т.п.
- в интерфейсе