以下の数値は、アプリケーションが現在インテグレーターに公開している内容を反映します。HTTPS + JSON を送れる言語ならこれらのエンドポイントを呼び出せます。ページには6つのコピペ可能な例スタックがあります。
5
統合サーフェス
6
例の言語
6
利用パターン
サーフェス:(1)トランザクション送信 REST、(2)クライアントアラート取り込み REST、(3)配信 Intel REST、(4)SMTP リレー(プロトコル、JSON ではない)、(5)アウトバウンドエンゲージメント Webhook(Sendarix からの HTTPS POST を受信)。ダッシュボードのセッションエンドポイント(例:GET /api/keys)はブラウザ/セッションフローであり、X-API-Key 自動化ではありません。
| サーフェス | メカニズム | ベース / エントリ |
|---|---|---|
| トランザクション送信 | POST JSON、アカウント API キー |
POST /v1/email/send(エイリアス /v1/send) |
| クライアントアラート | POST JSON、送信と同じキーミドルウェア |
POST /v1/alerts/ingest |
| 配信 Intel | GET/POST JSON、ワークスペース配信 API キー |
/api/deliverability/v1/*(7 ルート) |
| SMTP リレー | SMTP AUTH(ホスト、ポート、ユーザー名、パスワードはダッシュボードから) | SMTP リレー を参照 |
| エンゲージメント Webhook | HTTPS エンドポイントが署名付き POST を受信 | アプリで設定 → Webhooks |
X-API-Key: … または Authorization: Bearer …。オプションのクエリ ?api_key= はツール向けですが、ヘッダーを推奨。X-API-Key(ワークスペーススコープ。Intel / 配信モニター用)。Idempotency-Key で安全なリトライ。キーはカスタマーダッシュボード(API 管理)で作成・ローテーション。制限キー用のスコープモードはアプリ内のスコープポリシーに記載。
POST https://app.sendarix.com/v1/email/send
JSON ボディフィールド(注記がない限り必須):
from — 検証済み送信者アドレスto — 文字列またはアドレスの配列subjecthtml および/または text — 少なくとも 1 つの非空の本文(プレーンは HTML から派生可能)to 内のすべてのアドレスを検証しますが、現在のトランスポートパスは最初の受信者に配信します。複数の独立した配信には受信者ごとに 1 リクエスト(または multi-RCPT ワークフローに SMTP)を発行してください。成功レスポンスには message_id、sx_trace_id などの識別子が含まれ、ログと Webhook と相関できます。
POST https://app.sendarix.com/v1/alerts/ingest
典型的な JSON フィールド:event_type、severity(info、warning、critical)、source、message、オプションで entity_type、entity_id、context(オブジェクト)。配信はダッシュボードで設定したアラートルールに依存。
ベース:/api/deliverability/v1/。エンドポイントにはワークスペース、クライアント、ドメイン、ブラックリスト状態、レポート生成が含まれます。すべて配信ワークスペース API キーが必要です。
GET | /workspaces |
GET | /clients |
POST | /clients |
GET | /domains |
POST | /domains |
GET | /blacklists/status |
POST | /reports/generate |
SMTP はダッシュボードの認証情報による標準メール送信。レガシーアプリと MTA に適しています。エンゲージメント Webhook は Sendarix から URL へのアウトバウンドで、配信とエンゲージメントイベント用(ペイロードとセキュリティは製品ページ参照)。
プロバイダー向けインバウンド Webhook(例:Postal)はインフラエンドポイントであり、顧客の統合対象ではありません。
YOUR_API_KEY とアドレスを置き換えてください。すべてのスタックで同じ JSON。
# Bash — トランザクション送信
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": "\u30d1\u30b9\u30ef\u30fc\u30c9\u30ea\u30bb\u30c3\u30c8",
"text": "\u3053\u306e\u30ea\u30f3\u30af\u3067\u30d1\u30b9\u30ef\u30fc\u30c9\u3092\u30ea\u30bb\u30c3\u30c8\u3057\u3066\u304f\u3060\u3055\u3044\u3002",
"html": "<p>\u3053\u306e\u30ea\u30f3\u30af\u3067\u30d1\u30b9\u30ef\u30fc\u30c9\u3092\u30ea\u30bb\u30c3\u30c8\u3057\u3066\u304f\u3060\u3055\u3044\u3002</p>"
}'// Node 18+(グローバル 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: "パスワードリセット",
text: "このリンクでパスワードをリセットしてください。",
html: "<p>このリンクでパスワードをリセットしてください。<\/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': "パスワードリセット",
'text': "このリンクでパスワードをリセットしてください。",
'html': "<p>このリンクでパスワードをリセットしてください。<\/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' => 'パスワードリセット',
'text' => 'このリンクでパスワードをリセットしてください。',
'html' => '<p>このリンクでパスワードをリセットしてください。</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": "パスワードリセット",
"text": "このリンクでパスワードをリセットしてください。",
"html": "<p>このリンクでパスワードをリセットしてください。<\/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: "パスワードリセット",
text: "このリンクでパスワードをリセットしてください。",
html: "<p>このリンクでパスワードをリセットしてください。<\/p>",
}.to_json
res = Net::HTTP.start(uri.hostname, uri.port, use_ssl: true) { |h| h.request(req) }
puts res.bodyIdempotency-Key + 本文。X-API-Key を Authorization: Bearer YOUR_API_KEY に差し替え。/v1/alerts/ingest に POST。ルーティングは UI でポリシー駆動。/api/deliverability/v1/* の Intel リソースをポーリングまたは変更。