"Авторизация командировок через API"(ModExternalAuth)

Позволяет отправлять командировки на авторизацию во внешнюю систему при помощи технологии callbacks, а также предоставляет внешней системе возможность авторизовать или отклонить командировку при помощи обращения к методу API. Существует настройка, позволяющая автоматом оформить услуги по факту авторизации из внешней системы.

ВНИМАНИЕ! Представленный МОД не работает совместно с МОДом "Авторизация командировок" (ModComplexAuth)

Кому будет полезен этот МОД

Это клиентский МОД. Он доступен для подключения и использования только клиентам.

Он будет полезен клиентам, желающим отправлять командировки на авторизацию при помощи Callback. а так же проводить авторизацию командировок при помощи метода API

Подключение МОДа

Для подключения МОДа необходимо перейти в раздел “Marketplace”

 

Настройка МОДа

После подключения МОДа, переход к его настройке может быть осуществлен как через окно МОДа в разделе Marketplace

Так и через пункт “Внешняя авторизация” в выпадающем списке “Расширения”

 

После перехода к настройке МОДа. будут доступны следующие параметры:

 

  • Использовать авторизацию - указание условия, при котором будет использована внешняя авторизация.

  • Автоматически оформить услугу после авторизации - применение правила автоматического оформления, после успешной авторизации.

  • Текст кнопки 'Отправить на авторизацию'/Текст кнопки 'Отправить на авторизацию' на английском - указание текста выводимого на “Кнопке” в командировке на соответствующем языке.

  • Текст сообщения об успешной авторизации/Текст сообщения об успешной авторизации на английском - Указание текста, выводимого при успешной авторизации на соответствующем языке.

 

Настройка Callbacks

Данное callback-сообщение отправляется по адресу, указанному в настройках, в том случае, если командировка была отправлена на авторизацию во внешнюю систему.

Возможно использование SOAP или REST приемника для сообщения, в первом случае в теле сообщения необходимо указать всю структуру SOAP-объекта, например, Envelope, Body и так далее. Рекомендуется отправить тестовое сообщение к своему сервису при помощи SOAP UI и получить полный набор заголовков и структуру сообщения.

Допустимые переменные (можно использовать их в Body):

  • @OuterId - уникальный идентификатор заказа во внешней системе

  • @id_ComplexReserve - идентификатор командировки в системе Corteos

  • @Hash - токен, используемый в вызове метода авторизации заказа.

 

Пример

Работа с МОДом

После подключения и корректной настройки МОДа, в окно командировки будет добавлена “кнопка” “Отправить на авторизацию” (Название кнопки зависит от указанного в настройках МОДа)

При нажатии на нее, командировка будет отправлена на авторизацию во внешнюю систему:

Пример успешного прохождения авторизации

Командировка 763281 отправлена на внешнюю авторизацию:

 

В Payload поступят следующие данные:

 

  • <Id>763281</id>  - номер командировки проходящей авторизацию

  • <hash>eeb3a68b0df3edb38de3f4df025f8b96</hash> - код для безопасного доступа к командировке через API для авторизации.

 

Метод API для работы с авторизацией командировки:

YourDomain/PortableViews/ModExternalAuthViews/XmlGate/ExternalAuth.asmx?op=Authorize

 

 

Для авторизации командировки необходимо передать

  • <Id></id>  - номер командировки проходящей авторизацию

  • <hash></hash> -код для безопасного доступа к командировке через API для авторизации

  • <cor:authorize>1</cor:authorize> где “1” подтверждение авторизации

 

Пример подтверждения:

Ответ;

Командировка успешно прошла авторизацию.

 

Пример

 

Пример отказа в авторизации:

Командировка 763282 отправлена на внешнюю авторизацию:

 

В Payload поступят следующие данные:

 

  • <Id>763282</id>  - номер командировки проходящей авторизацию

  • <hash>84b58f3275ec0c85b758ef92c1c5fced</hash> - код для безопасного доступа к командировке через API для авторизации.

 

Метод API для работы с авторизацией командировки:

YourDomain/PortableViews/ModExternalAuthViews/XmlGate/ExternalAuth.asmx?op=Authorize

 

Для авторизации командировки необходимо передать

  • <Id></id>  - номер командировки проходящей авторизацию

  • <hash></hash> -код для безопасного доступа к командировке через API для авторизации

  • <cor:authorize>0</cor:authorize> где “0” отказ в авторизации

 

Пример отказа:

 

Ответ;

Командировка не прошла авторизацию.

Пример ошибки при проведении авторизации: