Grupos de WhatsApp

Referencia de 9 endpoints generados desde mosend-wb-backend/src/modules/whatsapp-groups/whatsapp-groups.controller.ts.

Base path: /organizations/:orgId/whatsapp-groups·9 endpoints·Source: mosend-wb-backend/src/modules/whatsapp-groups/whatsapp-groups.controller.ts
GET/organizations/:orgId/whatsapp-groups
bearer

Lista los grupos de WhatsApp de la organización.

Path params

  • orgIdstringrequerido

Query params

  • phoneNumberIdstringrequerido

Respuestas

  • 200
curl -X GET 'https://api.mosend.dev/organizations/a1b2c3d4-1234-5678-9abc-def012345678/whatsapp-groups' \
  -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"
}
POST/organizations/:orgId/whatsapp-groups
bearer

La creación es asíncrona: Meta devuelve un identificador de solicitud y el grupo queda «creándose» hasta que llega su webhook. Requiere cuenta de empresa oficial (OBA). Máximo 8 participantes por grupo.

Path params

  • orgIdstringrequerido

Body (JSON)

  • phoneNumberIdstring · uuidrequerido

    Número de la empresa que crea el grupo y desde el que se le escribe.

  • subjectstringrequerido
  • descriptionstring
  • joinApprovalModestring
    auto_approveapproval_required

    `auto_approve` (entra quien tenga el enlace) o `approval_required` (cada solicitud hay que aprobarla). Por defecto, el de Meta: auto_approve.

Respuestas

  • 201
curl -X POST 'https://api.mosend.dev/organizations/a1b2c3d4-1234-5678-9abc-def012345678/whatsapp-groups' \
  -H 'X-Api-Key: mk_live_<prefix>.<secret>' \
  -H 'Content-Type: application/json' \
  -d '{"phoneNumberId": "00000000-0000-0000-0000-000000000000","subject": "<subject>","description": "<description>","joinApprovalMode": "auto_approve"}'
Response · 200
{
  "data": {
    "id": "00000000-0000-0000-0000-000000000000",
    "name": "string",
    "description": "string"
  },
  "timestamp": "2026-05-01T03:42:18.123Z"
}
GET/organizations/:orgId/whatsapp-groups/:id
bearer

Un grupo con sus participantes.

Path params

  • orgIdstringrequerido
  • idstringrequerido

Respuestas

  • 200
curl -X GET 'https://api.mosend.dev/organizations/a1b2c3d4-1234-5678-9abc-def012345678/whatsapp-groups/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"
}
DELETE/organizations/:orgId/whatsapp-groups/:id
bearer

Elimina el grupo y saca a todos sus participantes.

Path params

  • orgIdstringrequerido
  • idstringrequerido

Respuestas

  • 200
curl -X DELETE 'https://api.mosend.dev/organizations/a1b2c3d4-1234-5678-9abc-def012345678/whatsapp-groups/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"
}
POST/organizations/:orgId/whatsapp-groups/:id/invite-link
bearer

Quien tuviera el enlace viejo ya no podrá entrar con él. Los que ya están dentro siguen dentro.

Path params

  • orgIdstringrequerido
  • idstringrequerido

Respuestas

  • 201
curl -X POST 'https://api.mosend.dev/organizations/a1b2c3d4-1234-5678-9abc-def012345678/whatsapp-groups/00000000-0000-0000-0000-000000000000/invite-link' \
  -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"
}
DELETE/organizations/:orgId/whatsapp-groups/:id/participants
bearer

A quien se saca de un grupo NO puede volver a entrar con el enlace de invitación.

Path params

  • orgIdstringrequerido
  • idstringrequerido

Body (JSON)

  • waIdsstring[]requerido

    Teléfonos o identificadores de WhatsApp. Un grupo admite 8 participantes, así que no tiene sentido aceptar listas mayores.

Respuestas

  • 200
curl -X DELETE 'https://api.mosend.dev/organizations/a1b2c3d4-1234-5678-9abc-def012345678/whatsapp-groups/00000000-0000-0000-0000-000000000000/participants' \
  -H 'X-Api-Key: mk_live_<prefix>.<secret>' \
  -H 'Content-Type: application/json' \
  -d '{"waIds": []}'
Response · 200
{
  "data": {
    "id": "00000000-0000-0000-0000-000000000000",
    "name": "string",
    "description": "string"
  },
  "timestamp": "2026-05-01T03:42:18.123Z"
}
GET/organizations/:orgId/whatsapp-groups/:id/join-requests
bearer

Solo aplica a grupos creados con aprobación previa.

Path params

  • orgIdstringrequerido
  • idstringrequerido

Respuestas

  • 200
curl -X GET 'https://api.mosend.dev/organizations/a1b2c3d4-1234-5678-9abc-def012345678/whatsapp-groups/00000000-0000-0000-0000-000000000000/join-requests' \
  -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"
}
POST/organizations/:orgId/whatsapp-groups/:id/join-requests
bearer

Aprueba o rechaza solicitudes de ingreso.

Path params

  • orgIdstringrequerido
  • idstringrequerido

Body (JSON)

  • joinRequestIdsstring[]requerido
  • accionstringrequerido
    aprobarrechazar

Respuestas

  • 201
curl -X POST 'https://api.mosend.dev/organizations/a1b2c3d4-1234-5678-9abc-def012345678/whatsapp-groups/00000000-0000-0000-0000-000000000000/join-requests' \
  -H 'X-Api-Key: mk_live_<prefix>.<secret>' \
  -H 'Content-Type: application/json' \
  -d '{"joinRequestIds": [],"accion": "aprobar"}'
Response · 200
{
  "data": {
    "id": "00000000-0000-0000-0000-000000000000",
    "name": "string",
    "description": "string"
  },
  "timestamp": "2026-05-01T03:42:18.123Z"
}