Elegovate Docs

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/v1

JavaScript (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.

On this page