JSON-запрос

Установите ActiveTag чтобы распознавать активные теги повсюду



+ Плагины для сайтов

Плагины для сайтов чтобы показывать активные теги

Предыдущее: формат общения.

Входящий на бекенд запрос имеет строгую форму, описанную в этой json-схеме. Посмотрим на нее...

Обязательные поля запроса

  • $schema (string) - версия JSON-схемы
    Платформа AcitveTag постоянно развивается и ссылка на версию не даст бекенду запутаться, что какое поле значит.
  • client (object) - информация о клиенте (тип, версия)
    "Клиент" - это программное обеспечение, которым пользуется конечный потребитель. И в данном поле может находиться объект, содержащий поля name и version, описывающие текущего клиента.

    Эта информация может быть полезна в сложных диалогах или в особенных ситуациях, ведь характеристики и возможности клиентов отличаются. Браузерный плагин, например, может указывать на использование потребителем ноутбука или стационарного компьютера, тогда как клиент "мобильное приложение" - указывает на обратное.
  • activetag (string) - активный тег
    Пожалуй, самая важная информация в запросе. Из этого поля бекенд узнает, с каким тегом сейчас взаимодействует потребитель и выбирает правильную ветку диалога с ним (см. семантику тега).
  • userID (int) - идентификатор пользователя
    Это уникальный идентификатор пользователя. Значение его бессмысленно, но уникальность позволит узнавать "старого друга".

    Платформа не гарантирует стабильность этого значения. У потребителя есть технические возможности для удаления присвоенного userID, что приведет к присвоению нового. Например, чтобы обновить userID в клиенте "плагин для браузера" потребитель может стереть cookies в своем браузере.

Дополнительные поля запроса

  • language (string) - язык клиента
    По содержимому этого поля можно сделать предположение о предпочитаемом языке общения с потребителем.
  • context (object) - контекст запроса
    Некоторые клиенты способны "оглядеться" и сообщить подробности. Например, плагин для сайта или плагин для браузера сообщают httpReferer - с какой веб-страницы потребитель перешел на текущую, где вступил в диалог с активным тегом. Они же передают и httpUserAgent, содержащий информацию о браузере пользователя.

    В некоторых случаях эта информация может помочь как в продажах, так и в сборе статистики о потребителях.
  • additionalData (object) - контейнер для передачи дополнительных данных
    Иногда для ведения диалога бекенду неудобно или недостаточно опираться только на userID. С каждым ответом бекенд может передавать дополнительные произвольные, чтобы при очередном запросе получить их обратно.

    Так бекенд может присваивать собственные идентификаторы клиентам и сессиям, передавать электронные ключи, хранить детали текущего диалога и другие полезные данные.
  • paid (string) - сумма прошедшего платежа
    При подключении приема платежей через Платформу ActiveTag, в этом поле передается сумма, полученная от потребителя.
  • fields (object) - заполненные поля формы
    Если в предыдущем ответе бекенд предлагал потребителю заполнить какую-то форму, в этом поле будет содержаться ответ потребителя. В формате key => value для каждого поля формы; где key - имя поля формы, value - ответ потребителя.

Далее: json-ответ...