Entwickler · API-Referenz
API-Dokumentation
Technische Referenz für Sendarix HTTP-APIs, Authentifizierung und gängige Integrationsmuster. Produktüberblick: Email API.
# Kritische E-Mail über eine Routing-Policy senden curl -sS -X POST 'https://app.sendarix.com/v1/email/send' \ -H 'Content-Type: application/json' \ -H 'X-API-Key: YOUR_API_KEY' \ -H 'Idempotency-Key: otp_8842' \ -d '{"to":"user@acme.com","template":"password_reset","routing_policy":"transactional-critical"}'
const sendarix = require("sendarix")(process.env.SENDARIX_KEY); await sendarix.email.send({ to: "user@acme.com", template: "password_reset", routingPolicy: "transactional-critical", idempotencyKey: "otp_8842" });
# Drop-in SMTP — Integration behalten, Control Plane gewinnen host: smtp.sendarix.com port: 587 (STARTTLS) username: "your_sending_key" header: X-Sendarix-Policy: transactional-critical
Funktionsumfang (diese Plattform)
Die untenstehenden Zahlen spiegeln wider, was die Anwendung Integratoren heute bereitstellt. Jede Sprache, die HTTPS + JSON senden kann, kann diese Endpunkte aufrufen; die Seite enthält sechs Copy-Paste-Beispiel-Stacks.
5
Integrationsoberflächen
6
Beispielsprachen
6
Nutzungsmuster
Oberflächen: (1) Transactional send REST, (2) Client alerts ingest REST, (3) Deliverability Intel REST, (4) SMTP relay (Protokoll, kein JSON), (5) Outbound engagement webhooks (Sie empfangen HTTPS POSTs von Sendarix). Dashboard-Session-Endpunkte wie GET /api/keys sind Browser-/Session-Flows, keine X-API-Key-Automatisierung.
Integrationsoberflächen
| Oberfläche | Mechanismus | Basis / Einstieg |
|---|---|---|
| Transactional send | POST JSON, Account-API-Key | POST /v1/email/send (Alias /v1/send) |
| Client alerts | POST JSON, dieselbe Key-Middleware wie Send | POST /v1/alerts/ingest |
| Deliverability Intel | GET/POST JSON, Workspace-Deliverability-API-Key | /api/deliverability/v1/* (7 Routen) |
| SMTP relay | SMTP AUTH (Host, Port, Benutzername, Passwort aus dem Dashboard) | Siehe SMTP Relay |
| Engagement webhooks | Ihr HTTPS-Endpunkt empfängt signierte POSTs | In der App konfigurieren → Webhooks |
Authentifizierung
- Account-API-Key (Send + Alerts): Header
X-API-Key: …oderAuthorization: Bearer …. Optional Query?api_key=für Tooling; Header werden empfohlen. - Deliverability-API-Key: Header
X-API-Key(workspace-scoped; ausgestellt für Intel / Deliverability Monitor). - Idempotency (Send): optionaler Header
Idempotency-Keyfür sichere Retries.
Keys werden im Kunden-Dashboard erstellt und rotiert (API-Administration). Scope-Modi sind in der internen Scope-Policy der Anwendung für eingeschränkte Keys beschrieben.
Send API
POST https://app.sendarix.com/v1/email/send
JSON-Body-Felder (erforderlich, sofern nicht anders angegeben):
from— verifizierte Absenderadresseto— String oder Array von Adressensubjecthtmlund/odertext— mindestens ein nicht leerer Body-Teil wird erwartet (Plaintext kann aus HTML abgeleitet werden)
to, der aktuelle Transport-Pfad liefert aber an den ersten Empfänger. Für mehrere getrennte Zustellungen je eine Anfrage pro Empfänger (oder SMTP für Multi-RCPT-Workflows).Erfolgreiche Antworten enthalten Identifier wie message_id und sx_trace_id zur Korrelation mit Logs und Webhooks.
Client alerts ingest
POST https://app.sendarix.com/v1/alerts/ingest
Typische JSON-Felder: event_type, severity (info, warning, critical), source, message, optional entity_type, entity_id, context (Objekt). Die Zustellung hängt von im Dashboard konfigurierten Alert-Regeln ab.
Deliverability Intel API
Basis: /api/deliverability/v1/. Endpunkte umfassen Workspaces, Clients, Domains, Blacklist-Status und Report-Generierung. Alle erfordern den Deliverability-Workspace-API-Key.
GET | /workspaces |
GET | /clients |
POST | /clients |
GET | /domains |
POST | /domains |
GET | /blacklists/status |
POST | /reports/generate |
SMTP relay & inbound-style webhooks
SMTP nutzt standardmäßige Mail-Submission mit Credentials aus dem Dashboard – geeignet für Legacy-Apps und MTAs. Engagement webhooks sind outbound von Sendarix an Ihre URL für Zustell- und Engagement-Events (Payload und Security siehe Produktseite).
Providerseitige Inbound-Webhooks (z. B. Postal) sind Infrastruktur-Endpunkte, keine Kundenintegrationsziele.
Send API — Beispiele (6 Sprachen)
YOUR_API_KEY und Adressen ersetzen. Gleiches JSON für jeden Stack.
# Bash — transactional send
curl -sS -X POST 'https://app.sendarix.com/v1/email/send' \
-H 'Content-Type: application/json' \
-H 'X-API-Key: YOUR_API_KEY' \
-H 'Idempotency-Key: order-10042-reset' \
-d '{
"from": "noreply@example.com",
"to": "user@example.com",
"subject": "Passwort zur\u00fccksetzen",
"text": "Nutzen Sie diesen Link, um Ihr Passwort zur\u00fcckzusetzen.",
"html": "<p>Nutzen Sie diesen Link, um Ihr Passwort zur\u00fcckzusetzen.</p>"
}'// Node 18+ (global fetch)
const res = await fetch('https://app.sendarix.com/v1/email/send', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'X-API-Key': 'YOUR_API_KEY',
'Idempotency-Key': 'order-10042-reset',
},
body: JSON.stringify({
from: 'noreply@example.com',
to: 'user@example.com',
subject: "Passwort zurücksetzen",
text: "Nutzen Sie diesen Link, um Ihr Passwort zurückzusetzen.",
html: "<p>Nutzen Sie diesen Link, um Ihr Passwort zurückzusetzen.<\/p>",
}),
});
console.log(await res.json());# Python 3
import json, urllib.request
req = urllib.request.Request(
'https://app.sendarix.com/v1/email/send',
data=json.dumps({
'from': 'noreply@example.com',
'to': 'user@example.com',
'subject': "Passwort zurücksetzen",
'text': "Nutzen Sie diesen Link, um Ihr Passwort zurückzusetzen.",
'html': "<p>Nutzen Sie diesen Link, um Ihr Passwort zurückzusetzen.<\/p>",
}).encode(),
headers={
'Content-Type': 'application/json',
'X-API-Key': 'YOUR_API_KEY',
'Idempotency-Key': 'order-10042-reset',
},
method='POST',
)
with urllib.request.urlopen(req) as r:
print(r.read().decode())<?php
$ch = curl_init('https://app.sendarix.com/v1/email/send');
$payload = json_encode([
'from' => 'noreply@example.com',
'to' => 'user@example.com',
'subject' => 'Passwort zurücksetzen',
'text' => 'Nutzen Sie diesen Link, um Ihr Passwort zurückzusetzen.',
'html' => '<p>Nutzen Sie diesen Link, um Ihr Passwort zurückzusetzen.</p>',
]);\ncurl_setopt_array($ch, [
CURLOPT_POST => true,
CURLOPT_HTTPHEADER => [
'Content-Type: application/json',
'X-API-Key: YOUR_API_KEY',
'Idempotency-Key: order-10042-reset',
],
CURLOPT_POSTFIELDS => $payload,
CURLOPT_RETURNTRANSFER => true,
]);
echo curl_exec($ch);// Go
package main
import (
"bytes"
"encoding/json"
"net/http"
)
func main() {
body, _ := json.Marshal(map[string]any{
"from": "noreply@example.com",
"to": "user@example.com",
"subject": "Passwort zurücksetzen",
"text": "Nutzen Sie diesen Link, um Ihr Passwort zurückzusetzen.",
"html": "<p>Nutzen Sie diesen Link, um Ihr Passwort zurückzusetzen.<\/p>",
})
req, _ := http.NewRequest("POST", "https://app.sendarix.com/v1/email/send", bytes.NewReader(body))
req.Header.Set("Content-Type", "application/json")
req.Header.Set("X-API-Key", "YOUR_API_KEY")
req.Header.Set("Idempotency-Key", "order-10042-reset")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
}# Ruby — net/http
require 'json'
require 'net/http'
uri = URI('https://app.sendarix.com/v1/email/send')
req = Net::HTTP::Post.new(uri)
req['Content-Type'] = 'application/json'
req['X-API-Key'] = 'YOUR_API_KEY'
req['Idempotency-Key'] = 'order-10042-reset'
req.body = {
from: 'noreply@example.com',
to: 'user@example.com',
subject: "Passwort zurücksetzen",
text: "Nutzen Sie diesen Link, um Ihr Passwort zurückzusetzen.",
html: "<p>Nutzen Sie diesen Link, um Ihr Passwort zurückzusetzen.<\/p>",
}.to_json
res = Net::HTTP.start(uri.hostname, uri.port, use_ssl: true) { |h| h.request(req) }
puts res.body Nutzungsmuster (6)
- One-shot send — ein POST pro Nachricht, kein Idempotency-Header.
- Idempotent retry — gleicher
Idempotency-Key+ Body bei Netzwerkfehlern. - Bearer auth —
X-API-KeydurchAuthorization: Bearer YOUR_API_KEYersetzen. - HTML + text — beides liefern für multipart-alternative Darstellung, wo unterstützt.
- Alert fan-out — POST auf
/v1/alerts/ingestvon Ihren Monitoren; Routing ist policy-basiert in der UI. - Deliverability automation — Intel-Ressourcen unter
/api/deliverability/v1/*mit dem Workspace-Key abfragen oder ändern.
Verwandtes
Schützen Sie kritische E-Mail über jeden Tenant hinweg.
Verschieben Sie diese Woche Ihren kritischsten Stream zu Sendarix. Alles andere bleibt genau dort, wo es ist.
