Créer un template

POST /v1/templates : corps, exemples, en-tête image, boutons, et soumission à Meta.

Créer et soumettre un template

POST /v1/templates — scope templates:write

Soumet un template pour revue Meta. Retourne la ligne créée au statut PENDING. Sondez GET /v1/templates jusqu'à APPROVED avant l'envoi.

Paramètres

ParamètreTypeRequisDescription
namestringOuiNom du template (minuscules, chiffres et _). Unique par langue.
languagestringOuiCode langue, ex. en, fr, en_US.
categorystringOuiUTILITY, AUTHENTICATION ou MARKETING.
body_textstringOuiLe corps, avec {{1}}, {{2}}… ou {{nom}} pour les variables.
example_valuesstring[]OuiUne valeur d'exemple par variable, dans l'ordre (requis par Meta).
footer_textstringNonPied de page court, sans variable.
buttonsobject[]NonMax 2 boutons du même type (voir plus bas).
header_image_base64stringNonEn-tête image encodé en base64.
header_image_mimestringNonType MIME de l'en-tête image, ex. image/jpeg.

Requête

curl -X POST https://wa-api.geskap.com/v1/templates \
  -H "Authorization: Bearer sk_live_…" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "order_update",
    "language": "en",
    "category": "UTILITY",
    "body_text": "Hi {{1}}, your order {{2}} is confirmed.",
    "example_values": ["Jean", "#8842"],
    "footer_text": "Geskap"
  }'

Réponse (201)

{
  "name": "order_update",
  "language": "en",
  "status": "PENDING",
  "category": "UTILITY",
  "variables_count": 2
}

En-tête image et boutons

Un en-tête image se fournit via header_image_base64 + header_image_mime. Les boutons (max 2) sont soit des liens URL, soit des réponses rapides — ne mélangez pas les deux types.

Boutons

// bouton URL
{ "kind": "url", "text": "Suivre", "url": "https://exemple.com/suivi" }
// bouton réponse rapide
{ "kind": "quick_reply", "text": "Confirmer" }
Important — Meta interdit les liens wa.me
Un lien wa.me / WhatsApp dans un bouton URL est rejeté par Meta (code 2388081). Utilisez un bouton quick_reply à la place.