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.
Última actualización: 07.06.2023
o