Para el modelo conceptual (cómo se relacionan una plataforma y sus cuentas hijas, cómo funciona el cobro), revisa Cuentas hijas (plataforma). El detalle de cada endpoint —parámetros y respuestas— vive en la sección Endpoints de esta misma pestaña. ¿Buscas una visión general, sin código, de cómo Tellen ayuda a tu producto? Empieza por Software y plataformas.
Cómo funciona el modelo plataforma
- Tu cuenta de plataforma es tu cuenta de Tellen, habilitada por nosotros para administrar otras cuentas. Su token autentica todas tus llamadas.
- Cada cuenta hija corresponde a un cliente tuyo: un negocio ecuatoriano real con su propio RUC. Tú las creas y las operas por completo desde la API.
- El
account_idde la ruta indica sobre qué cuenta actúa cada solicitud. Cuando operas un cliente, ese identificador es siempre el de la cuenta hija, no el tuyo. - Tellen te cobra a ti, la plataforma. Tus clientes no pagan su uso de Tellen.
Antes de empezar: tu cuenta de plataforma
Antes de crear la cuenta de tu primer cliente, necesitas tu propia cuenta de plataforma. Esta es la cuenta que Tellen factura —la de tu empresa, la que cobra a tus clientes—, así que se crea a partir de tu RUC, no el de ellos.1
Crea tu cuenta de Tellen con tu RUC
Regístrate en dashboard.tellen.app con el RUC de tu empresa. Como cualquier cuenta de Tellen, el perfil se completa automáticamente desde el SRI.
2
Pídenos habilitar el acceso de plataforma
Escríbenos para activar el acceso de plataforma sobre tu cuenta. Sin él, tu cuenta solo se administra a sí misma y no puede crear cuentas hijas.
3
Genera tu token de API
Ya con el acceso activo, crea el token desde tu consola de plataforma (ver la sección siguiente). Ese token autentica todas las llamadas de esta guía.
A partir de aquí, “tu cuenta” es esta cuenta de plataforma, y “cuentas hijas” son las de tus clientes, que creas en el paso 1 de la guía rápida. Tellen te cobra a ti por el uso de todas ellas.
Autenticación
Todas las llamadas van ahttps://dashboard.tellen.app, bajo /api/v1/, con un token en el encabezado:
dashboard.tellen.app/accounts/:account_id/platform/api_tokens).
Un token solo puede actuar sobre su propia cuenta o sobre una cuenta hija que le pertenece. Cualquier otra cuenta responde 404 —no revelamos si existe—, así que un 404 en estos endpoints casi siempre significa que el account_id no es una cuenta hija tuya.
Guía rápida: de crear un cliente a su primera factura
El flujo completo son siete pasos, en orden. Cada paso está en cURL, Node y Ruby. Los ejemplos de Node usanfetch (nativo desde Node 18) y los de Ruby usan Net::HTTP (librería estándar); ninguno necesita dependencias externas.
Define primero tus credenciales. Reemplaza el token por el tuyo, y ve guardando los IDs que devuelve cada paso (el de la cuenta hija, el establecimiento, el contacto, el producto, la factura) para usarlos en los siguientes.
1
Crea la cuenta hija a partir de su RUC
Con el RUC obtenemos toda la información del negocio desde el SRI, así que solo necesitas enviar el RUC, los datos de contacto y el plan. Opcionalmente, El resto del perfil —razón social, dirección, régimen, obligaciones tributarias— y los establecimientos activos se completan automáticamente desde el SRI; no los envías ni los puedes sobrescribir. La respuesta (
production_mode para crearla directo en producción (por defecto arranca en pruebas).201) es el detalle completo de la cuenta, con su id y sus establecimientos, así que no necesitas una consulta adicional.Errores a manejar:
404 si el RUC no existe en el SRI, 409 si ya está registrado en Tellen (no puede haber dos cuentas con el mismo RUC), 422 si el RUC es inválido.2
Sube su certificado de firma
Una cuenta hija no puede emitir al SRI sin un certificado
.p12 activo. Envíalo codificado en base64 junto con su contraseña; si la contraseña es correcta, queda como el certificado activo de la cuenta.3
Crea al menos un punto de emisión
Los establecimientos ya existen (llegaron del SRI en el paso 1), pero los puntos de emisión son internos de Tellen: los creas tú, y necesitas al menos uno para poder facturar.Primero consulta los establecimientos para tomar el Luego crea el punto de emisión sobre ese establecimiento. El
store_id:code (3 dígitos) debe ser el mismo que el cliente ya usaba en ese punto de venta, y el secuencial debe continuar la numeración que traía, no reiniciar en 1.4
Registra los contactos del cliente
Son los clientes y proveedores de tu cliente: a quiénes les factura. Marca al menos uno de
cliente o proveedor.5
Registra su catálogo de productos
Los ítems de cada factura referencian productos por su ID. Cada producto lleva su configuración de impuestos (IVA e ICE), así que no calculas impuestos a mano en la factura.
6
Crea la factura en borrador
Envía el La factura nace en estado
contact_id, el emission_point_id y los items (cada uno con product_id o product_variant_id y su cantidad). Los impuestos se derivan automáticamente de los productos referenciados: tú envías IDs y cantidades, no montos de impuestos.draft: guardada en la cuenta, pero todavía sin efecto tributario. payment_method es un código SRI de forma de pago (por defecto 20).7
Envíala al SRI y consulta el resultado
El envío es asíncrono. La respuesta es Consulta la factura hasta que su
202 Accepted con { "id": "...", "status": "pending" }: la factura quedó encolada, todavía no autorizada.status deje de ser pending:authorized→ autorizada, conaccess_keyyauthorization_number.rejected→ rechazada, con el motivo enerror_message.
Anular una factura autorizada
Para dejar sin efecto una factura ya autorizada, anúlala. Solo es posible hasta el día 7 del mes siguiente a la emisión, y recuerda anular también el comprobante en el portal del SRI.{ "id": "...", "status": "cancelled" }.
Pruebas y producción
Cada cuenta hija trabaja en el ambiente de pruebas o de producción del SRI, según suproduction_mode. Los comprobantes que emites en pruebas no tienen validez legal: úsalo para validar tu integración antes de emitir en producción.
- Al crear la cuenta hija, si omites
production_modearranca en pruebas. - Las consultas y los secuenciales están separados por ambiente.
- Puedes pasar una cuenta a producción al editarla, con
PATCH /api/v1/accounts/:id.
Manejo de errores
Recuerda además el patrón asíncrono del envío al SRI: un
202 significa “encolada”, no “autorizada”. El estado final lo obtienes consultando la factura.
Paginación y filtros
Los listados devuelven el recurso más un objetopagination (page, total_pages, total_count) y aceptan ?page= (25 por página). Algunos aceptan filtros:
- Facturas:
status,contact_id,emission_date_from,emission_date_to. - Contactos:
query,contact_type. - Puntos de emisión:
store_id.
Siguiente paso
Cuentas hijas (plataforma)
El modelo conceptual: cómo se relacionan una plataforma y sus hijas, y cómo funciona el cobro.
Referencia de endpoints
El detalle de cada endpoint, con sus parámetros y respuestas exactas.