コンテンツにスキップ

Message API

Message API は、トップレベルの一時通知を送信します。アラート、完了Message、画像スナップショット、価格通知、および後で更新したり終了したりする必要のないその他のコンテンツに使用します。

POST /message

リクエストの本文は JSON である必要があり、不明なフィールドは拒否されます。プライベート Gateway が PUSHGO_TOKEN を有効にする場合は、Authorization: Bearer <token> を含めます。

ヘッダー必須説明
Content-Type: application/jsonはいリクエスト本文の形式。
Authorization: Bearer <token>ゲートウェイに依存プライベート Gateway が PUSHGO_TOKEN を有効にする場合にのみ必要です。
フィールドタイプ必須説明
channel_idstringはいターゲットチャンネルID。
passwordstringはいChannel パスワード、通常は 8 ~ 128 文字。
titlestringはいMessage タイトルは空であってはなりません。
bodystringいいえMessage本体、Markdownに対応します。
op_idstringいいえ冪等キー、1 ~ 128 文字、文字/数字/_/:/-
thing_idstringいいえMessageを既存の Thing に関連付けます。
occurred_atnumberいいえMessageが発生した時刻 (Unix ミリ秒)。
severitystringいいえcriticalhighnormallow;不明な値は normal に正規化されます。
ttlnumberいいえUnix ミリ秒の有効期限。プロバイダーの TTL は約 28 日に制限されています。
urlstringいいえオプションのリンク先 URL。
imagesstring[]いいえ最大 32 個の画像 URL、それぞれ最大 2048 文字。
tagsstring[]いいえ最大 32 個のタグ、それぞれ最大 64 文字、トリミングおよび重複排除。
ciphertextstringいいえオプションの E2EE 暗号文ペイロード。
metadataobjectいいえカスタムのスカラー Key-Value。キー <= 64、値 <= 512。
severityAPNs 割り込みレベルFCM 優先順位
criticalcriticalHIGH
hightime-sensitiveHIGH
normalactiveHIGH
lowpassiveNORMAL
Terminal window
curl -X POST https://gateway.pushgo.dev/message \
-H "Content-Type: application/json" \
-d '{
"channel_id": "YOUR_CHANNEL_ID",
"password": "YOUR_CHANNEL_PASSWORD",
"title": "Backup completed",
"body": "The daily NAS backup has finished.",
"severity": "normal"
}'

アラートが永続エンティティに属している場合は、thing_id を渡します。

{
"channel_id": "YOUR_CHANNEL_ID",
"password": "YOUR_CHANNEL_PASSWORD",
"thing_id": "8a1fc4b3d9f04fd2857f92f66f7cc5d1",
"title": "Home NAS disk warning",
"body": "volume1 usage has reached 92%.",
"severity": "high",
"tags": ["nas", "disk"]
}
{
"success": true,
"data": {
"channel_id": "YOUR_CHANNEL_ID",
"op_id": "op-20260422-001",
"message_id": "8a1fc4b3d9f04fd2857f92f66f7cc5d1",
"accepted": true
},
"error": null,
"error_code": null
}

success=true は、Gateway がリクエストを処理したことを意味します。 accepted=true は、リクエストがディスパッチに入ったことを意味します。最終的な表示は、依然としてプラットフォーム プッシュ サービス、デバイスの状態、およびプライベート トランスポートに依存します。

ステータス典型的な理由
400必須フィールドが欠落しています、不明なフィールド、空の title、無効な op_id
401プライベート Gateway には Bearer トークンが必要ですが、ヘッダーが欠落しているか間違っています。
404Channel が存在しないか、資格情報が一致しません。
413リクエストボディが 32KB を超えています。
503Gateway はディスパッチを完全に開始できませんでした。応答には accepted=false が含まれる場合があります。

共有制限については、制限とエラー を参照してください。

PushGo は、移行用の ntfy、Bark、および ServerChan 互換エンドポイントも提供します。彼らのフィールドカバー範囲は限られています。 thing_id、E2EE、または完全な PushGo セマンティクスが必要な場合は、ネイティブ /message を使用してください。 移行ガイドを参照してください。