---
title: "Crear Campaign con Customers"
method: POST
path: "/campaigns/customers"
tags: ["Campaigns"]
---

# Crear Campaign con Customers

`POST /campaigns/customers`

## Request

- Base URL: `https://api.trytoku.com`
- URL: `https://api.trytoku.com/campaigns/customers`
- Auth: API key in header `x-api-key`

Crea una campaña y le asocia Customers en una sola llamada.

Se usa para armar la campaña a partir de Customers en vez de deudas puntuales, sin necesidad de asociarlos después. Los envíos se agendan en las fechas de `outbound_dates` usando la hora tal como viene en cada fecha, sin el ajuste por país que aplican `POST /campaigns` y `PUT /edit-campaign`.

Reenviar el mismo Customer no duplica la asociación.

## Headers

- `x-account-key` string: Llave de API de una Account, para operar sobre esa Account en lugar de la principal.

## Request body

- CampaignWithCustomers: Campaña programada junto con los Customers que se van a contactar.
  - `customers` string[]: Identificadores públicos de los Customers que quedan asociados a la campaña.
  - `intention` string: Identificador público de la Intention que define el mensaje a enviar. Se entrega `intention` o `sequence`, nunca ambos.
  - `is_weekly` boolean: Cuando es `true` se omite el aviso de carga de pagos; en caso contrario se intenta agendar 25 horas antes de cada envío, si ese momento no pasó aún.
  - `name` string, required: Nombre con el que se identifica la campaña dentro de la aplicación.
  - `outbound_dates` string[]: Fechas en las que se envía el contacto masivo. Se aceptan hasta 28 fechas, y cada una debe estar en el futuro y dentro de los próximos 56 días.
  - `sequence` string: Identificador público de la Sequence que define los recordatorios a enviar. Se entrega `intention` o `sequence`, nunca ambos.
  - `todays_outbound_delay_in_minutes` integer: Minutos de espera antes de enviar cuando una de las fechas es hoy y su hora de envío ya pasó o queda dentro de este margen. Si al sumarlos se alcanza la hora de corte del país, el envío se agenda para el día siguiente.

## Response `201`

La campaña fue creada con sus Customers asociados.

- CampaignResponse: Campaña recién creada, con los Customers ya asociados.
  - `id` string, required: Identificador público de la campaña creada.
  - `name` string, required: Nombre con el que se identifica la campaña en la aplicación.
  - `outbound_dates` string[], required: Fechas de envío de la campaña, tal como llegaron en la solicitud.
  - `sequence` string, required: Identificador público de la Sequence que define los recordatorios de la campaña.

## Other responses

- `401`: Faltan las credenciales o son inválidas.
- `403`: No tienes acceso a este recurso.
- `404`: La Intention o la Sequence referenciada no existe en la organización autenticada.
- `422`: La Sequence de la campaña envía por WhatsApp y la organización no está habilitada para hacerlo: le falta configuración de mensajería, o le faltan campos en ella. El detalle indica cuáles.
- `429`: Se superó el límite de peticiones permitidas.

## Changes

- **2026-11-03** `a6ef070075b1`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/trytoku/apis/toku-api/changes/campaigns/customers/post.md)

---

[API](https://skmtc.dev/trytoku/apis/toku-api.md) - [All operations](https://skmtc.dev/trytoku/apis/toku-api/llms.txt) - [OpenAPI document](https://skmtc.dev/trytoku/apis/toku-api/revisions/a6ef070075b1?raw)
