Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 15 Next »

Позволяет отправлять командировки на авторизацию во внешнюю систему при помощи технологии 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

  • No labels