messages
ノードを使用して、音声、ドキュメント、画像、スタンプ、動画のいずれかを含むメッセージをカスタマーに送信します。
要は、メディアを含むメッセージを送信する際に、リクエスト本文で、アップロードされたメディアのIDまたはメディアへのリンクのいずれかを指定する必要があるということです。また、送信するメディアのタイプを、audio
、document
、image
、sticker
、video
の中から指定する必要もあります。リクエストが受信されると、メディアがWhatsAppサーバーにアップロードされ、to
フィールドで指定されたユーザーに送信されます。
現在、WhatsApp Business APIでメディアメッセージを送信するには、以下の2つの方法があります。
media
ノードを使用してメディアをアップロードし、messages
API呼び出しに必要なIDを取得する必要があります。/messages
にPOST
リクエストを送信するメディアをアップロードした後、id
フィールドで返されたIDをメディアメッセージを送信するAPI呼び出しで使用します。または、送信するメディアを指すlink
パラメーターを指定することもできます(現在はHTTP/HTTPSリンクのみがサポートされています)。
id
またはlink
のいずれかが必要ですが、両方を同時に使用しないでください。
下記の例には、audio
、document
、image
、sticker
、video
などのさまざまなオブジェクトが示されていますが、これはあくまでも説明のためです。有効なリクエスト本文には、これらのいずれかしか含まれていません。
POST /v1/messages { "recipient_type": "individual", "to": "whatsapp-id", "type": "audio" | "contact" | "document" | "image" | "location" | "sticker" | "text" | "video", "audio": { "id": "your-media-id" } "document": { "id": "your-media-id", "filename": "your-document-filename" } "document": { "link": "the-provider-name/protocol://the-url", "provider": { "name" : "provider-name" } } "document": { "link": "http(s)://the-url.pdf" } "video": { "id": "your-media-id" } "image": { "link": "http(s)://the-url", "provider": { "name" : "provider-name" } } "image": { "id": "your-media-id" } "sticker": { "id": "your-media-id" } "sticker": { "link": "http(s)://the-url", "provider": { "name" : "provider-name" } } }
パラメーターに関する詳細については、以下を参照してください。
成功した場合の応答には、メッセージIDを含むmessages
オブジェクトが含まれます。
{ "messages": [{ "id": "gBEGkYiEB1VXAglK1ZEqA1YKPrU" }] }
成功しなかった場合、メッセージ送信が成功した場合と同様のメッセージIDが応答に含まれていても、Webhook URLにコールバックが送信されます。そのため、Webhookサーバーを設定しておくことが重要です。
エラーについて詳しくは、エラーコードとステータスコードをご覧ください。