Como enviar eventos para a SendPulse

Você pode enviar eventos para o seu sistema usando a API da SendPulse. Enviar solicitações é possível com e sem autorização.

Para enviar um evento, você irá precisar de:

  • Um URL de solicitação;
  • Um endereço de e-mail ou número de telefone de contato - esses são parâmetros obrigatórios usados para identificar os contatos;
  • Parâmetros opcionais de contato usados como variáveis para personalizar as mensagens;
  • automation_id, um parâmetro opcional do sistema usado para identificar o fluxo para o qual você envia os dados da solicitação.

Copiar um URL

Vá para a seção "Gerenciamento de eventos", crie ou escolha seu evento e clique em seu nome.

Selecione um método de solicitação.

Usando a biblioteca da SendPulse no GitHub, passe o evento com autorização e a URL da guia "REST API POST". Você pode obter as chaves de autorização na guia "API" das configurações da sua conta.

Se você não utilizar a biblioteca e precisar passar eventos sem autorização, copie a URL das guias "POST raw" ou "POST form-data".

Copie o seu URL na guia correspondente.

Preparar o corpo da solicitação

Passe os dados usando variáveis personalizadas ou globais.

Certifique-se de passar as variáveis de email ou phone com o tipo de parâmetro "String" para que a SendPulse identifique seus contatos e acione o evento.

Ter outras variáveis na solicitação é opcional. Eles são necessários somente se usados nas mensagens do fluxo de automação.

Identificar um fluxo de automação pelo seu ID

Você também pode enviar um ID de fluxo via o parâmetro opcional automation_id para identificar solicitações e enviar dados personalizados para diferentes fluxos com o mesmo link de evento.

Observe que você deve adicionar o automation_id com o tipo de parâmetro "Number" fora do array.

Você não precisa configurar o parâmetro automation_id ao criar um evento.

Para obter o valor de automation_id, vá para a página de fluxo na guia "Dashboard" e copie o valor numérico após /flow/id/ na barra de endereços.

Por exemplo, com um ID de fluxo, você pode enviar um e-mail disparado de uma loja online em diferentes idiomas. Para se comunicar com seus clientes falantes de inglês, você terá a versão de e-mail em inglês em um fluxo e adicionará o nome do gerente com um endereço de e-mail do remetente ao seu sistema CRM. Você terá a versão de email polonês em outro fluxo, irá salvá-lo em outro CRM e usará outro nome do remetente.

Amostra de solicitação

Sem autenticação

PHP com 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)

Com autorização

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));

Leia mais: GitHub: SendPulse REST client library.

Python

# -*-coding:utf8-*-

""" SendPulse REST API usage example

Documentation:
    https://login.sendpulse.com/manual/rest-api/
    /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);

Leia mais: GitHub: SendPulse REST client library.

    Rate this article about "Como enviar eventos para a SendPulse"

    User Rating: 5 / 5

    Anterior

    Como interromper um fluxo por um evento

    Próximo

    Como enviar dados array com a Automação 360

    Popular em nosso blog

    Teste o SendPulse hoje gratuitamente