APIチャネルへのメッセージ送信方法

APIチャネルでは連絡先を自動的に作成できないため、LiveDesk APIチャネルを介してメッセージを送信するには、次の3つの手順が必要です。

  1. 連絡先を作成する
  2. 連絡先情報に基づいて会話を作成する
  3. メッセージを送信する

連絡先を作成する

リクエストURL

https://livedesk-api.engagelab.com/api/v2/accounts/contacts

リクエスト例

curl -X POST https://livedesk-api.engagelab.com/api/v2/accounts/contacts \ -H 'Content-Type: application/json' \ -H 'Authorization: Basic base64(api_key:api_secret)' \ -d '{ "inbox_id": 407, "name": "Test", // 任意 "email": "alice@acme.inc", "phone_number": "+123456789", "avatar_url": "https://example.com/avatar.png", "identifier": "1234567890" }'
              
              curl -X POST https://livedesk-api.engagelab.com/api/v2/accounts/contacts \
-H 'Content-Type: application/json' \
-H 'Authorization: Basic base64(api_key:api_secret)' \
-d '{
    "inbox_id": 407,
    "name": "Test",                   // 任意
    "email": "alice@acme.inc",
    "phone_number": "+123456789",
    "avatar_url": "https://example.com/avatar.png",
    "identifier": "1234567890"
}'

            
このコードブロックはフローティングウィンドウ内に表示されます

リクエストヘッダー

Field Type Description
Authorization string Authorization: Basic base64(API Key:API Secret) を使用して認証します。API KeysページでAPI KeyとAPI Secretを取得し、コロンで連結してBase64でエンコードします。
Content-Type application/json データ形式。通常のテキストメッセージには application/json を使用します。

リクエストボディパラメーター

Field Type Required Description
inbox_id String Yes チャネルID。Project Settings > Channels > Specific Channel > Settings のChannel IDに対応します。
name String No 連絡先名。
email String No メールアドレス。
phone_number String No 連絡先の電話番号。
avatar_url String No アバターURL。
identifier String No ユーザー識別子。

レスポンス例

{ "payload": { "contact": { "additional_attributes": {}, "availability_status": "offline", "email": null, "id": 2219259, "name": "Test", "phone_number": null, "blocked": false, "identifier": null, "thumbnail": "", "custom_attributes": {}, "created_at": 1766571703, "contact_inboxes": [] }, "contact_inbox": { "inbox": null, "source_id": null } } }
              
              {
    "payload": {
        "contact": {
            "additional_attributes": {},
            "availability_status": "offline",
            "email": null,
            "id": 2219259,
            "name": "Test",
            "phone_number": null,
            "blocked": false,
            "identifier": null,
            "thumbnail": "",
            "custom_attributes": {},
            "created_at": 1766571703,
            "contact_inboxes": []
        },
        "contact_inbox": {
            "inbox": null,
            "source_id": null
        }
    }
}

            
このコードブロックはフローティングウィンドウ内に表示されます

レスポンスパラメーター

Field Type Required Description
additional_attributes Object No 追加属性。
availability_status String No オンライン状態。デフォルトは offline です。
email String No メールアドレス。
id String No 連絡先ID。
name String No 名前。
phone_number String No 電話番号。
blocked String No 連絡先がブロックされているかどうか。デフォルトは false です。
identifier String No ユーザー識別子。
thumbnail String No サムネイルURL。
custom_attributes String No カスタム属性。
created_at String No 作成タイムスタンプ。
contact_inboxes Array No 連絡先の受信トレイ。
inbox String No チャネルの受信トレイ。
source_id String No Source ID。

会話を作成する

リクエストURL

https://livedesk-api.engagelab.com/api/v2/accounts/conversations

リクエスト例

curl -X POST https://livedesk-api.engagelab.com/api/v2/accounts/conversations \ -H 'Content-Type: application/json' \ -H 'Authorization: Basic base64(api_key:api_secret)' \ -d '{ "inbox_id": 407, // 必須 "contact_id": 2219256, // contact_idまたはsource_idのいずれかを指定できます。送信者を正しく識別するには、どちらか一方を指定する必要があります "source_id": "123456789" }'
              
              curl -X POST https://livedesk-api.engagelab.com/api/v2/accounts/conversations \
-H 'Content-Type: application/json' \
-H 'Authorization: Basic base64(api_key:api_secret)' \
-d '{
  "inbox_id": 407,              // 必須
  "contact_id": 2219256,        // contact_idまたはsource_idのいずれかを指定できます。送信者を正しく識別するには、どちらか一方を指定する必要があります
  "source_id": "123456789"
}'

            
このコードブロックはフローティングウィンドウ内に表示されます

リクエストヘッダーパラメーター

Field Type Description
Authorization string Authorization: Basic base64(API Key:API Secret) を使用して認証します。API KeysページでAPI KeyとAPI Secretを取得し、コロンで連結してBase64でエンコードします。
Content-Type application/json データ形式。通常のテキストメッセージには application/json を使用します。

リクエストボディパラメーター

Field Type Required Description
inbox_id String Yes チャネルID。Create Contact APIで使用したIDと同じです。
contact_id String No 連絡先ID。Create Contact APIのレスポンスで返される id です。
source_id String No Source ID。

レスポンス例

{ "meta": { "sender": { "additional_attributes": {}, "availability_status": "offline", "email": null, "id": 2219256, "name": "wjTest", "phone_number": null, "blocked": false, "identifier": null, "thumbnail": "", "custom_attributes": {}, "created_at": 1766571624 }, "channel": "Channel::Api", "hmac_verified": false }, "id": 40, "messages": [], "account_id": 17623000010928, "uuid": "660ce36f-46bb-4153-948c-8a26e6dab634", "inbox_id": 407, "additional_attributes": {}, "agent_last_seen_at": 0, "assignee_last_seen_at": 0, "can_reply": true, "contact_last_seen_at": 0, "custom_attributes": {}, "labels": [], "muted": false, "snoozed_until": null, "status": "open", "priority": null, "conversation_category": "chat", "chat_mode": "private_chat", "is_forum": false, "created_at": 1766572062, "updated_at": 1766572062.5803902, "timestamp": 1766572062, "first_reply_created_at": 0, "unread_count": 0, "last_non_activity_message": null, "last_activity_at": 1766572062, "waiting_since": 1766572062, "sla_policy_id": null, "ticket_id": null, "over_limit": false, "content_preview": { "content": null, "message_type": null, "created_at": null }, "platform": { "channel_type": "Channel::Api", "inbox_name": "JennyApi", "inbox_id": 407 }, "account_info": { "contact_name": "wjTest", "contact_email": null, "contact_phone": null, "contact_id": 2219256, "contact_avatar": "" }, "assignment": { "assignee_id": null, "assignee_name": null, "assignee_email": null, "team_id": null, "team_name": null } }
              
              {
    "meta": {
        "sender": {
            "additional_attributes": {},
            "availability_status": "offline",
            "email": null,
            "id": 2219256,
            "name": "wjTest",
            "phone_number": null,
            "blocked": false,
            "identifier": null,
            "thumbnail": "",
            "custom_attributes": {},
            "created_at": 1766571624
        },
        "channel": "Channel::Api",
        "hmac_verified": false
    },
    "id": 40,
    "messages": [],
    "account_id": 17623000010928,
    "uuid": "660ce36f-46bb-4153-948c-8a26e6dab634",
    "inbox_id": 407,
    "additional_attributes": {},
    "agent_last_seen_at": 0,
    "assignee_last_seen_at": 0,
    "can_reply": true,
    "contact_last_seen_at": 0,
    "custom_attributes": {},
    "labels": [],
    "muted": false,
    "snoozed_until": null,
    "status": "open",
    "priority": null,
    "conversation_category": "chat",
    "chat_mode": "private_chat",
    "is_forum": false,
    "created_at": 1766572062,
    "updated_at": 1766572062.5803902,
    "timestamp": 1766572062,
    "first_reply_created_at": 0,
    "unread_count": 0,
    "last_non_activity_message": null,
    "last_activity_at": 1766572062,
    "waiting_since": 1766572062,
    "sla_policy_id": null,
    "ticket_id": null,
    "over_limit": false,
    "content_preview": {
        "content": null,
        "message_type": null,
        "created_at": null
    },
    "platform": {
        "channel_type": "Channel::Api",
        "inbox_name": "JennyApi",
        "inbox_id": 407
    },
    "account_info": {
        "contact_name": "wjTest",
        "contact_email": null,
        "contact_phone": null,
        "contact_id": 2219256,
        "contact_avatar": ""
    },
    "assignment": {
        "assignee_id": null,
        "assignee_name": null,
        "assignee_email": null,
        "team_id": null,
        "team_name": null
    }
}

            
このコードブロックはフローティングウィンドウ内に表示されます

レスポンスパラメーター

Field Type Required Description
meta Object No メタデータオブジェクト。
sender Object No 送信者情報。
additional_attributes Object No 追加属性。
availability_status String No 利用可能状況。
email Null No メールアドレス。
id Number No 連絡先ID。
name String No 送信者名。
phone_number Null No 電話番号。
blocked Boolean No 連絡先がブロックされているかどうか。
identifier Null No ユーザー識別子。
thumbnail String No サムネイル。
custom_attributes Object No カスタム属性。
created_at Number No 会話の作成タイムスタンプ。
channel String No チャネルタイプ。
hmac_verified Boolean No HMAC検証ステータス。
id Number No 会話ID。
messages Array No メッセージ配列。
account_id Number No プロジェクトID。
uuid String No 一意の識別子。
inbox_id Number No チャネルID。
additional_attributes Object No 追加属性。
agent_last_seen_at Number No エージェントが最後に会話を閲覧または処理した時刻。
assignee_last_seen_at Number No 担当者が最後に会話を閲覧または処理した時刻。
can_reply Boolean No 返信を送信できるかどうか。
contact_last_seen_at Number No 連絡先が最後に確認された時刻。
custom_attributes Object No カスタム属性。
labels Array No ラベル配列。
muted Boolean No 会話がミュートされているかどうか。
snoozed_until Null No 会話のスヌーズが解除される時刻。
status String No ステータス。
priority Null No 優先度。
conversation_category String No 会話カテゴリ。
chat_mode String No チャットモード。
is_forum Boolean No フォーラムかどうか。
created_at Number No 作成タイムスタンプ。
updated_at Number No 更新タイムスタンプ。
timestamp Number No タイムスタンプ。
first_reply_created_at Number No 最初の返信が作成された時刻。
unread_count Number No 未読数。
last_non_activity_message Null No 最新の非アクティビティメッセージ。
last_activity_at Number No 最終アクティビティ時刻。
waiting_since Number No 待機が開始された時刻。
sla_policy_id Null No SLAポリシーID。
ticket_id Null No チケットID。
over_limit Boolean No 上限を超えているかどうか。
content_preview Object No コンテンツプレビュー。
content_preview.content Null No プレビューコンテンツ。
content_preview.message_type Null No メッセージタイプ。
content_preview.created_at Null No 作成時刻。
platform Object No プラットフォーム情報。
channel_type String No チャネルタイプ。
inbox_name String No 受信トレイ名。
inbox_id Number No 受信トレイID。
account_info Object No アカウント情報。
contact_name String No 連絡先名。
contact_email Null No 連絡先のメールアドレス。
contact_phone Null No 連絡先の電話番号。
contact_id Number No 連絡先ID。
contact_avatar String No 連絡先のアバター。
assignment Object No 割り当て情報。
assignee_id Null No 担当者ID。
assignee_name Null No 担当者名。
assignee_email Null No 担当者のメールアドレス。
team_id Null No チームID。
team_name Null No チーム名。

メッセージを送信する

リクエストURL

https://livedesk-api.engagelab.com/api/v2/accounts/conversations/:conversation_id/messages

リクエスト例

curl -X POST 'https://livedesk-api.engagelab.com/api/v2/accounts/conversations/:conversation_id/messages' \ -H 'Content-Type: application/json' \ -H 'Authorization: Basic base64(api_key:api_secret)' \ -d '{ "content": "カスタマーサービス担当者がメッセージを送信しました。これは正常ですか?", "private": false, "message_type": "incoming", "content_attributes": { "in_reply_to": 29 } }'
              
              curl -X POST 'https://livedesk-api.engagelab.com/api/v2/accounts/conversations/:conversation_id/messages' \
-H 'Content-Type: application/json' \
-H 'Authorization: Basic base64(api_key:api_secret)' \
-d '{
    "content": "カスタマーサービス担当者がメッセージを送信しました。これは正常ですか?",
    "private": false,
    "message_type": "incoming",
    "content_attributes": {
        "in_reply_to": 29
    }
}'

            
このコードブロックはフローティングウィンドウ内に表示されます

リクエストヘッダー

Field Type Description
Authorization string Authorization: Basic base64(API Key:API Secret) を使用して認証します。API KeysページでAPI KeyとAPI Secretを取得し、コロンで連結してBase64でエンコードします。
Content-Type application/json データ形式。通常のテキストメッセージには application/json を使用します。

リクエストボディパラメーター

Field Type Required Description
content String Yes メッセージ内容。
private Boolean No 非公開メッセージかどうか。デフォルトは false です。
message_type String No メッセージタイプ:outgoing または incoming。それぞれカスタマーサービス担当者およびユーザーが送信したメッセージを示します。指定しない場合、デフォルトは outgoing です。
content_attributes String No コンテンツ属性。
in_reply_to String No 返信対象のコンテンツ。
Icon Solid Transparent White Qiyu
お問い合わせ