Как передавать события в 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).

Оцените, насколько полезна статья "Как передавать события в SendPulse "

Оценка: 3 / 5

  • email

Популярное в нашем блоге

Начните пользоваться сервисом SendPulse прямо сегодня