---
title: "Asociar Invoices a Campaign"
method: POST
path: "/campaigns/invoices"
tags: ["Campaigns"]
---

# Asociar Invoices a Campaign

`POST /campaigns/invoices`

## Request

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

Asocia deudas (Invoices) ya cargadas en Toku a una campaña ya creada.

Se usa después de crear la campaña, para definir qué deudas se van a cobrar en sus envíos. Cada deuda se identifica con `product_id` acompañado de `due_date` o de `invoice_external_id`; `product_id` siempre es obligatorio.

La operación es parcial: las deudas que no se encuentran no interrumpen al resto, y la respuesta informa cuántas quedaron asociadas (`success`), cuántas venían repetidas en la lista (`duplicates`) y cuántas no se encontraron (`not_found`), con el detalle de estas últimas en `errors_detail.invoice_not_found`. Reenviar la misma lista no duplica asociaciones.

## Headers

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

## Request body

- CampaignInvoices: Deudas que se asocian a una campaña ya creada.
  - `id_campaign` string, required: Identificador público de la campaña a la que se asocian las deudas.
  - `invoices` InvoiceIdentificator[], required: Deudas que se asocian a la campaña. Debe venir al menos una.
    - `due_date` string: Identificador del periodo de la deuda, tal como se cargó en Toku. Hasta 32 caracteres sin espacios. Es obligatorio si no se envía `invoice_external_id`.
    - `invoice_external_id` string: Identificador externo de la deuda. Si no se envía, se construye como `{product_id}-{due_date}`.
    - `product_id` string, required: Identificador con el que se cargó la deuda (o el producto adeudado) en Toku. Entre 1 y 256 caracteres, sin espacios al inicio ni al final.

## Response `200`

Resumen de cuántas deudas quedaron asociadas y cuáles no.

- FlatFileImportResponse: Resumen del resultado de asociar deudas a una campaña.
  - `duplicates` integer: Cantidad de entradas repetidas dentro de la lista enviada; se procesan una sola vez.
  - `error` integer: Cantidad de deudas que fallaron por otro motivo. Siempre `0` en esta operación.
  - `errors_detail` ErrorsDetail: Detalle de las deudas que no quedaron asociadas a la campaña.
    - `invoice_is_void` InvoiceIdentificator[]: Deudas anuladas. Esta operación siempre la devuelve vacía.
      - `due_date` string: Identificador del periodo de la deuda, tal como se cargó en Toku. Hasta 32 caracteres sin espacios. Es obligatorio si no se envía `invoice_external_id`.
      - `invoice_external_id` string: Identificador externo de la deuda. Si no se envía, se construye como `{product_id}-{due_date}`.
      - `product_id` string, required: Identificador con el que se cargó la deuda (o el producto adeudado) en Toku. Entre 1 y 256 caracteres, sin espacios al inicio ni al final.
    - `invoice_not_found` InvoiceIdentificator[]: Deudas que no se encontraron en la organización y por eso no se asociaron.
      - `due_date` string: Identificador del periodo de la deuda, tal como se cargó en Toku. Hasta 32 caracteres sin espacios. Es obligatorio si no se envía `invoice_external_id`.
      - `invoice_external_id` string: Identificador externo de la deuda. Si no se envía, se construye como `{product_id}-{due_date}`.
      - `product_id` string, required: Identificador con el que se cargó la deuda (o el producto adeudado) en Toku. Entre 1 y 256 caracteres, sin espacios al inicio ni al final.
  - `format_error` integer: Cantidad de deudas mal formateadas. Siempre `0` en esta operación.
  - `not_found` integer: Cantidad de deudas que no se encontraron en la organización.
  - `success` integer: Cantidad de deudas encontradas que quedaron asociadas a la campaña.

## Other responses

- `401`: Faltan las credenciales o son inválidas.
- `403`: No tienes acceso a este recurso.
- `404`: El recurso solicitado no existe.
- `422`: El cuerpo de la petición no pasó la validación.
- `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/invoices/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)
