Авторизация (получение токена)
Прежде всего для работы с API требуется пройти авторизацию (получить токен).
Для получения токена используется сервис Authorization.asmx
WSDL можно скачать с демо-сайта: https://stage1.corteos.ru/XmlGate/V3/Authorization.asmx?WSDL
Для работы в продуктовой среде необходимо заменить “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 для клиентов.
Агент может только работать с заказами, а для работы со статикой (персоны, коды и так далее) клиента ему необходимо войти в один из договоров при помощи механизма получения клиентского контекста.
____