Guía
Autenticación y alcances
La API usa OAuth 2.0 con client_credentials. Cambias tus credenciales por un token de una hora y lo mandas en cada llamada.
Pide un token#
POST /oauth/token recibe el client_id y el client_secret de la integración y devuelve un token de acceso.
curl -X POST https://app.conta360.co/api/v1/oauth/token \
-H "Content-Type: application/json" \
-d '{"grant_type":"client_credentials","client_id":"c360_live_…","client_secret":"sk_…"}'{ "access_token": "eyJ…", "token_type": "Bearer", "expires_in": 3600, "scope": "productos.read facturas.write" }El campo scope es opcional: son los alcances que pides, separados por espacio. Sin él, el token lleva todos los alcances de la integración.
Las demás llamadas llevan el encabezado Authorization: Bearer <access_token>.
Revisa tu integración#
GET /me devuelve la integración, la empresa y los alcances del token. En empresa.factura_electronicamente sabes si la empresa factura electrónicamente.
curl https://app.conta360.co/api/v1/me -H "Authorization: Bearer $TOKEN"Lo que controla el administrador#
El administrador de la empresa decide:
- Qué puede hacer la integración (los alcances).
- Desde qué IP puede llamar.
- Cuántas peticiones por minuto puede hacer.
- Hasta qué fecha es válida.
Puede revocarla cuando quiera y ver en Actividad todo lo que hizo.
Alcances#
| Alcance | Qué permite |
|---|---|
productos.read | Leer el catálogo de productos |
facturas.write | Emitir facturas |
facturas.precio | Mandar precio, descuento y líneas fuera del catálogo (nombre) en los ítems |
notas.write | Emitir notas crédito |
Si te falta un alcance, la API responde 403 insufficient_scope y el encabezado X-Required-Scope dice cuál: pídeselo al administrador.