Módulo Collect

Collect · Cobros con CVU dinámico

Emití un CVU por cliente o por factura. Tu agente recibe pagos con conciliación automática: cuando entra plata a ese CVU dinámico, sabemos exactamente qué factura era y avisamos por webhook.

Estado: Roadmap Q4 2026
El módulo Collect requiere la provisión de CVUs dinámicos por parte de Pomelo. La API abajo es la interfaz planificada final.

Overview

Collect es útil cuando tu agente factura o cobra a terceros. En lugar de compartir tu CVU único y después conciliar manualmente qué transferencia corresponde a qué factura, generás un CVU específico por cada cobro.

flow
1. Tu agente genera un CVU para factura F-0001-000042
2. Se lo pasa al cliente (via email, link, QR code)
3. Cliente transfiere desde su banco al CVU único
4. Webhook collect.received llega a tu app
5. Sabés inmediatamente: qué cliente pagó qué factura

POST /v1/collect/receivables

curl
curl -X POST https://api.argentive.ai/v1/collect/receivables \
  -H "Authorization: Bearer sk_test_..." \
  -H "Content-Type: application/json" \
  -d '{
    "amount":     150000,
    "currency":   "ARS",
    "concept":    "Factura 0001-000042",
    "client": {
      "name":     "Cliente XYZ SA",
      "tax_id":   "30XXXXXXXX"
    },
    "expires_in_hours": 168,
    "metadata": {
      "invoice_id": "F-0001-000042",
      "internal_ref": "sale_9873"
    }
  }'

Response 201

response
{
  "id":         "col_01HW3F...",
  "status":     "pending",
  "cvu":        "0000034411112222333344",
  "alias":      "argentive.factura-0001-000042",
  "amount":     150000,
  "currency":   "ARS",
  "concept":    "Factura 0001-000042",
  "client":     { "name": "Cliente XYZ SA", "tax_id": "30XXXXXXXX" },
  "payment_url":"https://pay.argentive.ai/c/01HW3F...",
  "expires_at": "2026-07-08T12:04:33Z"
}

GET /v1/collect/receivables/:id

Obtiene el estado actual del receivable.

Estados posibles

  • pending — CVU generado, esperando transferencia
  • partially_received — llegó menos que el monto esperado
  • received — llegó el monto completo
  • overpaid — llegó más del esperado
  • expired — se venció sin recibir la plata
  • refunded — devuelto (por overpayment o cancelación)

GET /v1/collect/receivables

Lista receivables con filtros comunes.

curl
curl -X GET "https://api.argentive.ai/v1/collect/receivables?status=pending&limit=25" \
  -H "Authorization: Bearer sk_test_..."

Webhooks

  • collect.received — llegó el monto exacto
  • collect.partially_received — llegó menos (partial payment)
  • collect.overpaid — llegó más (auto-refund del excedente)
  • collect.expired — se venció sin uso
webhook · collect.received
{
  "event":    "collect.received",
  "receivable_id": "col_01HW3F...",
  "amount":   150000,
  "currency": "ARS",
  "from": {
    "cvu":    "0070007700000000123456",
    "name":   "Cliente XYZ SA",
    "cuit":   "30XXXXXXXX"
  },
  "metadata": {
    "invoice_id": "F-0001-000042",
    "internal_ref": "sale_9873"
  },
  "received_at": "2026-07-02T10:23:44Z"
}

Errores comunes

errores
400  invalid_amount           Monto <= 0 o sobre max permitido
404  receivable_not_found     ID no existe o expiró
409  duplicate_ref            metadata.internal_ref ya asociado a otro receivable