Прежде всего для работы с API требуется пройти авторизацию (получить токен).
Для получения токена используется сервис Authorization.asmx
WSDL можно скачать с демо-сайта: https://stage1.corteos.ru/XmlGate/V3/Authorization.asmx?WSDL
Для работы в продуктовой среде необходимо заменить “http://stage1.corteos.ru” на свой домен (на котором работают пользователи вашей компании).
Метод получения токена Login: https://stage1.corteos.ru/XmlGate/V3/Authorization.asmx?op=Login
Пример запроса
Для генерации токена передаются следующие поля:
Email - адрес электронной почты пользователя;
Password - пароль пользователя;
validityDate - дата и время действия токена; если время не указано, то оно автоматически считается как 00:00:00.
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:cor="http://corteos.ru"> <soapenv:Header/> <soapenv:Body> <cor:Login> <!--Optional:--> <cor:Email>user@domain.ru</cor:Email> <!--Optional:--> <cor:Password>secretpassword</cor:Password> <cor:validityDate>2019-08-31</cor:validityDate> </cor:Login> </soapenv:Body> </soapenv:Envelope>
Пример ответа
DateCreate - дата и время получения запроса;
TokenValue - значение токена, самое важное поле ответа, которое будет использовано в других запросах - GUID;
DateValid - дата и время действия токена.
<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> <LoginResponse xmlns="http://corteos.ru"> <LoginResult> <AuthToken deleted="false"> <DateCreate>2019-08-30T19:34:33.883384+03:00</DateCreate> <DateChanged>2019-08-30T19:34:33.883384+03:00</DateChanged> <TokenValue>549d1529-****-****-b3cb-bbb3d0501ebf</TokenValue> <DateValid>2019-08-31T00:00:00</DateValid> </AuthToken> </LoginResult> </LoginResponse> </soap:Body> </soap:Envelope>
Пример ошибки
<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> <soap:Fault> <faultcode>soap:Server</faultcode> <faultstring>System.Web.Services.Protocols.SoapException: Серверу не удалось обработать запрос. ---> JavelinBL2.Exceptions.AuthorizationException: Неверно указан адрес электронной почты или пароль для пользователя user@domain.ru. в JavelinBL2.ControllerContainer.TryAuth(String Email, String Password, SessionParameters seance) в C:\Jenkins\workspace\javelinprojectv3\JavelinBL2\ControllerContainer.cs:строка 374 в JavelinView3.XmlGate.V3.Authorization.Login(String Email, String Password, DateTime validityDate) в C:\Jenkins\workspace\javelinprojectv3\JavelinView3\XmlGate\V3\Authorization.asmx.cs:строка 29 --- Конец трассировки внутреннего стека исключений ---</faultstring> <detail/> </soap:Fault> </soap:Body> </soap:Envelope>
После получения клиентского токена клиент может работать со статикой при помощи CRUD или Orchestrated API, а также работать с заказами при помощи API для клиентов.
____