WhatsApp Management APIs
Management APIS for the WhatsApp business profile.
WBP Account Details:
The WBP Account Details endpoint fetches the account details for the WhatsApp business profile by entering the authorization token key.
URL: https://apis.rmlconnect.net/wba/management/v1/wbp-account-details
Authorizations
JWT
| Detail | Value |
|---|---|
| API key | jwt |
| Header parameter name | Authorization |
Responses
200 Success
| Detail | Description |
|---|---|
| Response category | Success |
| Response schema | application/json |
| Description | Returns the WhatsApp business profile account details. |
Example response
{
"callback_url": "http://<domain_name>/v2/optin-callback-rmlbot2",
"send_status": "True",
"available_verticals": [
"OTHER",
"AUTO",
"BEAUTY",
"APPAREL",
"EDU",
"ENTERTAIN",
"EVENT_PLAN",
"FINANCE",
"GROCERY",
"GOVT",
"HOTEL",
"HEALTH",
"NONPROFIT",
"PROF_SERVICES",
"RETAIL",
"TRAVEL",
"RESTAURANT"
],
"account_hosting": "cloud",
"user_details": {
"client_msisdn": "91937274xxxx",
"waba_id": "206162977746xxxx",
"catalog_id": "623056228363xxxx"
},
"business_details": {
"business": {
"profile": {
"address": "Mumbai, Bengaluru",
"description": "Route Mobile, Route Lab",
"email": "[email protected]",
"websites": [
"http://www.routemobile.com/"
],
"vertical": "OTHER",
"about": "RML TEST Bot2",
"messaging_product": "whatsapp"
}
}
},
"about_details": {
"profile": {
"about": {
"text": "RML TEST Bot2"
}
}
},
"health_check_details": {
"health_check": {
"username": "RMLBot2",
"health": "CONNECTED",
"request_url": "https://<domain_name>/v15.0/2061629777463969/phone_numbers",
"response_body": {
"health": {
"gateway_status": "CONNECTED",
"meta": {
"api_status": "stable",
"version": "15.0"
}
}
},
"response_status_code": 200
}
},
"meta": {
"api_status": "stable",
"version": "15.0"
},
"phone_number_updates": {
"waba_id": "206162977746xxxx",
"number_quality": "high",
"messaging_limit": "TIER_1K",
"number_status": "CONNECTED",
"rejection_reason": "string",
"verified_name": "RouteMobile (Testing)"
},
"waba_updates": {
"waba_status": "CONNECTED",
"waba_quality": "high",
"waba_ban_date": "string",
"waba_ban_state": "string",
"violation_type": "string",
"restriction_type": "string",
"expiration": "string",
"waba_id": "206162977746xxxx"
},
"business_capabilities_updates": {
"max_phone_numbers_per_business": "25",
"max_daily_conversation_per_phone": "TIER_1K"
}
}| Field | Type | Description |
|---|---|---|
callback_url | String | The URL where callback notifications are sent. |
send_status | String | A boolean value indicates whether the sending status update is enabled. |
available_verticals | Array of strings | A list of available verticals or business categories. |
account_hosting | String | The hosting type for the account. |
user_details | Object | Details about the user. |
business_details | Object | Details about the business. |
about_details | Object | About section details. |
health_check_details | Object | Health check information. |
meta | Object | Metadata information. |
phone_number_updates | Object | Phone number update details. |
waba_updates | Object | WABA update details. |
business_capabilities_updates | Object | Business capabilities update details. |
401 Unauthorized
| Detail | Description |
|---|---|
| Response category | Authentication error |
| Response schema | application/json |
| Description | The request cannot be processed because the JWT token is expired or invalid. |
Example response
{
"message": "unable to process campaign request",
"reason": "jwt token expired",
"status": "failure"
}| Field | Type | Description |
|---|---|---|
message | String | The response message. |
reason | String | The reason for not processing the request. |
status | String | The status of the request. |
404 Not Found
| Detail | Description |
|---|---|
| Response category | Not found error |
| Response schema | application/json |
| Description | The requested URL was not found on the server. |
Example response
{
"message": "The requested URL was not found on the server. If you entered the URL manually please check your spelling and try again."
}| Field | Type | Description |
|---|---|---|
message | String | The response message. |
500 Internal Server Error
| Detail | Description |
|---|---|
| Response category | Server error |
| Response schema | application/json |
| Description | The server encountered an internal error while processing the request. |
Example response
{
"status": "failure",
"message": "unable to process request",
"reason": "internal server error"
}| Field | Type | Description |
|---|---|---|
message | String | The response message. |
reason | String | The reason for not processing the request. |
status | String | The status of the request. |
Profile Photo API
The Profile Photo API endpoint uploads the profile photo for account and updates the account details for the WhatsApp business profile by entering the authorization token key.
URL: https://apis.rmlconnect.net/wba/management/v1/settings/profile/photo
Authorizations
JWT
| Detail | Value |
|---|---|
| API key | jwt |
| Header parameter name | Authorization |
Query Parameters
| Parameter | Type | Description |
|---|---|---|
source | String | The source for uploading the file for a bulk campaign. Example: source=UI. |
debug | Any | Enum : True, False. The parameter that enables or disables the debug mode. Set the default value of "debug=True" to enable the debug mode. The system generates additional information and logs to help resolving troubleshoot and debug issues with the bulk campaigns. Example: debug=True. |
| Request body schema | multipart/form-data |
|---|
| Field | Required | Type | Description |
|---|---|---|---|
file | Yes | String | This parameter contains the profile photo image file. Upload an image file in the supported formats mentioned in the Facebook documentation. |
Responses
200 Success
| Detail | Description |
|---|---|
| Response category | Success |
| Response schema | application/json |
| Description | The profile photo file was uploaded successfully. |
Example response
{
"message": "File uploaded successfully",
"campaign_id": "670b3fd4-d442-11ed-a821-xxxxxxxxxxxx",
"file_type": "text/csv",
"file_size": "19.0B",
"total_records": 1,
"valid_records": 1,
"duplicate records": 0,
"campaign_type": "generalized",
"message_preview": {
"phone": "91868841xxxx",
"enable_acculync": true,
"extra": "{'asd':'asd'}",
"media": {
"type": "media_template",
"template_name": "boarding_pass_update",
"lang_code": "en",
"header": [
{
"image": {
"link": "https://media.istockphoto.com/vectors/airplane-ticket-boarding-pass-ticket-template-vector-id878xxxxxx"
}
}
],
"body": [
{
"text": "Here is your boarding pass"
}
]
}
},
"asynchronous": false,
"country_code": "string"
}| Field | Type | Description |
|---|---|---|
message | String | The outcome of the file upload process. |
campaign_id | String | The unique identifier for the campaign associated with the uploaded file. |
file_type | String | The type of the uploaded file. |
file_size | String | The size of the uploaded file. |
total_records | Integer | The total number of records present in the uploaded file. |
valid_records | Integer | The count of valid records within the uploaded file. |
duplicate records | Integer | The count of duplicate records found in the uploaded file. |
campaign_type | String | The type of campaign being sent, which can be either generalized or personalized. |
message_preview | Object | A preview of the message or content associated with the campaign. |
asynchronous | Boolean | The parameter indicates whether the file upload process is synchronous or asynchronous. |
country_code | String | The country code. |
401 Unauthorized
| Detail | Description |
|---|---|
| Response category | Authentication error |
| Response schema | application/json |
| Description | The request cannot be processed because the JWT token is expired or invalid. |
Example response
{
"message": "unable to process campaign request",
"reason": "jwt token expired",
"status": "failure"
}| Field | Type | Description |
|---|---|---|
message | String | The response message. |
reason | String | The reason for not processing the product feed update request. |
status | String | The status of the product feed update. |
404 Page Not Found
| Detail | Description |
|---|---|
| Response category | Not found error |
| Response schema | application/json |
| Description | The requested URL was not found on the server. |
Example response
{
"message": "The requested URL was not found on the server. If you entered the URL manually please check your spelling and try again."
}| Field | Type | Description |
|---|---|---|
message | String | The message response. |
422 Unprocessable Entity (WebDAV)
| Detail | Description |
|---|---|
| Response category | Validation error |
| Response schema | application/json |
| Description | One of Unknown Campaign Type Error / File Mimetype Error. The request cannot be processed because one or more values are invalid. |
Example response
{
"message": "please check API docs for more info",
"status": "failed",
"reason": {
"campaign_type": [
"Must be one of: generalized, personalized."
]
}
}| Field | Type | Description |
|---|---|---|
message | String | The response message. |
status | String | The status of the file upload. |
reason | Object | The reason for not processing the file upload request. |
500 Internal Server Error
| Detail | Description |
|---|---|
| Response category | Server error |
| Response schema | application/json |
| Description | The server encountered an internal error while processing the request. |
Example response
{
"status": "failure",
"message": "unable to process request"
}| Field | Type | Description |
|---|---|---|
status | String | The status of the message delivery. |
message | String | The message response. |
Updated 28 days ago
Did this page help you?