{{ define "apidoc.pages.tmpl" }} {{ template "head" . }}

📘 API WhatsApp SaaS – Documentation JSON

Tu peux utiliser ces endpoints via Postman, PHP (cURL) ou JS. Toutes les requêtes POST attendent du JSON dans le corps et certaines nécessitent un JWT dans un token ou un cookie.

🔐 Authentification

POST /api/login

{
  "email": "admin@example.com",
  "password": "motdepasse"
}

Retour : Cookie "token" et JSON {"message":"Login success"}

📤 Envoi message simple

POST /api/message/send (nécessite token)

{
  "to": "33612345678",
  "type": "text",
  "text": {
    "body": "Bonjour depuis l'API"
  },
  "token": "votre_jwt_token_si_poster_via_JSON"
}

📤 Envoi message template

POST /api/message/send2

{
  "to": "33612345678",
  "template_name": "hello_world",
  "language": "fr",
  "param1": "Jean",
  "param2": "commande #1234",
  "token": "votre_jwt_token"
}

📥 Webhook WhatsApp

GET /api/whatsapp/webhook (vérification)
Envoyer ?hub.mode=subscribe&hub.verify_token=secrettoken&hub.challenge=123

POST /api/whatsapp/webhook (callback messages/statuts)

👤 Utilisateurs (admin uniquement)

POST /api/user/create

{
  "email": "client@demo.com",
  "password": "secret",
  "sso_id": "CLIENT123",
  "role": "CLIENT",
  "is_active": true,
  "whatsapp_token": "EAAxxxxx",
  "whatsapp_phone_number_id": "123456789",
  "monthly_credits": 100
}

PUT /api/user/update/{id}

{
  "email": "nouveau@demo.com",
  "is_active": true,
  "monthly_credits": 200
}

DELETE /api/user/delete/{id}

💬 Conversations

GET /api/user/{id}/conversations

Filtrable avec ?type=text ou ?filter=today

GET /admin/user/{id}/conversation-thread
(Vue HTML pour un utilisateur)

{{ end }}