Как создать вебхук-ссылку для вашей системы
Если в списке готовых интеграций нет вашей системы, вы можете самостоятельно настроить передачу контактов и других данных о клиентах из вашей системы в Sendsay — без ручной загрузки файлов, с помощью специальной webhook-ссылки.
Вебхук-ссылка позволит сопоставить данные из JSON-файла с нужными полями анкет. В случае если вам необходимо передавать данные о событиях в рассылках, вы также можете делать это через вебхуки.
Этот способ передачи данных в Sendsay возможен, только если ваша система умеет отправлять вебхуки POST-запросом с передачей данных в JSON-файле.
Рассмотрим настройку передачи информации о клиентах на примере 4 основных полей — email-адреса, имени, фамилии и отчества клиента. Следуя инструкции, вы поймёте, как передавать в Sendsay другие поля:
-
Получите API-ключ, скопируйте его и сохраните в надёжном месте — в целях безопасности ключ отображается только один раз при генерации.
-
Определите, какие данные о клиентах вы хотите загружать в Sendsay. В Sendsay подписчики не могут существовать без email-адресов, поэтому email — необходимое поле для корректной работы передачи данных.
-
Теперь необходимо получить пример JSON-файла, который ваша система будет передавать в Sendsay. Для этого перейдите на webhook.site и скопируйте адрес вашей тестовой webhook-ссылки в поле Your Unique URL:
-
В своей внешней системе настройте отправку вебхука в формате POST-запроса с JSON-файлом — при срабатывании нужного события (например, при создании контакта, заявки или сделки). Затем вставьте скопированный на предыдущем шаге URL-адрес в поле адреса вебхука в вашей системе.
-
Инициируйте событие для передачи данных — например, создайте контакт, заявку или сделку.
-
Вернитесь на webhook.site. Если в вашей системе всё сработало корректно, то в левой части вы увидите запрос, а в разделе Raw Content — содержимое JSON-файла, который прислала ваша система:
Как видно, в нашем примере система передала email, имя, фамилию и отчество клиента в формате JSON.
-
При необходимости создайте нужные поля в анкете Sendsay — чтобы данные из JSON-файла передавались в эти поля.
Для создания вебхук-ссылки нам понадобятся коды тех полей, куда необходимо записывать данные, передаваемые из вашей системы. Посмотреть коды можно в разделе Подписчики → Анкет ы:
Например, для поля Имя отображается код
[% anketa.base.firstName %]
, гдеbase.firstName
— указывает на поле Имя в базовой анкете.Коды полей в нашем примере:
- Имя —
base.firstName
, - Фамилия —
base.lastName
, - Отчество —
base.middleName
, - Email-адрес —
member.email
, это поле хранится в системной анкете.
- Имя —
-
Определите коды передаваемых полей из вашей внешней системы. Для этого вернитесь к JSON-файлу, который вы получили на webhook.site. В нашем примере это:
{
"customer": {
"firstName": "Иван",
"lastName": "Петров",
"patronymic": "Сергеевич",
"email": "example@mail.ru"
}
}Здесь видим такую структуру данных:
customer → имя поля → значение
, в вашей системе структура может быть сложнее или проще. Выпишите коды всех значений из JSON файла. В нашем примере будет такой набор:customer.firstName
,customer.LastName
,customer.patronymic
,customer.email
.
Некоторые системы отправляют данные в виде объектов массива, каждый из которых содержит набор полей. Например:
{
"client": {
"custom_fields": [
{
"id": 29249,
"name": "Фамилия",
"value": "Петров"
},
{
"id": 29250,
"name": "Отчество",
"value": "Сергеевич"
}
]
}
}Здесь поля Фамилия и Отчество являются элементами массива
custom_fields
, который, в свою очередь, находится в объектеclient
. У элементов массива нет собственных ключей, но есть порядковый номер, — и он жёстко определён. Нумерация элементов массива всегда начинается с0
. Чтобы получить значения фамилии и отчества, надо пройти по такому пути:- Фамилия:
client → нулевой элемент массива custom_fields → value
- Отчество:
client → первый элемент массива custom_fields → value
Значит, коды полей, в которых хранятся значения фамилии и отчества, будут следующими:
- Фамилия:
client.custom_fields[0].value
- Отчество:
client.custom_fields[1].value
-
Теперь необходимо создать специальную вебхук-ссылку, которая позволит переместить данные из JSON-файла в нужные поля анкет в Sendsay. Формат ссылки на примере передачи только email-адреса:
https://be.sendsay.ru/backend/api/<API-КЛЮЧ>/member.set/email/-/КОД-ПОЛЯ-В-SENDSAY,set.copy,КОД-ПОЛЯ-В-JSON
где:
<API-КЛЮЧ>
— ваш ключ, который вы сгенерировали на шаге 1,КОД-ПОЛЯ-В-SENDSAY
— код поля Sendsay, который вы определили на шаге 7,set.copy
— команда, которая буквально говорит системе «помести данные из полей JSON-файла в поля Sendsay»,КОД-ПОЛЯ-В-JSON
— код передаваемого поля в JSON, который вы определили на шаге 8.
В результате готовая ссылка в нашем примере будет иметь следующий вид:
https://be.sendsay.ru/backend/api/19mP7ERf6VLDvQls-RJ9Qra9ff2g3h8g3HT289fhu2mo3rPZrdW_U6y45ZWTixQU4et6qm97LktmbBke/member.set/email/-/member.email,set.copy,customer.email
Если вы хотите передавать и другие поля, повторите команду
/<КОД ПОЛЯ В SENDSAY>set.copy<КОД ПОЛЯ В JSON>/
. Команду для каждого поля данных необходимо отделить слэшем/
.В нашем примере с передачей полей Email, Имя, Фамилия и Отчество итоговая ссылка будет выглядядеть так:
https://be.sendsay.ru/backend/api/19mP7ERf6VLDvQls-RJ9Qra9ff2g3h8g3HT2u8odW_U6y45ZWTixQU4et6qm97LktmbBke/member.set/email/-/member.email,set.copy,customer.email/base.firstName,set.copy,customer.firstName/base.lastName,set.copy,customer.lastName/base.middleName,set.copy,customer.patronymic
Если данные в JSON-формате будут переданы точно как описано в этом примере, в Sendsay после срабатывания указанного события появится новый подписчик с email-адресом, именем, фамилией и отчеством, — которые запишутся в соответствующие поля анкет.
Создайте свою ссылку по этой инструкции.
-
Вставьте получившуюся ссылку в настройках вебхука в вашей системе.
На этом настройка интеграции завершена. Чтобы протестировать отправку данных, инициируйте событие, которое запустит пер едачу данных из вашей системы в Sendsay. Затем перейдите в Sendsay и удостоверьтесь, что в базе контактов появится подписчик с соответствующими данными.
Читайте также:
Как передавать данные о событиях в рассылках