DESARROLLADOR · API

Una API REST. Un cliente en cualquier lenguaje.

Cada endpoint está descrito en una especificación OpenAPI 3.1. Genera un cliente con tipado seguro en el lenguaje que prefieras, o llama a la API REST directamente con las herramientas que ya usas. La autenticación con clave de API, la idempotency-key y el versionado forman parte del propio contrato.

OpenAPI 3.1 · un cliente con tipado seguro en cualquier lenguaje · la API REST está disponible hoy
cURL
Cualquier terminal
curl https://api.sendnomi.com/v1/messages \
  -H "Authorization: Bearer sn_live_•••" \
  -H "Content-Type: application/json" \
  -d '{
    "from": "[email protected]",
    "to": "[email protected]",
    "subject": "Bienvenido",
    "html": "<h1>Hola</h1>"
  }'
Node.js
fetch nativo
const res = await fetch(
  "https://api.sendnomi.com/v1/messages",
  {
    method: "POST",
    headers: {
      Authorization: "Bearer sn_live_•••",
      "Content-Type": "application/json",
    },
    body: JSON.stringify({
      from: "[email protected]",
      to: "[email protected]",
      subject: "Bienvenido",
      html: "<h1>Hola</h1>",
    }),
  },
);
Python
requests
import requests

requests.post(
    "https://api.sendnomi.com/v1/messages",
    headers={"Authorization": "Bearer sn_live_•••"},
    json={
        "from": "[email protected]",
        "to": "[email protected]",
        "subject": "Bienvenido",
        "html": "<h1>Hola</h1>",
    },
)
OpenAPI 3.1
Cliente generado
# Contrato de la API
GET https://api.sendnomi.com/v1/openapi.json

# Impórtalo en el generador que prefieras
# y obtén un cliente con tipado seguro
# en tu lenguaje — el mismo contrato
# para todas las superficies.

Un cliente en tu lenguaje

Importa la especificación OpenAPI 3.1 en el generador que prefieras y obtén un cliente con tipado seguro. El mismo contrato de la API se traduce directamente a:

  • TypeScript
  • Python
  • PHP
  • Go
  • Ruby
  • Java
  • .NET
  • Rust

Todas las superficies llaman a los mismos endpoints con los mismos nombres de parámetros — cambiar de lenguaje no cambia el contrato. Autenticación con clave de API (Bearer), idempotency-key en las peticiones POST y versionado en la URL: idéntico en todas partes.