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.
| 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 |
X-API-Key: … oder Authorization: Bearer …. Optional Query ?api_key= für Tooling; Header werden empfohlen.X-API-Key (workspace-scoped; ausgestellt für Intel / Deliverability Monitor).Idempotency-Key fü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.
POST https://app.sendarix.com/v1/email/send
JSON-Body-Felder (erforderlich, sofern nicht anders angegeben):
from — verifizierte Absenderadresseto — String oder Array von Adressensubjecthtml und/oder text — 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.
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.
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 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.
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.bodyIdempotency-Key + Body bei Netzwerkfehlern.X-API-Key durch Authorization: Bearer YOUR_API_KEY ersetzen./v1/alerts/ingest von Ihren Monitoren; Routing ist policy-basiert in der UI./api/deliverability/v1/* mit dem Workspace-Key abfragen oder ändern.Kostenlos starten ohne Kreditkarte – oder mit dem Vertrieb sprechen für hohe Volumina und Enterprise.
Jetzt sendenVertrieb kontaktieren