а) перейти на страницу веб-сервиса https://ed.major-express.ru/edclients2.asmx?wsdl, г) сохранить страницу как… (Ctrl+S):1. Получение файла WSDL
б) указать данные своей учетной записи:
а) во вкладке Collections вашего Workspace нажать на Import: б) в открывшемся окне выбрать “Select Files”: в) загрузить скачанный WSDL-файл: г) нажать “Import”: д) коллекция добавлена:2. Добавление сервиса в коллекцию Postman
а) в корне коллекции перейти во вкладку “Authorization (Авторизация)“, В результате будет сформирована строка “username:password”, закодированная в base64 и будет передаваться в header всех запросов этой коллекции, если внутри метода указать в параметрах авторизации “Inherit auth from parent” (наследовать от родительского элемента). Аналогичным образом можно задавать данные для авторизации в каждом методе отдельно, выбирая “Basic Auth“ вместо “Inherit auth from parent” и передавая данные пользователя в соответствующие поля:3. Настройка авторизации
б) в комбо-боксе выбрать тип авторизации “Basic Auth”,
в) в поля Username и Password ввести данные своей учетной записи клиента Major Express,
г) нажать “Save”.
Примеры запросов для базовых методов:
Postman
Запрос в виде HTTP-request
POST /edclients2.asmx HTTP/1.1
Host: ed.major-express.ru
Content-Type: text/xml; charset=utf-8
SOAPAction: http://ltl-ws.major-express.ru/edclients/dict_Cities
Authorization: Basic eW91cjpjcmVkZW50aWFscw==
Content-Length: 225
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<dict_Cities xmlns="http://ltl-ws.major-express.ru/edclients/"/>
</soap:Body>
</soap:Envelope>
Запрос в виде cURL
curl -L 'https://ed.major-express.ru/edclients2.asmx' -H 'Content-Type: text/xml; charset=utf-8' -H 'SOAPAction: http://ltl-ws.major-express.ru/edclients/dict_Cities' -H 'Authorization: Basic eW91cjpjcmVkZW50aWFscw==' -d '<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<dict_Cities xmlns="http://ltl-ws.major-express.ru/edclients/"/>
</soap:Body>
</soap:Envelope>
Аналогичным образом совершаются запросы к методам dict_Cities2 и dict_Cities3 предоставляющим расширенную информацию по справочнику городов Мэйджор-Экспресс.
2. Создание заказа на вызов водителя-экспедитора на адрес отправления
Postman
Запрос в виде HTTP-request
POST /edclients2.asmx HTTP/1.1
Host: ed.major-express.ru
Content-Type: text/xml; charset=utf-8
SOAPAction: http://ltl-ws.major-express.ru/edclients/CreateOrder
Authorization: Basic eW91cjpjcmVkZW50aWFscw==
Content-Length: 1560
<?xml version="1.0"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body>
<CreateOrder xmlns="http://ltl-ws.major-express.ru/edclients/">
<RequestID>84b5aee6-fd6e-4b12-8a4e-0f2157bed31d</RequestID>
<CargoTakenDate>2024-03-01</CargoTakenDate>
<OrderIntervalID>3</OrderIntervalID>
<Shipper>
<Person>Имя отправителя</Person>
<Phone>Телефон отправителя</Phone>
<Company>Компания отправителя</Company>
<Address>Адрес Отправителя</Address>
<CityCode>129</CityCode>
</Shipper>
<Consignee>
<Person>Имя получателя</Person>
<Phone>Телефон получателя</Phone>
<Company>Компания получателя</Company>
<Address>Ул. Добролюбова, 2с1</Address>
<CityCode>129</CityCode>
</Consignee>
<Weight>0.2</Weight>
<Package>3</Package>
<Cost>3000</Cost>
<Size>
<Length>20</Length>
<Width>10</Width>
<Height>10</Height>
</Size>
<Description>Тест</Description>
<Remarks>ТесТ</Remarks>
<IsOrderUrgent>0</IsOrderUrgent>
<CostCenter xsi:nil="true" />
<IsWBRequired>1</IsWBRequired>
</CreateOrder>
</soap:Body>
</soap:Envelope>
Запрос в виде cURL
curl -L 'https://ed.major-express.ru/edclients2.asmx' -H 'Content-Type: text/xml; charset=utf-8' -H 'SOAPAction: http://ltl-ws.major-express.ru/edclients/CreateOrder' -H 'Authorization: Basic eW91cjpjcmVkZW50aWFscw==' -d '<?xml version="1.0"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body>
<CreateOrder xmlns="http://ltl-ws.major-express.ru/edclients/">
<RequestID>84b5aee6-fd6e-4b12-8a4e-0f2157bed31d</RequestID>
<CargoTakenDate>2024-03-01</CargoTakenDate>
<OrderIntervalID>3</OrderIntervalID>
<Shipper>
<Person>Имя отправителя</Person>
<Phone>Телефон отправителя</Phone>
<Company>Компания отправителя</Company>
<Address>Адрес Отправитпеля</Address>
<CityCode>129</CityCode>
</Shipper>
<Consignee>
<Person>Имя получателя</Person>
<Phone>Телефон получателя</Phone>
<Company>Компания получателя</Company>
<Address>Ул. Добролюбова, 2с1</Address>
<CityCode>129</CityCode>
</Consignee>
<Weight>0.2</Weight>
<Package>3</Package>
<Cost>3000</Cost>
<Size>
<Length>20</Length>
<Width>10</Width>
<Height>10</Height>
</Size>
<Description>Тест</Description>
<Remarks>ТесТ</Remarks>
<IsOrderUrgent>0</IsOrderUrgent>
<CostCenter xsi:nil="true" />
<IsWBRequired>1</IsWBRequired>
</CreateOrder>
</soap:Body>
</soap:Envelope>
Обратите внимание на параметр CostCenter. Если для клиента установлены центры затрат, то передача данных в нем является обязательной. Иначе в параметр следует передать значение null следующим образом:
<CostCenter xsi:nil="true" />
Убедитесь, что в элементе Envelope содержится строка, описывающая составной элемент xsi:
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
Postman
Запрос в виде HTTP-request
POST /edclients2.asmx HTTP/1.1
Host: ed.major-express.ru
Content-Type: text/xml; charset=utf-8
SOAPAction: http://ltl-ws.major-express.ru/edclients/CreateWaybill
Authorization: Basic eW91cjpjcmVkZW50aWFscw==
Content-Length: 1380
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body>
<CreateWaybill xmlns="http://ltl-ws.major-express.ru/edclients/">
<RequestID>02f0f154-3b14-45da-bca1-4430822fc7ee</RequestID>
<ClientInfo>110243</ClientInfo>
<Shipper>
<Person>ФИО Отправителя</Person>
<Phone>Телефон Отправителя</Phone>
<Company>Имя Компании Отправитпеля</Company>
<Address>Адрес Отправителя</Address>
<PostIndex>111111</PostIndex>
<CityCode>129</CityCode>
</Shipper>
<Consignee>
<Person>ФИО Получателя</Person>
<Phone>Телефон Получателя</Phone>
<Company>Имя Компании Получателя</Company>
<Address>Адрес Получателя</Address>
<PostIndex>109444</PostIndex>
<CityCode>129</CityCode>
</Consignee>
<Weight>1</Weight>
<Package>1</Package>
<Cost>3000</Cost>
<Size>
<Length>10</Length>
<Width>20</Width>
<Height>30</Height>
</Size>
<Description>Описание</Description>
<CostCenter xsi:nil="true" />
<DeliveryCondition>None</DeliveryCondition>
<DeliveryComment>test</DeliveryComment>
</CreateWaybill>
</soap:Body>
</soap:Envelope>
Запрос в виде cURL
curl -L 'https://ed.major-express.ru/edclients2.asmx' -H 'Content-Type: text/xml; charset=utf-8' -H 'SOAPAction: http://ltl-ws.major-express.ru/edclients/CreateWaybill' -H 'Authorization: Basic eW91cjpjcmVkZW50aWFscw==' -d '<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body>
<CreateWaybill xmlns="http://ltl-ws.major-express.ru/edclients/">
<RequestID>02f0f154-3b14-45da-bca1-4430822fc7ee</RequestID>
<ClientInfo>110243</ClientInfo>
<Shipper>
<Person>ФИО Отправителя</Person>
<Phone>Телефон Отправителя</Phone>
<Company>Имя Компании Отправитпеля</Company>
<Address>Адрес Отправителя</Address>
<PostIndex>111111</PostIndex>
<CityCode>129</CityCode>
</Shipper>
<Consignee>
<Person>ФИО Получателя</Person>
<Phone>Телефон Получателя</Phone>
<Company>Имя Компании Получателя</Company>
<Address>Адрес Получателя</Address>
<PostIndex>109444</PostIndex>
<CityCode>129</CityCode>
</Consignee>
<Weight>1</Weight>
<Package>1</Package>
<Cost>3000</Cost>
<Size>
<Length>10</Length>
<Width>20</Width>
<Height>30</Height>
</Size>
<Description>Описание</Description>
<CostCenter xsi:nil="true" />
<DeliveryCondition>None</DeliveryCondition>
<DeliveryComment>test</DeliveryComment>
</CreateWaybill>
</soap:Body>
</soap:Envelope>