SDKs y ejemplos
Ejemplos de integración en JavaScript, Python, PHP y Go.
SDKs y ejemplos
Elegovate Notify no publica aún un SDK oficial. Estos ejemplos cubren el endpoint POST /api/v1/send/ con las cabeceras obligatorias.
Variables de entorno recomendadas
NOTIFY_API_KEY=evn_tu_secreto
NOTIFY_ORG_ID=1
NOTIFY_API_URL=https://api.notify.elegovate.com/api/v1JavaScript (fetch)
const response = await fetch(`${process.env.NOTIFY_API_URL}/send/`, {
method: "POST",
headers: {
Authorization: `Api-Key ${process.env.NOTIFY_API_KEY}`,
"X-Organization-ID": process.env.NOTIFY_ORG_ID,
"Content-Type": "application/json",
},
body: JSON.stringify({
template: "bienvenida",
to: "cliente@ejemplo.com",
channel: "email",
data: { nombre: "María" },
}),
});
const body = await response.json();Node.js (axios)
import axios from "axios";
const { data, status } = await axios.post(
`${process.env.NOTIFY_API_URL}/send/`,
{
template: "bienvenida",
to: "cliente@ejemplo.com",
channel: "email",
data: { nombre: "María" },
},
{
headers: {
Authorization: `Api-Key ${process.env.NOTIFY_API_KEY}`,
"X-Organization-ID": process.env.NOTIFY_ORG_ID,
},
},
);Python (requests)
import os
import requests
response = requests.post(
f"{os.environ['NOTIFY_API_URL']}/send/",
headers={
"Authorization": f"Api-Key {os.environ['NOTIFY_API_KEY']}",
"X-Organization-ID": os.environ["NOTIFY_ORG_ID"],
"Content-Type": "application/json",
},
json={
"template": "bienvenida",
"to": "cliente@ejemplo.com",
"channel": "email",
"data": {"nombre": "María"},
},
timeout=30,
)
response.raise_for_status()PHP (Guzzle)
$client = new \GuzzleHttp\Client();
$response = $client->post(getenv('NOTIFY_API_URL') . '/send/', [
'headers' => [
'Authorization' => 'Api-Key ' . getenv('NOTIFY_API_KEY'),
'X-Organization-ID' => getenv('NOTIFY_ORG_ID'),
'Content-Type' => 'application/json',
],
'json' => [
'template' => 'bienvenida',
'to' => 'cliente@ejemplo.com',
'channel' => 'email',
'data' => ['nombre' => 'María'],
],
]);Go (net/http)
payload := map[string]any{
"template": "bienvenida",
"to": "cliente@ejemplo.com",
"channel": "email",
"data": map[string]string{"nombre": "María"},
}
body, _ := json.Marshal(payload)
req, _ := http.NewRequest(http.MethodPost, os.Getenv("NOTIFY_API_URL")+"/send/", bytes.NewReader(body))
req.Header.Set("Authorization", "Api-Key "+os.Getenv("NOTIFY_API_KEY"))
req.Header.Set("X-Organization-ID", os.Getenv("NOTIFY_ORG_ID"))
req.Header.Set("Content-Type", "application/json")
resp, err := http.DefaultClient.Do(req)Idempotencia
Puedes enviar la cabecera Idempotency-Key con un UUID. Repetir la misma petición dentro de ~24 h devuelve la misma respuesta con idempotent_replay: true.
Siguiente paso
Revisa los códigos de error y prueba los endpoints en la referencia API.