Create a reply-only WhatsApp messaging app
curl --request POST \
--url https://api.interchange.io/api/v2/messaging-apps/whatsapp \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"businessAccountId": "<string>",
"phoneNumberId": "<string>",
"appSecret": "<string>",
"accessToken": "<string>",
"webhookVerifyToken": "<string>",
"graphApiVersion": "<string>",
"brand": {
"displayName": "<string>",
"supportUrl": "<string>",
"privacyPolicyUrl": "<string>",
"shortDescription": "<string>",
"accentColor": "<string>",
"iconAssetId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"termsUrl": "<string>"
}
}
'import requests
url = "https://api.interchange.io/api/v2/messaging-apps/whatsapp"
payload = {
"businessAccountId": "<string>",
"phoneNumberId": "<string>",
"appSecret": "<string>",
"accessToken": "<string>",
"webhookVerifyToken": "<string>",
"graphApiVersion": "<string>",
"brand": {
"displayName": "<string>",
"supportUrl": "<string>",
"privacyPolicyUrl": "<string>",
"shortDescription": "<string>",
"accentColor": "<string>",
"iconAssetId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"termsUrl": "<string>"
}
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
businessAccountId: '<string>',
phoneNumberId: '<string>',
appSecret: '<string>',
accessToken: '<string>',
webhookVerifyToken: '<string>',
graphApiVersion: '<string>',
brand: {
displayName: '<string>',
supportUrl: '<string>',
privacyPolicyUrl: '<string>',
shortDescription: '<string>',
accentColor: '<string>',
iconAssetId: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
termsUrl: '<string>'
}
})
};
fetch('https://api.interchange.io/api/v2/messaging-apps/whatsapp', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"definition": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"customerId": 4503599627370495,
"agentKey": "<string>",
"brand": {
"displayName": "<string>",
"supportUrl": "<string>",
"privacyPolicyUrl": "<string>",
"shortDescription": "<string>",
"accentColor": "<string>",
"iconAssetId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"termsUrl": "<string>"
},
"providerRef": {
"provider": "slack",
"applicationId": "<string>"
},
"status": "draft"
},
"webhookEndpoint": "<string>"
}{
"data": null,
"error": {
"code": "<string>",
"message": "<string>",
"field": "<string>",
"details": {}
}
}{
"data": null,
"error": {
"code": "<string>",
"message": "<string>",
"field": "<string>",
"details": {}
}
}{
"data": null,
"error": {
"code": "<string>",
"message": "<string>",
"field": "<string>",
"details": {}
}
}{
"data": null,
"error": {
"code": "<string>",
"message": "<string>",
"field": "<string>",
"details": {}
}
}{
"data": null,
"error": {
"code": "<string>",
"message": "<string>",
"field": "<string>",
"details": {}
}
}Account
Create a reply-only WhatsApp messaging app
Register one customer-owned Meta app, WABA phone number, and white-label branding. Credentials are written to encrypted secret storage and never returned. This product exposes replies to user-initiated messages only; it has no proactive or template-notification endpoint.
POST
/
messaging-apps
/
whatsapp
Create a reply-only WhatsApp messaging app
curl --request POST \
--url https://api.interchange.io/api/v2/messaging-apps/whatsapp \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"businessAccountId": "<string>",
"phoneNumberId": "<string>",
"appSecret": "<string>",
"accessToken": "<string>",
"webhookVerifyToken": "<string>",
"graphApiVersion": "<string>",
"brand": {
"displayName": "<string>",
"supportUrl": "<string>",
"privacyPolicyUrl": "<string>",
"shortDescription": "<string>",
"accentColor": "<string>",
"iconAssetId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"termsUrl": "<string>"
}
}
'import requests
url = "https://api.interchange.io/api/v2/messaging-apps/whatsapp"
payload = {
"businessAccountId": "<string>",
"phoneNumberId": "<string>",
"appSecret": "<string>",
"accessToken": "<string>",
"webhookVerifyToken": "<string>",
"graphApiVersion": "<string>",
"brand": {
"displayName": "<string>",
"supportUrl": "<string>",
"privacyPolicyUrl": "<string>",
"shortDescription": "<string>",
"accentColor": "<string>",
"iconAssetId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"termsUrl": "<string>"
}
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
businessAccountId: '<string>',
phoneNumberId: '<string>',
appSecret: '<string>',
accessToken: '<string>',
webhookVerifyToken: '<string>',
graphApiVersion: '<string>',
brand: {
displayName: '<string>',
supportUrl: '<string>',
privacyPolicyUrl: '<string>',
shortDescription: '<string>',
accentColor: '<string>',
iconAssetId: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
termsUrl: '<string>'
}
})
};
fetch('https://api.interchange.io/api/v2/messaging-apps/whatsapp', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"definition": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"customerId": 4503599627370495,
"agentKey": "<string>",
"brand": {
"displayName": "<string>",
"supportUrl": "<string>",
"privacyPolicyUrl": "<string>",
"shortDescription": "<string>",
"accentColor": "<string>",
"iconAssetId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"termsUrl": "<string>"
},
"providerRef": {
"provider": "slack",
"applicationId": "<string>"
},
"status": "draft"
},
"webhookEndpoint": "<string>"
}{
"data": null,
"error": {
"code": "<string>",
"message": "<string>",
"field": "<string>",
"details": {}
}
}{
"data": null,
"error": {
"code": "<string>",
"message": "<string>",
"field": "<string>",
"details": {}
}
}{
"data": null,
"error": {
"code": "<string>",
"message": "<string>",
"field": "<string>",
"details": {}
}
}{
"data": null,
"error": {
"code": "<string>",
"message": "<string>",
"field": "<string>",
"details": {}
}
}{
"data": null,
"error": {
"code": "<string>",
"message": "<string>",
"field": "<string>",
"details": {}
}
}Authorizations
API key or access token
Body
application/json
Pattern:
^\d{6,32}$Pattern:
^\d{6,32}$Required string length:
16 - 4096Required string length:
32 - 8192Required string length:
32 - 512Pattern:
^v\d{1,2}\.\d$Show child attributes
Show child attributes