Ir al contenido

Bearer token

Authorization: Bearer <token_de_acceso>
Content-Type: application/json
Accept: application/json
  1. Alta de integrador → token maestro (correo + respuesta JSON)
  2. Crear empresa POST /api/ubl2.1/config/{nit} → token de esa empresa
  3. Panel web de la empresa (api_token)
  4. Login API (abajo)

Importante: El token de Sandbox no funciona en Producción. Usa el host correcto: Ambientes.

POST /api/login
Content-Type: application/json
{
"email": "usuario@empresa.com",
"password": "tu_password"
}

La respuesta incluye el api_token para usar como Bearer. Útil si tu app no guarda el token del alta.

TokenSirve para
Maestro (integrador)Crear NITs, comprar cupo, ver plan
Empresa (NIT)Emitir FE, NC, nómina, RADIAN, RIPS, etc. de ese NIT

No todo /api exige token. Ejemplos:

RutaUso
GET /api/ubl2.1/environmentIdentificar Sandbox/Prod
POST /api/ubl2.1/integrators/registerAlta self-serve
GET /api/ubl2.1/grid-pay/productsCatálogo FACT-E
POST /api/loginObtener token
GET /api/ubl2.1/listingListados auxiliares

El resto de emisión/configuraión requiere Bearer.

Ventana de terminal
curl -sS https://sandbox-api.gridbilling.gridsoft.co/api/ubl2.1/environment \
-H "Accept: application/json"
curl -sS https://sandbox-api.gridbilling.gridsoft.co/api/ubl2.1/invoice/{testSetId} \
-H "Authorization: Bearer TU_TOKEN" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d @invoice.json
  • Un token por empresa / integración
  • Nunca en frontends públicos ni repos
  • Rota el token si se filtra
  • Solo HTTPS
SíntomaCausa
401Token vacío, mal formado o de otro host
422Body incompleto (no es auth)
CSRF en /login webEso es el panel, no POST /api/login

La API REST no usa sesión web ni CSRF; solo Bearer (salvo rutas públicas).

Respuestas y errores