あらゆるネットワークのダイレクトメッセージを、自分のコードから
FoPostは、連携アカウントのDMスレッドをすべて一か所にまとめます。会話の一覧取得、新規会話の開始、コンタクトのセグメントへの一括送信、数日にわたるメッセージのドリップ配信まで、すべて同じAPIキーで行えます。
curl "https://api.fopost.com/v1/inbox/conversations?workspace_id=9b2f6c1e-..." \
-H "X-API-Key: $API_KEY"
{
"data": [
{
"workspace_id": "9b2f6c1e-...",
"account_id": "4a71d80b-...",
"conversation_id": "t_1029384756",
"message_count": 6,
"unread_count": 2,
"last_message_at": "2026-11-10T16:42:08Z",
"last_message_text": "Is the large size back in stock?",
"last_message_outbound": false,
"participant": { "name": "Jordan P.", "handle": "jordanp", "avatar_url": "https://..." },
"account": { "id": "4a71d80b-...", "platform": "instagram", "username": "yourbrand" }
}
],
"meta": { "page": 1, "per_page": 25, "total": 1, "total_pages": 1 }
}ひとつのスレッド一覧
連携しているすべてのアカウントのDM会話を、新しい順に表示します。
一斉配信
フィルタで絞り込んだコンタクトとの既存スレッドに、1通のメッセージを送ります。
シーケンス
前のメッセージから指定した時間(時間単位)後に、順番に送信される一連のメッセージ。
スレッドを読み、返信し、新しい会話を始める
既存のスレッドへの返信は POST /v1/inbox/:id/reply で行います。X、Mastodon、Reddit、Slackではハンドルを指定して新しい会話を開始でき、InstagramやFacebookのコメントには comment_id を渡して非公開で返信できます。FacebookとInstagramでは入力中インジケーターの表示、Messengerではスレッドの別アプリへの引き継ぎと引き戻しも可能です。
会話のリファレンスを読むcurl -X POST https://api.fopost.com/v1/inbox/conversations \
-H "X-API-Key: $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"account_id": "4a71d80b-...",
"handle": "jordanp",
"text": "Thanks for the order. Your tracking link is on its way."
}'
{ "conversation_id": "t_1029384756", "item": { "id": "2c9d4e81-...", "type": "dm", ... } }テキストとメディア
ネットワークが対応している場合、ライブラリのメディアIDを最大10件まで添付できます。
入力中表示と引き継ぎ
Metaの会話向けに POST /v1/inbox/conversations/:id/typing と /handover を提供します。
X Chat
暗号化されたXの会話は暗号文のまま受け渡され、鍵はブラウザ内にとどまります。
プラットフォームのルールを守りながらセグメントに送信
一斉配信は、アカウントがすでにコンタクトとの間に持っている会話に送られ、ネットワーク、ラベル、流入元、カスタムフィールドで絞り込めます。Facebook、Instagram、WhatsAppでは、ビジネスからのメッセージはコンタクトの最後のメッセージから24時間以内にしか送れないため、その範囲外の受信者は理由付きでスキップされ、送信は試行されません。WhatsAppでは、承認済みテンプレートを使えばこの制限を超えて届けられます。
一斉配信のリファレンスを見るcurl -X POST https://api.fopost.com/v1/broadcasts \
-H "X-API-Key: $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"workspace_id": "9b2f6c1e-...",
"account_id": "4a71d80b-...",
"name": "Restock, November",
"text": "The large size is back in stock this week.",
"audience": { "platforms": ["instagram"], "label_ids": ["d41e7a90-..."] }
}'
curl -X POST https://api.fopost.com/v1/broadcasts/8e2a5c13-.../send -H "X-API-Key: $API_KEY"
{ "id": "8e2a5c13-...", "status": "sending", "recipients": 212 }今すぐ、または後で送信
scheduled_at を設定して予約でき、送信前ならキャンセルも可能です。
受信者ごとの結果
GET /v1/broadcasts/:id/recipients で、送信済み、スキップ、失敗とその理由を確認できます。
送信は一度だけ
各受信者は送信前に確保されるため、リトライしても二重に送られることはありません。
数日かけて、自動でフォローアップ
シーケンスは最大20ステップのリストで、各ステップはメッセージと、前のステップからの待機時間(時間単位)で構成されます。コンタクトはIDで、または一斉配信と同じオーディエンスフィルタで登録でき、いつでも登録解除できます。メッセージングウィンドウ外になったステップはスキップされ、シーケンスは続行されます。
シーケンスのリファレンスを見るcurl -X POST https://api.fopost.com/v1/sequences/5b9c2e40-.../enroll \
-H "X-API-Key: $API_KEY" \
-H "Content-Type: application/json" \
-d '{ "contact_ids": ["a7f3c2d1-..."] }'
{ "id": "5b9c2e40-...", "enrolled": 1 }いつでも一時停止
status を paused に設定すると、再開するまで以降のステップは送信されません。
登録解除
POST /v1/sequences/:id/unenroll で、コンタクトへの送信を即座に止められます。
登録数の集計
シーケンスごとに、アクティブ、完了、停止、失敗の件数を確認できます。
誰と話しているかを把握する
アカウントにメッセージを送った相手は自動的にコンタクトになります。手動で追加することも、プラットフォームとハンドルの列を含む最大5,000行のCSVをインポートすることもできます。ワークスペースごとに最大50個のカスタムフィールド(テキスト、数値、日付、選択、はい/いいえ)を定義し、一斉配信やシーケンスの絞り込みに使えます。
構築を始める
CSVインポート
POST /v1/contacts/import は、作成、マージ、スキップされた行を理由とともに返します。
カスタムフィールド
フィールドキーに一致する列は、インポート時に自動で入力されます。
完全な履歴
GET /v1/contacts/:id/conversations で、各コンタクトが書き込んだ内容を一覧できます。