YoEmito LogoYoEmito
Docs /Inicio Rápido

Inicio Rápido

De cero a tu primera factura emitida en sandbox, en 4 pasos.

YoEmito expone una API REST con formato JSON. Toda la interacción ocurre a través de HTTP estándar, eliminando la necesidad de interactuar directamente con servicios web SOAP complejos. En Sandbox no se necesita certificado digital ni credenciales reales de SUNAT — es un entorno simulado, ideal para probar tu integración sin ningún riesgo.

Endpoint Base

https://api.yoemito.dev

Cabeceras de Autenticación

Obtén tu API Key de sandbox (prefijo ye_test_...) desde el panel, y envíala en cada petición:

Authorization: Bearer ye_test_...

Paso 1 — Crea tu emisor

Antes de emitir cualquier comprobante, necesitas registrar un emisor (la empresa a nombre de quien se factura). En sandbox solo necesitas el RUC y la razón social — no se piden credenciales SOL ni certificado digital todavía, eso solo es obligatorio para producción:

curl -X POST https://api.yoemito.dev/v1/issuers \
  -H "Authorization: Bearer ye_test_..." \
  -H "Content-Type: application/json" \
  -d '{
    "ruc": "20513469129",
    "legal_name": "MI EMPRESA S.A.C."
  }'

La respuesta trae un id con prefijo iss_... — ese es tu issuer_id para el siguiente paso. Más detalle en Emisores & Credenciales.

Paso 2 — Control de Idempotencia

Toda emisión requiere la cabecera Idempotency-Key, un valor único por petición (UUID, o cualquier string que no repitas):

Idempotency-Key: <valor_unico_por_peticion>

Si reenvías la misma petición con la misma clave (por un reintento de red, por ejemplo), te devolvemos la respuesta ya guardada sin duplicar el comprobante ni saltar un número de correlativo.

Paso 3 — Emite tu primera factura

Con tu issuer_id del Paso 1, ya puedes emitir. Usa el ejemplo completo del panel de la derecha (POST /v1/invoices) — reemplaza issuer_id por el tuyo y ejecútalo tal cual.

La respuesta llega con status: "queued": tu factura fue aceptada por nuestra API y quedó en cola para firma digital y envío a SUNAT (esto toma segundos, no minutos).

Paso 4 — Consulta el resultado

Haz GET al links.self que te devolvió la respuesta anterior para ver el estado final: accepted (SUNAT la aceptó, ya es válida tributariamente), accepted_with_warnings, o rejected con el motivo exacto. También puedes suscribir un webhook para enterarte al instante sin hacer polling.

¿Qué es el CDR? Es la Constancia de Recepción — la respuesta oficial de SUNAT confirmando que tu comprobante es válido. Se descarga vía links.cdr. Ver la explicación completa en ¿Qué es el CDR y por qué importa?

Próximos pasos

Ecosistema de SDKs y Lenguajes

Puedes consumir la API directamente desde cualquier lenguaje vía HTTP/JSON, o utilizar nuestros SDKs oficiales diseñados para desarrolladores:

JavaScript / TypeScript (Node.js) — Oficial y en vivo

Librería oficial disponible en NPM: npm i @yoemito/sdk-node. Domina en aplicaciones web modernas, Next.js, startups y tiendas de e-commerce. Cero dependencias externas.

PHP (Laravel / WordPress / WooCommerce) — En desarrollo

Pensado para tiendas WooCommerce y sistemas peruanos en PHP que buscan migrar o emitir facturas electrónicas ágilmente sin lidiar con SOAP. Integrable hoy mismo vía llamadas cURL o Guzzle a la API REST.

Python (FastAPI / Django / Odoo) — En desarrollo

Creciendo en startups tecnológicas y empresas peruanas con ERPs modernos como Odoo. Integrable directamente usando las librerías estándar requests o httpx.

Contactar Ventas