Campañas

ToolEndpoint RESTAnotaciones
list_campaignsGET /v1/campaignslectura, idempotente
get_campaignGET /v1/campaigns/{id}lectura, idempotente
create_campaignPOST /v1/campaignsescritura
update_campaignPATCH /v1/campaigns/{id}escritura
delete_campaignDELETE /v1/campaigns/{id}destructiva
send_campaignPOST /v1/campaigns/{id}/sendescritura
get_campaign_audienceGET /v1/campaigns/{id}/audiencelectura, idempotente
add_campaign_audiencePOST /v1/campaigns/{id}/audienceescritura
remove_campaign_audience_clientDELETE /v1/campaigns/{id}/audience/{phone}destructiva, idempotente
clear_campaign_audienceDELETE /v1/campaigns/{id}/audiencedestructiva

CRUD básico

list_campaigns

CampoTipoDefault
limit1-20050
offset≥ 00
sortBy"title" \| "creationDate" \| "lastUpdate"lastUpdate
sortDirection"asc" \| "desc"desc

get_campaign / delete_campaign

Sólo requieren campaignId.

create_campaign

CampoTipoRequeridoDescripción
titlestring
category"marketing" \| "utility" \| "authentication"
platformstringnoDefault "whatsapp".
templateNamestringnoSi se incluye, el API rellena language, message, template automáticamente.
message, template, language, wabaIdstringnoSobreescribibles.
ownersstring[] (emails)no

update_campaign

Mismos campos que create_campaign (todos opcionales), más campaignId.


Audiencia

get_campaign_audience

CampoTipoDefault
campaignIdstring
limit1-50050
offset≥ 00
sortBy"name" \| "creationDate" \| "lastUpdate"lastUpdate
sortDirection"asc" \| "desc"desc

add_campaign_audience

{
  "name": "add_campaign_audience",
  "arguments": {
    "campaignId": "promo_julio",
    "clients": [
      { "phoneNumber": "+521234567890", "name": "Ana López" },
      { "phoneNumber": "+529876543210", "name": "Beto Pérez" }
    ]
  }
}

remove_campaign_audience_client

CampoRequerido
campaignId
phoneNumber

clear_campaign_audience

Sólo campaignId. Vacía toda la audiencia.


send_campaign

Dispara el envío real. La sección template debe ser consistente con la plantilla configurada en la campaña.

CampoTipoRequeridoDescripción
campaignIdstring
channelIdstringCanal/agente desde el que se enviará.
template.namestringno
template.paramsstring[]no
template.type"image" \| "video" \| "document"no
template.filestring (URL)noHeader multimedia.
template.buttons[]objetonoSoporta sub_type: url \| phone_number \| quick_reply \| otp \| flow.
template.sendToProblematicbooleannoDefault true.
template.sendToUndeliverablebooleannoDefault true.
template.scheduledDatesstring[] ISO 8601noPara programar el envío.