ModYandexTaxi - интеграция с b2b go с использованием API 2.0

Общие положения

Для использования API 2.0 в Corteos Platform необходимо создать отдельный личный кабинет в b2b go, который будет использоваться строго для API, использование общего кабинета вашей компании, который используется для оффлайн заказов, невозможно. Для каждого клиента должен быть заведен отдельный кабинет в GO, единый кабинет(например, из-под доступа агента) для нескольких различных компаний недопустим.

Документация по API: https://taxi__business-api.docs-viewer.yandex.ru/ru/concepts/request-index-api20

 

Настройки стороны агентства

Агентство не видит заказы Go и не обрабатывает их, поэтому настроек со стороны агента нет: услуги к договору подключать не нужно, для активации возможности использования такси нужно просто активировать мод под тревел менеджером клиента.

Настройка личного кабинета b2b go

Существует две настройки, которые необходимо сделать в b2b go для корректной работы с Кортеос, одну из них должен выполнить ваш менеджер на стороне go, а другую вы сами. Важный момент, что без этих настроек система не будет работать корректно, вы должны сделать это до того, как начнете совершать заказы через Кортеос(и до подключения мода).

Что должен настроить менеджер в Go?

Название компании в личном кабинете администратора Go будет использовано в качестве формы оплаты, это системное ограничение на стороне Go и его нельзя поменять. Поэтому нужно настроить название компании, в которой будут создаваться командировки так, чтобы было понятно, что это именно командировки. Например, в нашем демо примере доступ называется Тест-API и это же пользователь увидит у себя в приложении, вот так:

 

 

Мы рекомендуем назвать личный кабинет в b2b go в следующем формате: Командировки “Название Компании”, например, если ваша компания называется ООО “Кортеос”, то оптимальное название - Командировки ООО “Кортеос”. Также допустимо название ООО “Кортеос” командировки, но следует учитывать, что если вы также используете такси не в командировках, пользователю должно быть удобно выбрать нужный способ оплаты в приложении, поэтому мы и рекомендуем начинать его название со слова “Командировка”.

Данную настройку должен сделать ваш менеджер на стороне Go, пожалуйста, проверьте корректность наименования вашего личного кабинета и свяжитесь с менеджером при необходимости.

Что должен сделать Тревел Менеджер в личном кабинете Go?

Необходимо иметь кост-центр на стороне Go, который будет называться “номер заказа” - именно так и никак иначе, маленькими буквами.

Для этого в разделе “Сотрудники и доступы” - “Центры затрат” мы должны переименовать центр затрат по умолчанию:

Также обратите внимание на настройки дополнительных параметров:

  1. Способ отображения - скрытый(надо нажать на глаз, он должен быть перечеркнут)

  2. Название - номер заказа

  3. Сотруднику нужно заполнять обязательно - галочка снята

  4. Выбран тип услуги “такси”

  5. Тип поля - свободный ввод

Пример корректного заполнения ниже:

Внесение 1000 рублей

Важный момент, что b2b go требует первоначально пополнить счет хотя бы на 1000 рублей для начала работы, без выполнения этого действия перед началом работы лимиты и пользователи будут создаваться, Кортеос будет корректно работать с backend b2b go и не получать ошибок, при этом пользователи не будут получать лимит у себя в приложении.

Кроме того, надо учитывать, что при отсутствии средств на балансе предоплатного аккаунта могут происходить те же самые проблемы у пользователей, в связи с чем мы рекомендуем работать с go на постаплате или внимательно следить за состоянием баланса.

Настройка личного кабинета Сorteos

Для настройки прежде всего необходимо зайти в личный кабинет b2b go и получить OAuth token:

 

Далее необходимо скопировать значение токена, которое будет использовано в настройках мода:

 

Данный токен вносится в систему из-под аккаунта тревел менеджера в разделе “B2B GO: настройки сервиса” в меню “Расширения” - доступен после активации мода Яндекс.Такси

И далее указываем значение в поле административного интерфейса:

 

Кроме того, нам нужен будет идентификатор клиента, который можно взять также в ЛК b2b go:

Его тоже переносим в тот же административный интерфейс Corteos:

Полезные замечания для администратора

Привязка лимитов

К пользователю всегда должен быть привязан персональный лимит в такси:

При этом идентификатор лимита совпадает с идентификатором персоны в Corteos, посмотреть её можно в редакторе персон:

Настройки системы

Настройки системы доступны в разделе “B2B: настройки сервиса” в разделе “Расширения”.

В этом разделе присутствуют следующие настройки:

 

Разберем их более детально:

Пошаговое описание бизнес-процесса

Бронирование услуги b2b go похоже на заказ любой другой услуги и работает с модами, меняющими бизнес-процесс тем или иным образом(например, как контейнер командировки или согласование).

Для перехода к началу процесса необходимо выбрать услугу из меню “Бронирование”

После этого пользователь попадает на стартовую форму, где он выбирает:

  • дату начала предоставления лимита(считается с 00:00 по Москве, поэтому следует самостоятельно учитывать отклонения по часовым поясам, например, брать дату с запасом на сутки)

  • дату окончания предоставления лимита(до 23:59 по Москве)

  • общую сумму лимита, которую можно будет потратить в командировках

В будущем планируется реализовать политику по ограничению классов перевозки на основании структурного или структурного-меняемого кода пассажира, это произойдет после пилотирования мода.

 

 

Нажимая кнопку “Перейти к созданию заказа”, мы попадаем на страницу с выбором участников поездки:

Для создания заказа необходимы следующие данные по пассажиру:

  1. мобильный телефон(тот, который используется пассажиром в его личном приложении Яндекс.Go)

  2. электронная почта - нужна для отправки инструкции об использовании предоставленного лимита пассажиру

Если мы добавляем нескольких пассажиров на этом шаге, то на каждого из них создастся отдельный заказ с одинаковым лимитом на такси, поэтому если нам нужно дать разные лимиты разным участником, нужно провести процесс заказа несколько раз. Это же касается и разных дат лимитов для участников командировки.

В деталях командировки лимит будет выглядеть таким образом:

Так как данная услуга не привязана к агентству, а только к корпоративному клиенту, то чат заказа недоступен, а также ваш агент не увидит этот заказ в своих очередях на обработку.

При создании заказа его стоимостью будет величина лимита, при совершении поездок стоимость станет суммой всех отъезженных заказов.

В день активации лимита пользователю приходит уведомление на почту следующего вида:

После чего для него открывается возможность оплаты за счет компании в приложении Яндекс.Go:

По факту совершения заказов, они будут в указанной в настройках частотой синхронизации обновляться в деталях заказа:

При использовании мода "Настраиваемые командировочные документы" (ModTripDocuments) поездки такси также будут попадать в таблицу TransportTable, при этом одной поездке на такси будет соответствовать одна запись в таблице транспортных услуг.

После завершения действия лимита, в деталях заказа будет такой вид информации о лимите:

 

Дополнительные возможности управления заказом

Принудительная синхронизации

Обновляет список поездок и остаток по лимиту. Следует использовать в том случае, если автоматический таймер по каким-то причинам не сработал, а нам нужно актуализировать заказ в b2b go:

Остановить предоставление лимита

Данная кнопка блокирует лимит в приложении у пользователя, однако заказ все так же остается в статусе “выполнен” и его цена будет складываться из суммы отъезженных услуг.

Взаимодействие с модом согласования командировок

Заказ b2b go добавляется в письмо на согласование командировку в таком виде:

 

Настройка разрешенных тарифов для пассажиров.

В том случае, если нужно настроить определенные категории машин для сотрудников компании, следует создать структурный код со следующим специальным поведением:

 

В b2b go поддерживаются следующие классы тарифов:

Получение списка лимитов клиента |

"child_tariff",
"cargo",
"business", – на самом деле так называется Комфорт
"courier",
"express",
"premium_van",
"comfortplus",
"ultimate",
"minivan",
"vip", - на самом деле так называется Бизнес
"maybach",
"econom"

Соответственно, в качестве значения кода следует передавать коды из справочника Яндекс Go, разделенные запятыми, примеры:

  • all - разрешить все классы бронирования

  • econom,business - разрешить эконом и комфорт

  • business,comfotplus,vip - комфорт, комфорт плюс и бизнес

  • econom - только эконом

Пусть в нашем примере коды выглядят так:

Далее мы привязываем в редакторе персон код к нужным персонам(можно также через импорт это сделать или через API):

Например, в данном примере мы привязываем к персоне доступный тариф - эконом класс, привязанный класс мы можем увидеть в деталях командировки в разделе “Коды”.

 

Далее мы оформляем командировку на эту персону и видим такую картину в приложении Яндекс Go после активации нашего лимита:

Как видно, нельзя заказать любой другой класс, кроме эконома, при оплате с корпоративного счета.

Установка разрешенных классов в момент создания заказа

Альтернативный режим работы - установка разрешенных классов в процессе создания заказа. Для того, чтобы этот функционал заработал, необходимо зайти в настройки сервиса b2b go и активировать следующий флаг:

 

После этого на стартовой форме появляется набор чекбоксов, которыми инициатор может отметить разрешенные пользователю классы. Если не выбран ни один класс тарифа, система не даст продолжить создание заказа и выдаст соответствующее уведомление об этом. Также реализовано автопроставление галочек у более низших классов. Например, пользователь проставил галочку у Бизнес, при этом автоматически проставились галочки у Эконом, Комфорт и Комфорт+. При этом сохранена возможность снять галочки у более низких классов руками.

Далее(при включенном флаге “Показывать выбор тарифа на стартовой форме”) эта информация будет доступна на:

  • пребукинге

  • на таймлайне командировки

  • в деталях заказа b2b go

  • в письме о состоянии лимита, которое получает пассажир по правилам отправки уведомлений.

Доступ к заказам GO для агентства

Иногда клиент может захотеть, чтобы агент также видел заказы, сделанные через сервис GO, для этого нужно:

  1. На стороне клиента в административном интерфейсе в явном виде указать, в какое агентство нужно передавать заказ

  2. На стороне агентства активировать услугу b2b go в договоре для данного клиента.
    Если все сделано верно, то Агент в списке Заказов сможет увидеть заказы B2B Go.
    Без активации этой опции в настройках мода данный тип заказа отображается только под доступами Клиента.