Submit Template for Approval
curl --request POST \
--url https://{projectID}.texterchat.com/server/api/v2/whatsapp/templates/{accountId}/{templateName}/localizations/{language}/submit \
--header 'Authorization: Bearer <token>'const options = {method: 'POST', headers: {Authorization: 'Bearer <token>'}};
fetch('https://{projectID}.texterchat.com/server/api/v2/whatsapp/templates/{accountId}/{templateName}/localizations/{language}/submit', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://{projectID}.texterchat.com/server/api/v2/whatsapp/templates/{accountId}/{templateName}/localizations/{language}/submit"
headers = {"Authorization": "Bearer <token>"}
response = requests.post(url, headers=headers)
print(response.text){
"_id": "6891bb93481ccea320113a91",
"name": "bulk_marketing_272",
"title": "<string>",
"usage": "inbox",
"chatStatus": 0,
"created": 123,
"updatedAt": "2023-11-07T05:31:56Z",
"departments": [
"<string>"
],
"isDefault": true,
"setBotNode": "<string>",
"bot": "<string>",
"replyText": "<string>",
"responsibleAgent": "<string>",
"responsibleDepartment": "<string>",
"attachedFile": {
"name": "<string>",
"url": "<string>"
},
"provider": "<string>",
"channelInfo": {
"name": "whatsapp",
"accountId": "972586640430"
},
"provider_template": {
"name": "<string>",
"category": "MARKETING",
"localizations": [
{
"status": "REQUESTED",
"rejectionReason": "NONE",
"language": "he",
"components": [
{
"type": "HEADER",
"text": "<string>",
"format": "IMAGE",
"example": {
"header_handle": [
"<string>"
],
"body_text": [
[
"<string>"
]
],
"header_text": [
"<string>"
]
},
"buttons": [
{
"type": "QUICK_REPLY",
"text": "<string>",
"url": "<string>",
"phone_number": "<string>",
"flow_id": "<string>",
"flow_action": "navigate",
"navigate_screen": "<string>",
"example": {
"url": "<string>"
}
}
]
}
],
"metadata": {},
"createdAt": "2023-11-07T05:31:56Z",
"lastUpdated": "2023-11-07T05:31:56Z",
"qualityScore": {
"score": "<string>",
"reasons": [
"High block rate"
]
}
}
],
"metadata": {}
},
"defaults": {},
"localizationDrafts": {}
}{
"error": "Localization he draft not found"
}Manage Templates
Submit Template for Approval
Submit your template for WhatsApp approval. Call this only after you have successfully created a template and added a localization.
POST
https://{projectID}.texterchat.com/server/api/v2
/
whatsapp
/
templates
/
{accountId}
/
{templateName}
/
localizations
/
{language}
/
submit
Submit Template for Approval
curl --request POST \
--url https://{projectID}.texterchat.com/server/api/v2/whatsapp/templates/{accountId}/{templateName}/localizations/{language}/submit \
--header 'Authorization: Bearer <token>'const options = {method: 'POST', headers: {Authorization: 'Bearer <token>'}};
fetch('https://{projectID}.texterchat.com/server/api/v2/whatsapp/templates/{accountId}/{templateName}/localizations/{language}/submit', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://{projectID}.texterchat.com/server/api/v2/whatsapp/templates/{accountId}/{templateName}/localizations/{language}/submit"
headers = {"Authorization": "Bearer <token>"}
response = requests.post(url, headers=headers)
print(response.text){
"_id": "6891bb93481ccea320113a91",
"name": "bulk_marketing_272",
"title": "<string>",
"usage": "inbox",
"chatStatus": 0,
"created": 123,
"updatedAt": "2023-11-07T05:31:56Z",
"departments": [
"<string>"
],
"isDefault": true,
"setBotNode": "<string>",
"bot": "<string>",
"replyText": "<string>",
"responsibleAgent": "<string>",
"responsibleDepartment": "<string>",
"attachedFile": {
"name": "<string>",
"url": "<string>"
},
"provider": "<string>",
"channelInfo": {
"name": "whatsapp",
"accountId": "972586640430"
},
"provider_template": {
"name": "<string>",
"category": "MARKETING",
"localizations": [
{
"status": "REQUESTED",
"rejectionReason": "NONE",
"language": "he",
"components": [
{
"type": "HEADER",
"text": "<string>",
"format": "IMAGE",
"example": {
"header_handle": [
"<string>"
],
"body_text": [
[
"<string>"
]
],
"header_text": [
"<string>"
]
},
"buttons": [
{
"type": "QUICK_REPLY",
"text": "<string>",
"url": "<string>",
"phone_number": "<string>",
"flow_id": "<string>",
"flow_action": "navigate",
"navigate_screen": "<string>",
"example": {
"url": "<string>"
}
}
]
}
],
"metadata": {},
"createdAt": "2023-11-07T05:31:56Z",
"lastUpdated": "2023-11-07T05:31:56Z",
"qualityScore": {
"score": "<string>",
"reasons": [
"High block rate"
]
}
}
],
"metadata": {}
},
"defaults": {},
"localizationDrafts": {}
}{
"error": "Localization he draft not found"
}Required token scopes:
Manage WhatsApp templates
Once submitted, approval usually takes just a few seconds, though in rare cases it can take up to 24 hours. If the template violates any of WhatsApp’s rules, it may be denied. You can read more about common reasons for denial in WhatsApp’s template guidelines.
Note that WhatsApp may approve your template but change its category (commonly from Utility to Marketing) if it determines that the content fits a different classification.
To verify whether your template was approved and to view its full details, use the List All Templates endpoint (which by default only returns approved templates).הרשאות
פרמטרי נתיב
תגובה
The submitted template object. The localization moves into provider_template.localizations with status REQUESTED. Field-by-field reference: The Template object
A WhatsApp template in Texter, including internal behavior (chat routing rules, departments, defaults) and provider state (WhatsApp approval status, localized content)