Inicio rápido
En esta guía vas a crear una cuenta en el ambiente de pruebas y harás tu primera llamada autenticada a la API. No necesitas nada instalado aparte de curl o un cliente HTTP como Postman.
Todos los ejemplos de esta guía usan el ambiente de staging (https://nominapp-api-stage.herokuapp.com). Tiene el mismo comportamiento que producción, pero no transmite datos a la DIAN ni realiza pagos reales.
Registra tu usuario y empresa con una sola petición.
Obtén tu Bearer token para autenticar las peticiones.
Consulta los datos de tu empresa para verificar que todo funciona.
Completa el onboarding para desbloquear todos los endpoints.
Paso 1: Crea tu cuenta
Envía una petición POST a /v1/registries. Este endpoint registra tu usuario y tu empresa al mismo tiempo.
| Campo | Tipo | Descripción | Requerido |
|---|---|---|---|
name | string | Nombre del usuario | ✅ |
company_name | string | Nombre de la empresa | ✅ |
email | string | Correo electrónico | ✅ |
password | string | Contraseña en Base64 | ✅ |
terms_accepted | boolean | Debe ser true | ✅ |
phone | string | Número de celular | ❌ |
payroll_frequency | string | monthly, fortnightly, mixed | ❌ |
workers_number | string | 1-19, 20-49, 50-99, 100-149, 150-200, over_200 | ❌ |
company_id_number | string | Número de identificación de la empresa | ❌ |
El campo password debe enviarse codificado en Base64. Ejemplo: DummyPass1@ → RHVtbXlQYXNzMUA=. Requisitos: mínimo 8 caracteres, al menos un dígito, un símbolo, una mayúscula y una minúscula.
Ejemplo de petición:
Code
Si la petición es exitosa, recibirás esto:
Code
Guarda el company_id (data.company.id), lo vas a necesitar en los siguientes pasos.
Paso 2: Inicia sesión
La API soporta dos métodos de autenticación:
| Método | Cuándo usarlo |
|---|---|
| Bearer token | Integraciones servidor a servidor, scripts, Postman |
| Cookies | Apps web donde el navegador maneja la sesión automáticamente |
En esta guía usamos Bearer token, es el método recomendado para integraciones. Las cookies son una alternativa para apps web donde el navegador maneja la sesión automáticamente. Para profundizar en ambos métodos consulta la documentación de autenticación.
Para iniciar sesión envía una petición POST a /v1/sessions usando tu api_token.
El api_token es una credencial permanente de tu usuario. Es distinto al api_access_token, que se genera en cada inicio de sesión y tiene vigencia de 8 horas. Si no tienes tu api_token, renuévalo con PATCH /v1/users/token.
2.1 Genera el header de autenticación codificando tu email y api_token en Base64:
Code
2.2 Haz la petición. El campo auth_type: bearer en el body es obligatorio — indica a la API que devuelva el token en la respuesta en lugar de setear cookies:
Code
Ejemplo de respuesta:
Code
Guarda el api_access_token — lo usarás como Bearer token en todas las peticiones siguientes. Tiene vigencia de 8 horas; después de ese tiempo debes volver a llamar este endpoint para obtener uno nuevo.
Paso 3: Haz tu primera llamada autenticada
Usa el api_access_token y el company_id del paso 1 para consultar los datos de tu empresa:
Ejemplo de petición:
Code
Ejemplo de respuesta:
Code
Si ves esta respuesta, tu autenticación funciona correctamente. Ya estás haciendo llamadas a la API de Aleluya.
Paso 4: Configura tu empresa
Antes de usar la mayoría de los endpoints de nómina, periodos y personas, necesitas completar el onboarding. Son 3 llamadas al mismo endpoint PATCH /v1/companies/{company_id}.
Si ya creaste tu cuenta desde la interfaz visual, puedes saltarte esta sección. Tu empresa ya está configurada.
Cómo funciona onboarding_step
Cada request incluye el campo onboarding_step, que indica a qué estado debe avanzar el onboarding — no el paso actual, sino el siguiente.
| Llamada | onboarding_step | Qué configuras |
|---|---|---|
| 1 | user_area | Datos básicos de la empresa |
| 2 | invite_admin | Área del usuario |
| 3 | finished | Finaliza el onboarding |
4.1 Completa los datos básicos de la empresa
| Campo | Descripción | Valores |
|---|---|---|
id_number | Número de identificación de la empresa | — |
verification_digit | Dígito de verificación del NIT | — |
document_type | Tipo de documento | ni, cc, ce, ti, pa |
phone | Teléfono de contacto | — |
economic_sector_id | ID del sector económico | GET /v1/economic_sectors |
workers_number | Rango de personas activas | 1-19, 20-49, 50-99, 100-149, 150-200, over_200 |
payroll_frequency | Frecuencia de liquidación | monthly, fortnightly, mixed |
Ejemplo de petición:
Code
4.2 Define el área del usuario
Indica a qué área pertenece el usuario que está configurando la empresa.
| Valor | Área |
|---|---|
general_management | Gerencia general |
administrative | Administrativa |
accounting | Contabilidad |
hr | Recursos humanos |
student | Estudiante |
other | Otra (requiere user_area_other_info con al menos 5 caracteres) |
Ejemplo de petición:
Code
4.3 Finaliza el onboarding
Con esta última llamada el onboarding queda completo y todos los endpoints de la API quedan disponibles.
Ejemplo de petición:
Code
Ejemplo de respuesta:
Code
Cuando onboarding.onboarding_step es "finished", el flujo está completo. Los valores false en onboarding_first_steps son esperados: ese checklist se actualiza cuando registres personas, proceses nóminas e invites otros usuarios. No indica un error.
¿Qué sigue?
Registrar una persona y su contrato
Crea una persona con su contrato, salario y proveedores de seguridad social.
Registrar novedades del período
Agrega vacaciones, incapacidades, horas extras y otros conceptos al período.
Referencia de la API
Explora todos los endpoints: personas, nómina, períodos, pagos y más.