Cómo Enviar Eventos a la API de SendPulse

Puedes enviar eventos a tu sistema usando la API SendPulse. El envío de solicitudes es posible con y sin autorización.

Para enviar un evento necesitas lo siguiente:

  • Una URL de solicitud
  • Una dirección de correo electrónico o número de teléfono de contacto: estos son parámetros obligatorios que se utilizan para identificar contactos
  • Parámetros opcionales de contacto usados ​​como variables para personalizar mensajes
  • automation_id, un parámetro de sistema opcional que se usa para identificar el flujo al que envías los datos de la solicitud.

Copia una URL

Ve a la sección “Administrador de eventos”, crea o elige un evento y haz clic en el nombre.

Selecciona un Método de Solicitud 

Usando la biblioteca SendPulse en GitHub, pasa el evento con autorización y la URL de la pestaña "REST API POST". Puedes obtener las claves de autorización en la pestaña "API" de la configuración de tu cuenta.

Si no usas la biblioteca y necesitas pasar eventos sin autorización, copia la URL de las pestañas "POST raw" o "POST form-data".

Copia tu URL en la pestaña correspondiente.

Prepara el cuerpo de la solicitud

Pasa los datos utilizando variables personalizadas o globales.

Asegúrate de pasar las variables email o phone con el tipo de parámetro "Cadena" para que SendPulse identifique los contactos y active el evento.

Tener otras variables en la solicitud es opcional ya que solo son necesarios si se usan en mensajes de flujo de automatización.

Identificar un Flujo de Automatización por ID

Puedes enviar un ID de flujo a través de un parámetro opcional automation_id para identificar solicitudes y enviar datos personalizados a diferentes flujos con el mismo enlace de evento.

Toma en cuenta que debes agregar automation_id con el tipo de parámetro "Número" fuera de la matriz.

No necesitas configurar el automation_id al crear un evento.

Para obtener el automation_id , ve a tu página de flujo en la pestaña "Panel” y copia el valor numérico después de /flow/id/ en la barra de direcciones.

Por ejemplo, con un ID de flujo puedes enviar un correo electrónico activado desde una tienda en línea en diferentes idiomas. Para comunicarte con tus clientes de habla inglesa, tendrás la versión de correo electrónico en inglés en un solo flujo y la agregará junto con un nombre de administrador con una dirección de correo electrónico del remitente a tu sistema CRM. Tendrás la versión de correo electrónico en polaco en otro flujo, guárdala en otro CRM y usa el nombre de otro remitente.

Solicitar muestras

Sin autenticación

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

Con Autorización

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

Puedes leer más en: Biblioteca de cliente REST de SendPulse.

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

Puedes leer más en: GitHub: Biblioteca de cliente REST de SendPulse.

    Califica este artículo sobre "Cómo Enviar Eventos a la API de SendPulse"

    Opinión de los usuarios: 4 / 5 (5)

    Anterior

    Cómo Detener un Flujo por Evento

    Siguiente

    Cómo enviar matrices de datos con Automatización 360

    Popular en nuestro blog

    Pruebe SendPulse hoy mismo gratis