Как передавать события в SendPulse
В SendPulse у вас есть возможность с помощью API передавать события в вашу систему. Отправка запросов возможна с авторизацией и без авторизации.
Чтобы передать событие, вам понадобятся:
- URL запроса.
- Email адрес или номер телефона — обязательный параметр, используется для идентификации контакта, для которого нужно запустить событие.
- Параметры по контакту — необязательные параметры, используются как переменные для персонализации сообщений.
- Системный параметр
automation_id
— необязательный параметр, используется для идентификации цепочки, для которой передаются данные.
Скопируйте URL
Перейдите в раздел Менеджер событий и нажмите на название созданного события.
Выберите метод запроса.
Если используете библиотеку SendPulse на GitHub, событие необходимо передавать с авторизацией, используя URL из вкладки REST API POST. Ключи для авторизации вы можете взять во вкладке API в настройках аккаунта.
Если не используете библиотеку и передаете события без авторизации, используйте URL с вкладки POST raw или POST form-data.
Скопируйте URL в нужной вкладке.
Сформируйте тело запроса
Передайте данные, используя пользовательские или глобальные переменные.
Обязательно передайте переменные email
или phone
с типом параметра Строка, чтобы SendPulse идентифицировал контакт и запустил событие.
Наличие других переменных в запросе — опционально. Они нужны, если используются в сообщениях цепочки.
Определите цепочку по ID
Также вы можете передавать ID цепочки через необязательный параметр automation_id
, чтобы идентифицировать запросы и отправлять персонализированные данные для разных цепочек на одну ссылку события.
Обратите внимание, что параметр automation_id
нужно передавать с типом параметра Число и вне массива.
При создании события параметр automation_id
можно не добавлять.
Чтобы определить значение automation_id
, перейдите на страницу нужной цепочки в разделе Автоворонки и скопируйте числовое значение после /flow/id/
в адресной строке.
К примеру, с помощью передачи ID цепочки вы можете реализовать отправку письма по событию в интернет-магазине на разных языках. В одной цепочке у вас будет английский контент, добавление в CRM по работе с англоязычными клиентами и контакты соответствующего менеджера в отправителе, а в другой цепочке — контент на польском языке, сохранение в другую CRM и другой отправитель.
Примеры отправки запросов
Без авторизации
PHP (с cURL)
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => 'https://events.sendpulse.com/events/id/eb561baa181247d1cd378c4ead632877/7043663',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_POSTFIELDS =>'{
"email": "test1@test1.com",
"phone": "+123456789",
"product_name": "product_name value",
"product_id": 123,
"product_link": "product_link value",
"product_price": "product_price value",
"product_img_url": "product_img_url value",
"event_date": "2021-05-28"
}',
CURLOPT_HTTPHEADER => array(
'Content-Type: application/json'
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
Python
import requests
url = "https://events.sendpulse.com/events/id/eb561baa181247d1cd378c4ead632877/7043663"
payload="{\n \"email\": \"test1@test1.com\",\n \"phone\": \"+123456789\",\n \"product_name\": \"product_name value\",\n \"product_id\": 123,\n \"product_link\": \"product_link value\",\n \"product_price\": \"product_price value\",\n \"product_img_url\": \"product_img_url value\",\n \"event_date\": \"2021-05-28\"\n}"
headers = {
'Content-Type': 'application/json'
}
response = requests.request("POST", url, headers=headers, data=payload)
print(response.text)
С авторизацией
PHP
<?php
use Sendpulse\RestApi\ApiClient;
use Sendpulse\RestApi\Storage\FileStorage;
define('API_USER_ID', '');
define('API_SECRET', '');
define('PATH_TO_ATTACH_FILE', __FILE__);
$SPApiClient = new ApiClient(API_USER_ID, API_SECRET, new FileStorage());
// Start event automation360
$eventName = 'registration';
$variables = [
"email" => "test1@test1.com",
"phone" => "+123456789",
"var_1" => "var_1_value"
];
var_dump($SPApiClient->startEventAutomation360($eventName,$variables));
Подробнее: SendPulse REST client library (PHP).
Python
# -*-coding:utf8-*-
""" SendPulse REST API usage example
Documentation:
https://login.sendpulse.com/manual/rest-api/
https://sendpulse.com/api
"""
from pysendpulse.pysendpulse import PySendPulse
if __name__ == "__main__":
REST_API_ID = ''
REST_API_SECRET = ''
TOKEN_STORAGE = 'memcached'
MEMCACHED_HOST = '127.0.0.1:11211'
SPApiProxy = PySendPulse(REST_API_ID, REST_API_SECRET, TOKEN_STORAGE, memcached_host=MEMCACHED_HOST)
# Start event
params = {
"email": "test1@test1.com",
"phone": "+123456789",
"var_1": "var_1_value"
}
SPApiProxy.send_event('registration', params);
Подробнее: SendPulse REST client library (Python).
Обновлено: 29.12.2023
или