Позволяет отправлять командировки на авторизацию во внешнюю систему при помощи технологии callbacks, а также предоставляет внешней системе возможность авторизовать или отклонить командировку при помощи обращения к методу API. Существует настройка, позволяющая автоматом оформить услуги по факту авторизации из внешней системы.
ВНИМАНИЕ! Представленный МОД не работает совместно с МОДом "Авторизация командировок" (ModComplexAuth)
Кому будет полезен этот МОД
Это клиентский МОД. Он доступен для подключения и использования только клиентам.
Он будет полезен клиентам, желающим отправлять командировки на авторизацию при помощи Callback. а так же проводить авторизацию командировок при помощи метода API
Подключение МОДа
Для подключения МОДа необходимо перейти в раздел “Marketplace”
Настройка МОДа
После подключения МОДа, переход к его настройке может быть осуществлен как через окно МОДа в разделе Marketplace
Так и через пункт “Внешняя авторизация” в выпадающем списке “Расширения”
После перехода к настройке МОДа. будут доступны следующие параметры:
Использовать авторизацию - указание условия, при котором будет использована внешняя авторизация.
Автоматически оформить услугу после авторизации - применение правила автоматического оформления, после успешной авторизации.
Текст кнопки 'Отправить на авторизацию'/Текст кнопки 'Отправить на авторизацию' на английском - указание текста выводимого на “Кнопке” в командировке на соответствующем языке.
Текст сообщения об успешной авторизации/Текст сообщения об успешной авторизации на английском - Указание текста, выводимого при успешной авторизации на соответствующем языке.
Настройка Callbacks
Данное callback-сообщение отправляется по адресу, указанному в настройках, в том случае, если командировка была отправлена на авторизацию во внешнюю систему.
Возможно использование SOAP или REST приемника для сообщения, в первом случае в теле сообщения необходимо указать всю структуру SOAP-объекта, например, Envelope, Body и так далее. Рекомендуется отправить тестовое сообщение к своему сервису при помощи SOAP UI и получить полный набор заголовков и структуру сообщения.
Допустимые переменные (можно использовать их в Body):
@OuterId - уникальный идентификатор заказа во внешней системе
@id_ComplexReserve - идентификатор командировки в системе Corteos
@Hash - токен, используемый в вызове метода авторизации заказа.
Пример
Работа с МОДом
После подключения и корректной настройки МОДа, в окно командировки будет добавлена “кнопка” “Отправить на авторизацию” (Название кнопки зависит от указанного в настройках МОДа)
При нажатии на нее, командировка будет отправлена на авторизацию во внешнюю систему:
Пример успешного прохождения авторизации
В Payload поступят следующие данные:
<Id>763279</id> - номер командировки проходящей авторизацию
<hash>f664f71d161cf53796e2e65cf736559c</hash> - код для безопасного доступа к командировке через API для авторизации.
Метод API для работы с авторизацией командировки:
YourDomain/PortableViews/ModExternalAuthViews/XmlGate/ExternalAuth.asmx?op=Authorize
ПРИМЕР:
<wsdl:definitions xmlns:s="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:tns="http://corteos.ru/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" targetNamespace="http://corteos.ru/"> <wsdl:types><s:schema elementFormDefault="qualified" targetNamespace="http://corteos.ru/"><s:element name="Authorize"><s:complexType><s:sequence><s:element minOccurs="1" maxOccurs="1" name="id_ComplexReserve" type="s:int"/><s:element minOccurs="1" maxOccurs="1" name="authorize" type="s:boolean"/><s:element minOccurs="0" maxOccurs="1" name="hash" type="s:string"/></s:sequence></s:complexType></s:element><s:element name="AuthorizeResponse"><s:complexType><s:sequence><s:element minOccurs="0" maxOccurs="1" name="AuthorizeResult" type="s:string"/></s:sequence></s:complexType></s:element></s:schema></wsdl:types> <wsdl:message name="AuthorizeSoapIn"><wsdl:part name="parameters" element="tns:Authorize"/></wsdl:message> <wsdl:message name="AuthorizeSoapOut"><wsdl:part name="parameters" element="tns:AuthorizeResponse"/></wsdl:message> <wsdl:portType name="ExternalAuthSoap"><wsdl:operation name="Authorize"><wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">В данный метод передается номер командировки и хэш, после чего она авторизуется</wsdl:documentation><wsdl:input message="tns:AuthorizeSoapIn"/><wsdl:output message="tns:AuthorizeSoapOut"/></wsdl:operation></wsdl:portType> <wsdl:binding name="ExternalAuthSoap" type="tns:ExternalAuthSoap"><soap:binding transport="http://schemas.xmlsoap.org/soap/http"/><wsdl:operation name="Authorize"><soap:operation soapAction="http://corteos.ru/Authorize" style="document"/><wsdl:input><soap:body use="literal"/></wsdl:input><wsdl:output><soap:body use="literal"/></wsdl:output></wsdl:operation></wsdl:binding> <wsdl:binding name="ExternalAuthSoap12" type="tns:ExternalAuthSoap"><soap12:binding transport="http://schemas.xmlsoap.org/soap/http"/><wsdl:operation name="Authorize"><soap12:operation soapAction="http://corteos.ru/Authorize" style="document"/><wsdl:input><soap12:body use="literal"/></wsdl:input><wsdl:output><soap12:body use="literal"/></wsdl:output></wsdl:operation></wsdl:binding> <wsdl:service name="ExternalAuth"><wsdl:port name="ExternalAuthSoap" binding="tns:ExternalAuthSoap"><soap:address location="https://jv3.corteos.ru/PortableViews/ModExternalAuthViews/XmlGate/ExternalAuth.asmx"/></wsdl:port><wsdl:port name="ExternalAuthSoap12" binding="tns:ExternalAuthSoap12"><soap12:address location="https://jv3.corteos.ru/PortableViews/ModExternalAuthViews/XmlGate/ExternalAuth.asmx"/></wsdl:port></wsdl:service> </wsdl:definitions>
Запрос
ВНИМАНИЕ! До прохождения авторизации все действия кроме отмены командировки будут недоступны.
Прервать процесс можно только из внешней системы при помощи вызова метода API внешней авторизации:
YourDomain/PortableViews/ModExternalAuthViews/XmlGate/ExternalAuth.asmx?op=Authorize