Geliştiriciler · API Referansı

API Dokümantasyonu

Sendarix HTTP APIleri, kimlik doğrulama ve yaygın entegrasyon kalıpları için teknik referans. Ürün özeti: Email API.

cURL Node SMTP
# Kritik e-postayı routing policy üzerinden gönder
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 — entegrasyonu koruyun, kontrol katmanı kazanın
host:     smtp.sendarix.com
port:     587  (STARTTLS)
username: "your_sending_key"
header:   X-Sendarix-Policy: transactional-critical

Yetenek denetimi (bu platform)

Aşağıdaki sayılar uygulamanın entegratörlere bugün açtığı yüzeyleri yansıtır. HTTPS + JSON gönderebilen her dil bu uç noktaları çağırabilir; sayfa altı kopyala-yapıştır örnek yığını içerir.

5

Entegrasyon yüzeyleri

6

Örnek diller

6

Kullanım kalıpları

Yüzeyler: (1) Transactional gönderim REST, (2) İstemci uyarıları ingest REST, (3) Deliverability Intel REST, (4) SMTP relay (protokol, JSON değil), (5) Giden etkileşim webhooks (Sendarixten HTTPS POST alırsınız). GET /api/keys gibi pano oturum uç noktaları tarayıcı/oturum akışlarıdır, X-API-Key otomasyonu değildir.

Entegrasyon yüzeyleri

YüzeyMekanizmaTemel / giriş
Transactional gönderimPOST JSON, hesap API anahtarıPOST /v1/email/send (takma ad /v1/send)
İstemci uyarılarıPOST JSON, gönderimle aynı anahtar middlewarePOST /v1/alerts/ingest
Deliverability IntelGET/POST JSON, çalışma alanı deliverability API anahtarı/api/deliverability/v1/* (7 rota)
SMTP relaySMTP AUTH (host, port, kullanıcı adı, şifre panodan)Bkz. SMTP Relay
Etkileşim webhooksHTTPS uç noktanız imzalı POST alırUygulamada yapılandırın → Webhooks

Kimlik doğrulama

  • Hesap API anahtarı (gönderim + uyarılar): başlık X-API-Key: … veya Authorization: Bearer …. İsteğe bağlı sorgu ?api_key= araçlar için desteklenir; başlıklar önerilir.
  • Deliverability API anahtarı: başlık X-API-Key (çalışma alanı kapsamlı; Intel / deliverability monitor için verilir).
  • İdempotency (gönderim): güvenli yeniden denemeler için isteğe bağlı Idempotency-Key başlığı.

Anahtarlar müşteri panosundan (API yönetimi) oluşturulur ve döndürülür. Kısıtlı anahtarlar için kapsam modları uygulamanın dahili kapsam politikasında açıklanır.

Send API

POST https://app.sendarix.com/v1/email/send

JSON gövde alanları (aksi belirtilmedikçe gerekli):

  • from — doğrulanmış gönderici adresi
  • to — adres dizisi veya tek dize
  • subject
  • html ve/veya text — en az bir boş olmayan gövde beklenir (düz metin HTMLden türetilebilir)
Çok alıcı notu: API to içindeki her adresi doğrular; ancak mevcut taşıma yolu yalnızca ilk alıcıya teslim eder. Birden fazla ayrı teslimat için alıcı başına bir istek verin (veya çok RCPT iş akışları için SMTP kullanın).

Başarılı yanıtlar günlükler ve webhooks ile ilişkilendirme için message_id ve sx_trace_id gibi tanımlayıcılar içerir.

İstemci uyarıları ingest

POST https://app.sendarix.com/v1/alerts/ingest

Tipik JSON alanları: event_type, severity (info, warning, critical), source, message, isteğe bağlı entity_type, entity_id, context (nesne). Teslimat panoda yapılandırılan uyarı kurallarına bağlıdır.

Deliverability Intel API

Temel: /api/deliverability/v1/. Uç noktalar çalışma alanları, istemciler, alanlar, kara liste durumu ve rapor oluşturmayı içerir. Tümü deliverability çalışma alanı API anahtarı gerektirir.

GET/workspaces
GET/clients
POST/clients
GET/domains
POST/domains
GET/blacklists/status
POST/reports/generate

SMTP relay ve inbound tarzı webhooks

SMTP panodan kimlik bilgileriyle standart posta gönderimini kullanır—eski uygulamalar ve MTAlar için uygundur. Etkileşim webhooks teslimat ve etkileşim olayları için Sendarixten URLnize giden HTTPS POSTlardır (yük ve güvenlik için ürün sayfasına bakın).

Sağlayıcıya dönük inbound webhooks (ör. Postal) altyapı uç noktalarıdır, müşteri entegrasyon hedefi değildir.

Send API — örnekler (6 dil)

YOUR_API_KEY ve adresleri değiştirin. Her yığın için aynı JSON.

# Bash — transactional gönderim
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": "\u015eifre s\u0131f\u0131rlama",
    "text": "\u015eifrenizi s\u0131f\u0131rlamak i\u00e7in bu ba\u011flant\u0131y\u0131 kullan\u0131n.",
    "html": "<p>\u015eifrenizi s\u0131f\u0131rlamak i\u00e7in bu ba\u011flant\u0131y\u0131 kullan\u0131n.</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: "Şifre sıfırlama",
    text: "Şifrenizi sıfırlamak için bu bağlantıyı kullanın.",
    html: "<p>Şifrenizi sıfırlamak için bu bağlantıyı kullanın.<\/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': "Şifre sıfırlama",
        'text': "Şifrenizi sıfırlamak için bu bağlantıyı kullanın.",
        'html': "<p>Şifrenizi sıfırlamak için bu bağlantıyı kullanın.<\/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' => 'Şifre sıfırlama',
    'text' => 'Şifrenizi sıfırlamak için bu bağlantıyı kullanın.',
    'html' => '<p>Şifrenizi sıfırlamak için bu bağlantıyı kullanın.</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": "Şifre sıfırlama",
        "text":    "Şifrenizi sıfırlamak için bu bağlantıyı kullanın.",
        "html":    "<p>Şifrenizi sıfırlamak için bu bağlantıyı kullanın.<\/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: "Şifre sıfırlama",
  text: "Şifrenizi sıfırlamak için bu bağlantıyı kullanın.",
  html: "<p>Şifrenizi sıfırlamak için bu bağlantıyı kullanın.<\/p>",
}.to_json
res = Net::HTTP.start(uri.hostname, uri.port, use_ssl: true) { |h| h.request(req) }
puts res.body

Kullanım kalıpları (6)

  1. Tek seferlik gönderim — mesaj başına tek POST, idempotency başlığı yok.
  2. İdempotent yeniden deneme — ağ hatalarında aynı Idempotency-Key + gövde.
  3. Bearer authX-API-Key yerine Authorization: Bearer YOUR_API_KEY.
  4. HTML + text — desteklendiği yerde multipart-alternative tarzı oluşturmak için ikisini de verin.
  5. Uyarı fan-out — izleyicilerinizden /v1/alerts/ingest adresine POST; yönlendirme arayüzde politikaya bağlıdır.
  6. Deliverability otomasyonu — çalışma alanı anahtarıyla /api/deliverability/v1/* altında Intel kaynaklarını yoklayın veya değiştirin.

Her tenant için kritik e-postayı koruyun.

Bu hafta en kritik stream’inizi Sendarix’e taşıyın. Geri kalan her şeyi olduğu yerde bırakın.