Skip to main content
Every partner application has WhatsApp on by default. Sending a template message is the WhatsApp API with application set, as Sending for an application describes. This page is the rest: the number, the templates and the team, over /v1/partner/applications/{external_id}/whatsapp. Connecting a number itself stays in the consoles, because Meta’s Embedded Signup needs a signed-in person in a browser. The API tells you who that person is and gives you the exact page to send them to.

The WhatsApp state

GET /v1/partner/applications/{external_id}/whatsapp answers the whole picture in one read:

Templates

Templates live on Meta, under the number’s WhatsApp Business Account; Tawked reads them through Meta and caches the list briefly. Every send names a template, so this is the catalog a send draws from. GET .../whatsapp/templates lists them, GET .../whatsapp/templates/{template_id} reads one by its Meta id:
status is Meta’s: APPROVED sends, PENDING is in Meta’s review, REJECTED carries rejected_reason, PAUSED and DISABLED come from quality. placeholders is what a send must fill, exactly as GET /v1/whatsapp/templates lists it.

Create, edit, delete

POST .../whatsapp/templates submits a template to Meta’s review and answers 201 with its Meta id and status (PENDING at first):
The same rules as the console’s template editor apply, and a refused field answers 400 invalid_request with fields naming it and errors giving each field’s reasons. What Meta refuses after that answers 422 template_refused with Meta’s own sentence in message. PATCH .../whatsapp/templates/{template_id} takes the same body without name and language (Meta fixes them) and replaces the template’s components; Meta reviews the change again, so an approved template goes back to PENDING. Only an APPROVED, REJECTED or PAUSED template can be edited: anything else answers 409 template_not_editable with the status. DELETE .../whatsapp/templates/{template_id} removes that one language of the template. Meta’s own samples (hello_world) can be neither edited nor deleted (409 template_not_editable with META_SAMPLE). Every template endpoint needs WhatsApp on (403 whatsapp_not_enabled) and a connected number (409 no_whatsapp_number); when Meta does not answer, 503 templates_unavailable says nothing was changed.

The team

The people who answer customers on the number in Tawked Chat. GET .../whatsapp/team lists them with phones masked:
The team is the one that runs the number: yours while you run the application, the owner’s once you handed it over. POST .../whatsapp/team with name and a Saudi mobile phone adds an agent on this application (201; 200 with the same person when the phone is already on the team) and they sign in to Tawked Chat with that phone. DELETE .../whatsapp/team/{member_id} takes an agent off this application, and off the team when no application is left. The team owner and its administrators are theirs: 409 not_removable.

With the sandbox key

The sandbox key reads all of this and changes none of it: creating, editing or deleting a template and adding or removing a member answer 403 live_key_required.