Templates
CRUD de plantillas de WhatsApp. Sincroniza estado con Meta (PENDING / APPROVED / REJECTED).
Base path:
/organizations/:orgId/templates·7 endpoints·Source: mosend-wb-backend/src/modules/templates/templates.controller.ts/organizations/:orgId/templates bearer
Lista las plantillas de la organización, opcionalmente filtradas por WABA.
Path params
orgIdstringrequerido
Query params
wabaIdstring
Respuestas
- 200
curl -X GET 'https://api.mosend.dev/organizations/a1b2c3d4-1234-5678-9abc-def012345678/templates' \ -H 'X-Api-Key: mk_live_<prefix>.<secret>'
Response · 200
{
"data": [
{
"id": "00000000-0000-0000-0000-000000000000",
"createdAt": "2026-05-01T03:42:18.123Z"
}
],
"timestamp": "2026-05-01T03:42:18.123Z"
}/organizations/:orgId/templates/:id bearer
Obtiene el detalle de una plantilla por su id.
Path params
orgIdstringrequeridoidstringrequerido
Respuestas
- 200
curl -X GET 'https://api.mosend.dev/organizations/a1b2c3d4-1234-5678-9abc-def012345678/templates/00000000-0000-0000-0000-000000000000' \ -H 'X-Api-Key: mk_live_<prefix>.<secret>'
Response · 200
{
"data": {
"id": "00000000-0000-0000-0000-000000000000",
"createdAt": "2026-05-01T03:42:18.123Z"
},
"timestamp": "2026-05-01T03:42:18.123Z"
}/organizations/:orgId/templates bearer
Crea una plantilla y la envía a Meta para aprobación.
Path params
orgIdstringrequerido
Body (JSON)
wabaIdstring · uuidrequeridonamestringrequeridolanguagestringrequeridocategorystringrequeridoMARKETINGUTILITYAUTHENTICATIONcomponentsTemplateComponentDto[]requerido
Respuestas
- 201
curl -X POST 'https://api.mosend.dev/organizations/a1b2c3d4-1234-5678-9abc-def012345678/templates' \
-H 'X-Api-Key: mk_live_<prefix>.<secret>' \
-H 'Content-Type: application/json' \
-d '{"wabaId": "00000000-0000-0000-0000-000000000000","name": "<name>","language": "<language>","category": "MARKETING","components": []}'Response · 200
{
"data": {
"id": "00000000-0000-0000-0000-000000000000",
"name": "bienvenida_v1",
"language": "es_CO",
"category": "MARKETING",
"components": []
},
"timestamp": "2026-05-01T03:42:18.123Z"
}/organizations/:orgId/templates/:id bearer
Meta solo permite editar plantillas aprobadas o rechazadas; name/language/category no son editables. Cuotas de Meta: 1 edición/24h, máximo 10/mes por plantilla.
Path params
orgIdstringrequeridoidstringrequerido
Body (JSON)
componentsTemplateComponentDto[]requerido
Respuestas
- 200
curl -X PATCH 'https://api.mosend.dev/organizations/a1b2c3d4-1234-5678-9abc-def012345678/templates/00000000-0000-0000-0000-000000000000' \
-H 'X-Api-Key: mk_live_<prefix>.<secret>' \
-H 'Content-Type: application/json' \
-d '{"components": []}'Response · 200
{
"data": {
"id": "00000000-0000-0000-0000-000000000000",
"name": "bienvenida_v1",
"language": "es_CO",
"category": "MARKETING",
"components": []
},
"timestamp": "2026-05-01T03:42:18.123Z"
}/organizations/:orgId/templates/:id bearer
Borra una plantilla — primero en Meta y luego en la BD local.
Path params
orgIdstringrequeridoidstringrequerido
Respuestas
- 200
curl -X DELETE 'https://api.mosend.dev/organizations/a1b2c3d4-1234-5678-9abc-def012345678/templates/00000000-0000-0000-0000-000000000000' \ -H 'X-Api-Key: mk_live_<prefix>.<secret>'
Response · 200
{
"data": {
"id": "00000000-0000-0000-0000-000000000000",
"createdAt": "2026-05-01T03:42:18.123Z"
},
"timestamp": "2026-05-01T03:42:18.123Z"
}/organizations/:orgId/templates/sync bearer
Sincroniza plantillas desde Meta para todos los WABA de la organización
Path params
orgIdstringrequerido
Respuestas
- 201
curl -X POST 'https://api.mosend.dev/organizations/a1b2c3d4-1234-5678-9abc-def012345678/templates/sync' \ -H 'X-Api-Key: mk_live_<prefix>.<secret>'
Response · 200
{
"data": {
"id": "00000000-0000-0000-0000-000000000000",
"createdAt": "2026-05-01T03:42:18.123Z"
},
"timestamp": "2026-05-01T03:42:18.123Z"
}/organizations/:orgId/templates/upload-header-media bearer
Sube imagen/video/PDF para usar como Header de plantilla. Devuelve header_handle.
Path params
orgIdstringrequerido
Respuestas
- 200
curl -X POST 'https://api.mosend.dev/organizations/a1b2c3d4-1234-5678-9abc-def012345678/templates/upload-header-media' \ -H 'X-Api-Key: mk_live_<prefix>.<secret>'
Response · 200
{
"data": {
"id": "00000000-0000-0000-0000-000000000000",
"createdAt": "2026-05-01T03:42:18.123Z"
},
"timestamp": "2026-05-01T03:42:18.123Z"
}