Skip to main content

Ventas

Una orden es una compra: quién compró, qué se llevó, cuánto pagó, por qué canal y en qué estado quedó. Requiere el permiso ORDERS_READ.
Este endpoint devuelve datos personales de tus compradores (nombre, email, teléfono, documento). Tratalos con el mismo cuidado con el que los tratás en el dashboard.

Listar ventas

Parámetros

Las compras de créditos (lo que la productora nos paga a nosotros) no aparecen acá. Este feed son tus ventas de entradas, nada más.

Consultar una venta

Devuelve lo mismo que la lista más attendees[], con las credenciales de cada asistente.

Aprobar una venta

Aprueba una venta por transferencia bancaria (bank_transfer) o un pedido por WhatsApp (whatsapp) que está esperando tu revisión, igual que el botón «Aprobar» del dashboard: se emiten las entradas, se descuentan tus créditos y le llegan por mail al comprador. Requiere el permiso ORDERS_WRITE. Responde con la venta ya aprobada, con la misma forma que consultar una venta.
  • Se aprueban las ventas en pending. Una transferencia rechazada por error (cancelled) también se puede aprobar, como desde el dashboard.
  • Si la venta ya estaba aprobada, responde 200 con la venta tal como está y no emite nada de nuevo: si se te cortó la conexión, podés repetir la llamada sin miedo.
  • Sin créditos suficientes para emitir las entradas responde 409 insufficient_credits y la venta sigue pendiente.

Rechazar una venta

Rechaza una venta en pending, igual que «Rechazar» en el dashboard: las entradas que reservaba vuelven a estar a la venta y, si era por transferencia, le avisamos al comprador por mail con el motivo. Dispara el webhook order.rejected. Requiere el permiso ORDERS_WRITE y responde con la venta. Si ya estaba rechazada, responde 200 con la venta tal como está.

Errores al aprobar o rechazar

Cómo enterarte de las ventas a revisar: consultá GET /orders?status=pending&updated_after=… cada tanto. Las que tienen channel bank_transfer o whatsapp son las que esperan tu decisión. El comprobante está en payment.transfer_proof_url.

El objeto Orden

Campos

string
  • pending — esperando el pago (en una transferencia automática, que el comprador transfiera al alias de la compra), o esperando que el organizador apruebe una transferencia / un pedido por WhatsApp. Todavía no hay entradas emitidas.
  • completed — pagada y con las entradas emitidas.
  • failed — el pago fue rechazado.
  • refunded — se devolvió la plata; las credenciales quedaron anuladas.
  • cancelled — se rechazó o se anuló antes de emitir (también una transferencia automática cuyo alias venció sin recibir el pago).
string
Cómo se vendió: mercadopago, stripe, recurrente, dlocal, automatic_transfer, bank_transfer, whatsapp, free, staff.automatic_transfer es la transferencia automática (alias propio por compra, se aprueba sola al acreditarse); bank_transfer la transferencia con comprobante que aprueba el organizador. staff es una carga manual del equipo (o una importación), free es una entrada gratuita reclamada online. Este es el campo para agrupar por canal — es el mismo criterio que usa el dashboard.
number
Lo que efectivamente pagó el comprador, ya con el descuento aplicado y, si el evento traslada la comisión del procesador, con ese recargo incluido.
object | null
El RRPP o vendedor al que se le atribuye la venta, cuando entró por su link de referido o la generó él mismo. null si fue una venta directa.
array
Las líneas de la compra, con el precio que se cobró en ese momento. kind es ticket_type o bundle, y ticket_type_id apunta al ítem correspondiente en tipos de entrada.
number
Cuántas personas trae la orden, que no es lo mismo que cuántos QRs: un combo emite varias credenciales para el mismo asistente. Para contar credenciales, mirá entradas.
string | null
La referencia del pago en el procesador (id de MercadoPago, PaymentIntent de Stripe, intent de Recurrente, id del pago de dLocal, id del pago de la transferencia automática). Sirve para conciliar contra el extracto del procesador. Nunca devolvemos tokens ni credenciales de cobro.
string
Se mueve cada vez que la orden cambia de estado. Es el campo para updated_after.
string | null
Combo de varias fechas (por ejemplo, Navidad + Año Nuevo). El combo se paga en un evento, y cada otra fecha recibe su propia orden con sus asistentes y credenciales. En esa orden, este campo es el id de la orden que se pagó. Su amount es la parte de esa fecha, que el amount de la orden pagada ya incluye: al sumar plata, salteá las órdenes con este campo. Se reembolsa junto con la orden pagada. null en el resto.

attendees[] (solo en el detalle)

Cada elemento de tickets tiene la misma forma que en entradas.
Si el evento pide datos por entrada (configuración “Datos de los asistentes”), la orden trae un elemento de attendees[] por persona, cada uno con su propio nombre, documento y email. En eventos que solo piden los datos del comprador, la orden trae un único asistente con todas las credenciales — el comportamiento histórico.