コールバック API
メッセージ送信APIを使用することで、WhatsAppのメッセージ機能をビジネスシステムに統合できます。
APIを呼び出す前に、コンソールのAPIキーページでキーを作成してください。
エンドポイント
POST https://wa.api.engagelab.cc/v1/messages
認証
EngageLab REST APIはHTTPベーシック認証を使用します:HTTPヘッダーにAuthorizationを追加してください:
Authorization: Basic ${base64_auth_string}
Authorization: Basic ${base64_auth_string}
このコードブロックはフローティングウィンドウ内に表示されます
上記のbase64_auth_stringの生成アルゴリズムは次の通りです:base64(dev_key:dev_secret)
- ヘッダー名は"Authorization"で、値はbase64エンコードされた"username:password"ペア(コロンで区切る)です。
- WhatsApp APIのシナリオでは、usernameはDevKey、passwordはDevSecretです。これらはコンソールの構成管理-APIキーページで取得してください。
リクエスト例
リクエストヘッダー
POST /v1/messages
HTTP/1.1 Content-Type: application/json
Authorization: Basic amlndWFuZ2RldjpkZXZfc2VjcmV0
POST /v1/messages
HTTP/1.1 Content-Type: application/json
Authorization: Basic amlndWFuZ2RldjpkZXZfc2VjcmV0
このコードブロックはフローティングウィンドウ内に表示されます
リクエストボディ
{
"from": "+8613800138000",
"to": [
"00447911123456"
],
"body": {
"type": "template",
"template": {
"name": "code",
"language": "zh_CN",
"components": [
{
"type": "body",
"parameters": [
{
"type": "text",
"text": "12345"
}
]
}
]
}
},
"request_id": "123asdbbqwe9faweg",
"custom_args": {
"arg1": "string val",
"arg2": 123
}
}
{
"from": "+8613800138000",
"to": [
"00447911123456"
],
"body": {
"type": "template",
"template": {
"name": "code",
"language": "zh_CN",
"components": [
{
"type": "body",
"parameters": [
{
"type": "text",
"text": "12345"
}
]
}
]
}
},
"request_id": "123asdbbqwe9faweg",
"custom_args": {
"arg1": "string val",
"arg2": 123
}
}
このコードブロックはフローティングウィンドウ内に表示されます
リクエストパラメータ
リクエストオブジェクトはJSON形式で表現されるため、リクエストヘッダーにはContent-Type: application/jsonを含める必要があります。
パラメータ | 型 | 必須 | 説明 |
---|---|---|---|
from | String | 任意 | 送信者の番号 |
to | String Array | 必須 | 受信者の電話番号 |
body | JSON Object | 必須 | メッセージ本文 |
request_id | String | 任意 | リクエストを識別するためのカスタムリクエストID。レスポンスで返されます。 |
custom_args | JSON Object | 任意 | メッセージステータスコールバックで開発者に返されるカスタム情報。 |
from
パラメータ | 型 | 必須 | 説明 |
---|---|---|---|
from | String | 任意 | 送信者の番号、つまりメッセージ送信に使用するビジネス電話番号。 国際コードを含める必要があります。指定しない場合、デフォルトの送信者番号が使用されます(コンソールで構成する必要があります)。 |
to
パラメータ | 型 | 必須 | 説明 |
---|---|---|---|
to | String Array | 必須 | 受信者のWhatsApp電話番号。国際コードを含める必要があります。 |
body
以下のフィールドを含むメッセージ本文:
パラメータ | 型 | 必須 | 説明 |
---|---|---|---|
type | string | 必須 | メッセージタイプ。現在サポートされているタイプ: テンプレートメッセージのみユーザーに積極的に送信できます。他のメッセージタイプは、ユーザーが24時間以内に返信した場合にのみ送信可能です。 画像/音声/動画/ドキュメント/ステッカーはすべてメディアメッセージであり、メディアメッセージ形式要件を遵守してください。 |
template | template object | 任意 | type=templateの場合に使用。詳細はtemplate objectの説明を参照してください。 |
text | text object | 任意 | type=textの場合に使用。詳細はtext objectの説明を参照してください。 |
image | image object | 任意 | type=imageの場合に使用。詳細はimage objectの説明を参照してください。 |
audio | audio object | 任意 | type=audioの場合に使用。詳細はaudio objectの説明を参照してください。 |
video | video object | 任意 | type=videoの場合に使用。詳細はvideo objectの説明を参照してください。 |
document | document object | 任意 | type=documentの場合に使用。詳細はdocument objectの説明を参照してください。 |
sticker | sticker object | 任意 | type=stickerの場合に使用。詳細はsticker objectの説明を参照してください。 |
text objectの説明
テキストメッセージ
パラメータ | 型 | 必須 | 説明 |
---|---|---|---|
body | String | 必須 | テキスト内容。WhatsAppでは4096文字以内である必要があります。 |
例
{
"from": "8613800138000", //送信者の電話番号
"to": ["8613800138000"], //受信者の電話番号
"body": {
"type": "text", //メッセージタイプ
"text": {
"body": "your-text-message-content" //メッセージ内容
}
}
}
{
"from": "8613800138000", //送信者の電話番号
"to": ["8613800138000"], //受信者の電話番号
"body": {
"type": "text", //メッセージタイプ
"text": {
"body": "your-text-message-content" //メッセージ内容
}
}
}
このコードブロックはフローティングウィンドウ内に表示されます
image objectの説明
画像メッセージ
パラメータ | 型 | 必須 | 説明 |
---|---|---|---|
id | String | 任意 | WhatsAppが生成したmedia_id。idまたはlinkのいずれかに値が必要です。 |
link | String | 任意 | 画像リンク。http/httpsリンク。メディアメッセージ形式要件を遵守してください。 |
caption | String | 任意 | 画像の説明。最大1024文字まで。 |
例
{
"from": "8613800138000",//送信者の電話番号
"to": ["8613800138000"], //受信者の電話番号
"body": {
"type": "image",//メッセージタイプ
"image": {
"link": "https://img.jiguang.cn/jiguang/public/img/c866bd2.png", //画像リンク
"caption": "caption info" // 任意、画像下のテキスト説明。最大1024文字
}
}
}
{
"from": "8613800138000",//送信者の電話番号
"to": ["8613800138000"], //受信者の電話番号
"body": {
"type": "image",//メッセージタイプ
"image": {
"link": "https://img.jiguang.cn/jiguang/public/img/c866bd2.png", //画像リンク
"caption": "caption info" // 任意、画像下のテキスト説明。最大1024文字
}
}
}
このコードブロックはフローティングウィンドウ内に表示されます
video objectの説明
動画メッセージ
パラメータ | 型 | 必須 | 説明 |
---|---|---|---|
id | String | 任意 | WhatsAppが生成したmedia_id。idまたはlinkのいずれかに値が必要です。 |
link | String | 任意 | 動画リンク。http/httpsリンク。メディアメッセージ形式要件を遵守してください。 |
caption | String | 任意 | 動画の説明。最大1024文字まで。 |
例
{
"from": "8613800138000",//送信者の電話番号
"to": ["8613800138000"], //受信者の電話番号
"body": {
"type": "video",//メッセージタイプ
"video": {
"link": "https://img.jiguang.cn/jiguang/public/videos/432acc5.mp4", //動画リンク
"caption": "caption info" // 任意、動画下のテキスト説明。最大1024文字
}
}
}
{
"from": "8613800138000",//送信者の電話番号
"to": ["8613800138000"], //受信者の電話番号
"body": {
"type": "video",//メッセージタイプ
"video": {
"link": "https://img.jiguang.cn/jiguang/public/videos/432acc5.mp4", //動画リンク
"caption": "caption info" // 任意、動画下のテキスト説明。最大1024文字
}
}
}
このコードブロックはフローティングウィンドウ内に表示されます
audio objectの説明
音声メッセージ
パラメータ | 型 | 必須 | 説明 |
---|---|---|---|
id | String | 任意 | WhatsAppが生成したmedia_id。idまたはlinkのいずれかに値が必要です。 |
link | String | 任意 | 音声リンク。http/httpsリンク。メディアメッセージ形式要件を遵守してください。 |
例
{
"from": "8613800138000",//送信者の電話番号
"to": ["8613800138000"], //受信者の電話番号
"body": {
"type": "audio",//メッセージタイプ
"audio": {
"link": "https://file-examples.com/storage/fe5947fd2362fc197a3c2df/2017/11/file_example_MP3_700KB.mp3" //音声リンク
}
}
}
{
"from": "8613800138000",//送信者の電話番号
"to": ["8613800138000"], //受信者の電話番号
"body": {
"type": "audio",//メッセージタイプ
"audio": {
"link": "https://file-examples.com/storage/fe5947fd2362fc197a3c2df/2017/11/file_example_MP3_700KB.mp3" //音声リンク
}
}
}
このコードブロックはフローティングウィンドウ内に表示されます
document objectの説明
ドキュメントメッセージ
パラメータ | 型 | 必須 | 説明 |
---|---|---|---|
id | String | 任意 | WhatsAppが生成したmedia_id。idまたはlinkのいずれかに値が必要です。 |
link | String | 任意 | ドキュメントリンク。http/httpsリンク。メディアメッセージ形式要件を遵守してください。 |
caption | String | 任意 | ドキュメントの説明。最大1024文字まで。 |
filename | String | 任意 | ファイル名。filename フィールドが指定されていないがcaption フィールドがある場合、caption がファイル名として使用されます。filename が指定されている場合、その値がファイル名として使用されます。 |
例
{
"from": "8613800138000",//送信者の電話番号
"to": ["8613800138000"], //受信者の電話番号
"body": {
"type": "document",//メッセージタイプ
"document": {
"link": "https://img.jiguang.cn/jiguang/public/videos/432acc5.mp4", //ドキュメントリンク
"caption": "caption info", // 任意、ドキュメント下のテキスト説明。最大1024文字
"filename": "document file name" // 任意、ファイル名
}
}
}
{
"from": "8613800138000",//送信者の電話番号
"to": ["8613800138000"], //受信者の電話番号
"body": {
"type": "document",//メッセージタイプ
"document": {
"link": "https://img.jiguang.cn/jiguang/public/videos/432acc5.mp4", //ドキュメントリンク
"caption": "caption info", // 任意、ドキュメント下のテキスト説明。最大1024文字
"filename": "document file name" // 任意、ファイル名
}
}
}
このコードブロックはフローティングウィンドウ内に表示されます
sticker objectの説明
ステッカーメッセージ
パラメータ | 型 | 必須 | 説明 |
---|---|---|---|
id | String | 任意 | WhatsAppが生成したmedia_id。idまたはlinkのいずれかに値が必要です。 |
link | String | 任意 | ステッカーリンク。http/httpsリンク。メディアメッセージ形式要件を遵守してください。 |
例
{
"from": "8613800138000",//送信者の電話番号
"to": ["8613800138000"], //受信者の電話番号
"body": {
"type": "sticker",//メッセージタイプ
"sticker": {
"link": "http://sample-file.bazadanni.com/download/images/webp/sample.webp" //ステッカーリンク
}
}
}
{
"from": "8613800138000",//送信者の電話番号
"to": ["8613800138000"], //受信者の電話番号
"body": {
"type": "sticker",//メッセージタイプ
"sticker": {
"link": "http://sample-file.bazadanni.com/download/images/webp/sample.webp" //ステッカーリンク
}
}
}
このコードブロックはフローティングウィンドウ内に表示されます