Autenticación & API Keys
Todas las peticiones HTTP realizadas a la API de YoEmito deben estar autenticadas mediante un token de acceso (API Key):
Debes incluir tu token en la cabecera HTTP Authorization con el esquema de autenticación Bearer:
Authorization: Bearer ye_test_tu_token_aqui1. Entornos de API Keys
- Sandbox / Entorno de Pruebas: Las claves comienzan con el prefijo
ye_test_. Se utilizan para emitir comprobantes de prueba simulando el comportamiento de SUNAT con correlativos independientes. - Producción: Las claves comienzan con el prefijo
ye_live_. Estas claves firman digitalmente los comprobantes con el certificado digital CDT con validez legal tributaria y los transmiten a los servidores reales de SUNAT.
2. Alcances de la API Key (Scope)
YoEmito te permite crear API Keys con dos niveles de alcance según tus necesidades operativas y de seguridad:
GlobalAcceso Global (Todos los Emisores)
Permite emitir comprobantes y consultar documentos de cualquier empresa o RUC registrado en tu organización. Al usar una clave global, debes especificar obligatoriamente el campo "issuer_id": "iss_..." en el cuerpo de cada petición.
Por EmisorRestringida a un Emisor Específico
Ideal para integrar sucursales, terminales POS, franquicias o clientes SaaS que solo deben tener acceso a su propia facturación.
- Deducción automática de
issuer_id: Ya no necesitas enviar el campoissuer_iden el JSON del comprobante; la API lo asocia automáticamente al emisor vinculado a la llave. - Aislamiento y Protección (403 Forbidden): Si la petición intenta enviar un
issuer_idque no coincide con la llave, la API bloquea la emisión respondiendo con código403 Forbidden. - Consultas y Descargas Aisladas: Los endpoints de consulta (
GET /v1/documents, cotizaciones, notas de venta) y descarga de archivos (PDF, XML, CDR) filtran y devuelven únicamente los datos pertenecientes al emisor autorizado.
Recomendación de seguridad:Protege siempre tus API Keys. Nunca las expongas en repositorios de código abiertos, archivos de configuración del lado del cliente (como aplicaciones SPA, React, Vue o Mobile) ni las transmitas por canales no cifrados. Las peticiones a YoEmito siempre deben ser realizadas desde tu infraestructura backend.