Desarrolladores
Un token Bearer por integración, con permisos, caducidad y direcciones IP propios.
Envía el token en todas las peticiones con la cabecera Authorization:
GET https://app.bm.consulting/api/v1/contacts HTTP/1.1
Authorization: Bearer bmc_live_…
Los tokens empiezan por bmc_live_. La API solo se sirve por HTTPS; no envíes el token por canales
sin cifrar ni lo incluyas en la URL.
401.403.403 con required_permission.403.429 (Límites de uso).Al crear el token, en Empresas y grupos, eliges de qué empresas verá datos (paso a paso):
El alcance se recalcula en cada petición. Si quien creó el token deja de ser titular o administrador de una
empresa, el token deja de verla; si la pierde en la cuenta principal, el token deja de funcionar y la API responde
401. Estos cambios pueden tardar hasta 60 segundos en aplicarse. La lista de empresas que alcanza hoy
un token la devuelve GET /auth/whoami.
Una conexión MCP hecha con OAuth (por ejemplo, desde Claude o ChatGPT) alcanza una sola empresa,
la que eliges al autorizar. Para un agente que trabaje con varias empresas, usa un token bmc_live_…
con esas empresas.
Se crea en el área de cliente, en Desarrolladores › Credenciales. El token completo se muestra una sola vez; BMC conserva solo una huella que no permite recuperarlo. Si lo pierdes, rótalo o crea otro.
Rotar un token sustituye su valor por otro nuevo; el anterior deja de servir. Actualiza la integración con el valor nuevo. Rota los tokens de forma periódica y siempre que sospeches que se han expuesto.
Cada token se puede desactivar y volver a activar sin perder su configuración. Mientras está desactivado, la API responde 401.
Revocar un token es definitivo: deja de funcionar y no se puede reactivar. Crea uno nuevo si hace falta.
Puedes fijar una fecha de caducidad al crear el token. Pasada esa fecha, la API responde 401. Para integraciones temporales, usa la caducidad más corta que sirva.
Si BMC desactiva el acceso a la API de una empresa, el área de cliente deja de mostrar la sección Desarrolladores y no se pueden crear, editar ni rotar tokens. Hoy, los tokens y las conexiones que ya existían siguen funcionando hasta que caducan o se revocan. Si quieres cortarlos, desactívalos o revócalos tú antes, o pide a BMC que lo haga.
Un token puede limitarse a una lista de direcciones IP o rangos CIDR, en IPv4 o IPv6 (por ejemplo,
203.0.113.10 o 203.0.113.0/24). Con la lista vacía, el token funciona desde cualquier IP.
Con una lista, las peticiones desde otra IP reciben 403.
BMC evalúa la IP con la que la petición llega a su infraestructura. Si tu servidor sale a Internet a través de un proxy o una puerta de enlace NAT, añade la dirección de salida de ese proxy, no la interna.
Las conexiones MCP hechas con OAuth no llevan lista de IPs: se controlan con el rol, la caducidad y el interruptor
de la conexión (Servidor MCP). Un token bmc_live_… con lista de IPs
no sirve en el servidor MCP, porque el servidor MCP llama a la API desde la infraestructura de BMC y esa llamada se
rechaza. Para usar un token con el servidor MCP, deja la lista vacía.
El token Bearer es la vía para integraciones de servidor a servidor. Para conectar un asistente o cliente MCP (Claude o ChatGPT, por ejemplo) no hace falta copiar ningún token: el servidor MCP usa OAuth 2.1 con PKCE. Quien conecta inicia sesión en BMC, elige la empresa y el rol, y la conexión aparece en Desarrolladores › API y MCP › Credenciales como una credencial de tipo MCP. El token de acceso dura 1 hora y el de renovación 30 días; los gestiona el cliente. Detalle en Servidor MCP y, paso a paso por asistente, en Conecta tu IA.
Un token puede leer un recurso (contactos, trabajadores, cuentas bancarias) sin ver los datos personales que contiene. Si en el token no está marcada la casilla Puede ver datos personales, los recursos marcados como tales en el catálogo devuelven enmascarados:
| Dato | Sin acceso a datos personales |
|---|---|
| NIF | Se conservan el primer carácter y los dos últimos; el resto, asteriscos. |
| IBAN | Se conservan los cuatro primeros y los cuatro últimos caracteres. |
| Teléfono | Se conservan los tres últimos dígitos. |
| Fecha de nacimiento | null |
| Domicilio | null |
Marca esa casilla solo en los tokens de integraciones que lo necesiten de verdad. No es un permiso del catálogo: es una opción de cada token.