We are sunsetting On-Premises API. Refer to our On-Premises API Sunset document for details, and to learn how to migrate to our next-generation Cloud API.
/v1/services/message/gc
The /services/message/gc
endpoint provides a way for businesses to delete messages from the database associated with their WhatsApp Business API client.
messages
table containing more than 10 million rows) to ensure the callbacks returns a complete
status and no errors.PUT /v1/services/message/gc
You should receive a response indicating the API request is being processed.
{ "services": { "message": { "gc": { "status": "processing" } } }, "meta": { "api_status": "stable", "version": "3.0.0" } }
{ "services": { "message": { "gc": { "wacore2:9dfe77618dba": { "status": "processing" }, "wacore3:a9dcc716fd6e": { "status": "processing" } } } }, "meta": { "version": "v2.29.1", "api_status": "stable" } }
Since the API request works asynchronously, once the garbage collection on the messages
table is complete, the WhatsApp Business API client will post a notification to the callback server in the following format.
Note:
node
field in the notification is optional and omitted for single instances.Account ID: None Request ID: f1b61336390f46d8965888eaa6e8800b 10.254.254.254 - - [14/Jul/2020 13:01:15] "POST / HTTP/1.1" 200 - { "services": [{ "message": { "gc": { "messages_deleted": 5, "status": "complete" } } }] }
Account ID: None Request ID: 857d9be5438a4eb6ad795cf58ac7a3d2 10.254.254.254 - - [14/Jul/2020 10:26:34] "POST / HTTP/1.1" 200 - { "services": [{ "message": { "gc": { "messages_deleted": 11, "node": "wacore2:9dfe77618dba", "status": "complete" } } }] } Account ID: None Request ID: 857d9be5438a4eb6ad795cf58ac7a3d2 10.254.254.254 - - [14/Jul/2020 10:26:34] "POST / HTTP/1.1" 200 - { "services": [{ "message": { "gc": { "messages_deleted": 5, "node": "wacore3:a9dcc716fd6e", "status": "complete" } } }] }
If the API request fails to initiate garbage collection, an error will be returned in the HTTP response.
{ "meta": { "version": "v2.29.1", "api_status": "stable" }, "errors": [{ "code": 1014, "title": "Internal error", "details": "Connection timed out. Please check if wacore is running: wacore:6252" }] }
{ "services": { "message": { "gc": { "wacore1": { "status": "processing" }, "wacore2": { "errors": [{ "code": 1014, "title": "Internal error", "details": "php_network_getaddresses: getaddrinfo failed: Name or service not known. Please check if wacore is running: wacore2:6252" }] } } } }, "meta": { "version": "v2.29.1", "api_status": "stable" } }
If the garbage collection fails to complete, an error will be returned in the Webhook notification.
Account ID: None Request ID: 192953cb41a547d0ab19bfde59bff010 10.254.254.254 - - [13/Jul/2020 10:07:51] "POST / HTTP/1.1" 200 - { "services": [{ "message": { "gc": { "messages_deleted": 0, "errors": [{ "code" : 1014, "details" : "Failed to fetch processed messages to delete", }], "status": "failed" } } }] }