Autenticación
Tokens Bearer por empresa (firma) y por cuenta (gestión).
Todas las llamadas usan un token Bearer en la cabecera Authorization. Hay dos
niveles, según lo que quieras hacer.
Token de empresa — cpe:sign
Para firmar y emitir comprobantes de una empresa (RUC). Se genera en el panel, en la empresa → Tokens API. Pertenece a esa empresa.
Authorization: Bearer <token-de-empresa>
Habilita: POST /v1/cpe, consulta, reenvío y descarga de XML/CDR.
Cómo obtener el token de empresa
Dos formas — elige la que use tu integración (no tienes que cambiar tu sistema):
-
Token directo (API-first). Al crear la empresa la respuesta ya trae el token. ¿No lo guardaste? Genera otro con
POST /v1/companies/{ruc}/token. -
Login con usuario/contraseña. Si tu sistema ya inicia sesión para obtener el token, usa las credenciales de la empresa:
curl -X POST https://api.xmlperu.dev/api/auth/cpe/token \ -H "Content-Type: application/json" \ -d '{ "usuario": "a1b2c3d4", "password": "e5f6g7h8" }'Devuelve
access_token(con expiración). Las credenciales las obtienes al crear la empresa o conGET /v1/companies/{ruc}/credentials. Solo apunta tu sistema a este endpoint.
Token de cuenta — empresas:manage
Para crear y administrar empresas de tu cuenta. Se genera en el panel, en Cuenta → Tokens de API. Pertenece al usuario dueño de la cuenta, no a una empresa.
Authorization: Bearer <token-de-cuenta>
Habilita: GET/POST /v1/companies, cambiar plan y entorno.
Importante · Un token
cpe:signno puede gestionar empresas, y un tokenempresas:manageno puede firmar. Si usas el token equivocado, la respuesta es403.
Errores de autenticación
| Código | Significado |
|---|---|
401 |
Token ausente o inválido |
403 |
El token no tiene el permiso requerido |