Введение
Руководство пользователя
Использование Панели управления
Туториалы
Получение данных из других сервисов
Построение истории отдельного пользователя
Классические модели атрибуции
Вероятностное прохождение воронки
Атрибуция по индексу активности
Воронки
X
Выберите раздел

Получение HTTP запросов: webhook / postback

Это обычные HTTP запросы от сервера к серверу. В некоторых сервисах может называться HTTP нотификацией, как в случае с CoMagic. Поддерживаются повсеместно:

  • CRM системы: AmoCRM, PipeDrive...
  • Коллтрекинги: CoMagic, CallTouch...
  • CPA-трекеры: Affise, HasOffers...
  • Мобильные трекеры: Yandex Metrika, AppsFlyer...
  • И множество других

Endpoint

POST https://yourdomain/<service>/<event_name>/<project_id>
GET  https://yourdomain/<service>/<event_name>/<project_id>?param=values&...

или без id проекта (будет записан 0)

POST https://yourdomain/<service>/<event_name>

часть значений могут быть переданы GET параметрами, в т.ч. имя события и id проекта

GET  https://yourdomain/<service>/<event_name>?param=values&...
GET  https://yourdomain/<service>/<event_name>?projectId=<project_id>&...
GET  https://yourdomain/<service>?name=<event_name>&projectId=<project_id>&...

даже при POST запросе

POST https://yourdomain/<service>?name=<event_name>&projectId=<project_id> <<< {data: "mydaa"}

Формат входящих данных

  • GET запросы
  • POST с данными в JSON или URLEncoded
  • Одновременно можно и POST и параметры url

Пример с использованием Curl

Обычный GET запрос

$ curl https://test.rstat.org/calltrack/call/99?param=myparamvalue
{"key":"in.gen.calltrack.call","id":"6462462774336290816"}

Значения name и projectId можно передать GET параметрами

$ curl https://test.rstat.org/calltrack?name=call
{"key":"in.gen.calltrack.call","id":"6462463595723620353"}

POST запрос с передачей данных в виде JSON

$ curl -X POST -H "Content-Type: application/json" https://yourdomain/calltrack/call \\
    -d '{"key1":"value1", "key2":"value2"}'
{"key":"in.gen.calltrack.call","id":"6462462774336290816"}

POST запрос с передачей данных в виде urlencoded

$ curl -X POST -H "Content-Type: application/x-www-form-urlencoded" https://yourdomain/calltrack/call \\
    -d "param1=value1&param2=value26"
{"key":"in.gen.calltrack.call","id":"6462462774336290816"}

В сервисы попадет сообщение

{ 
  "key": "in.gen.calltrack.call", 
  "channel": "http", 
  "service": "calltrack", 
  "name": "call", 
  "projectId": 0, 
  "uid": "6462464730849083392", 
  "td": { "ip": "109.252.93.158", "ua": "curl/7.60.0" }, 
  "data": { 
    "param1": "value1", 
    "param2": "value26" 
  }, 
  "id": "6462464730849083393", 
  "time": 1540771658623 
}