コールバック 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" //ステッカーリンク
}
}
}
このコードブロックはフローティングウィンドウ内に表示されます








