Ir al contenido

Desarrolladores

Contactos

Contactos del CRM con su estado de validación en VIES.

GET /contacts

Listar contactos

Contactos del CRM de tu cuenta, con su estado de validación en VIES.

Permiso exigido: contacts:contacts.read (Contactos › Contactos › Leer)

Paginación: Parámetros page y limit. La respuesta incluye total, page, limit, pages.

Parámetros

NombreEnTipoDescripción
pagequeryinteger
Por defecto: 1
limitqueryinteger
Por defecto: 50 · máximo: 200

Respuestas

200 Lista de contactos · application/json

NombreTipoDescripción
contactsobject[]
contacts[].idstring
contacts[].firstNamestring
contacts[].lastNamestring
contacts[].fullNamestring
contacts[].emailstring (email)
puede ser null
contacts[].phonestring
puede ser null
contacts[].nifstring
puede ser null
contacts[].countryCodestring
puede ser null
contacts[].isActiveboolean
contacts[].preferredLanguagestring
contacts[].viesValidboolean
puede ser null
contacts[].viesCheckedAtstring (date-time)
puede ser null
contacts[].viesTraderNamestring
puede ser null
totalintegerTotal de elementos que cumplen el filtro.
pageintegerPágina devuelta (empieza en 1).
limitintegerTamaño de página aplicado.
pagesintegerNúmero total de páginas.

401 Falta el token Bearer o no es válido. · application/json

NombreTipoDescripción
errorstringMensaje de error legible
required_permissionstringSolo en el 403: el permiso que falta (área:recurso.acción)

403 El token no tiene el permiso exigido o el recurso queda fuera de su alcance. · application/json

NombreTipoDescripción
errorstringMensaje de error legible
required_permissionstringSolo en el 403: el permiso que falta (área:recurso.acción)

429 Se ha alcanzado un límite de uso. · application/json

NombreTipoDescripción
errorstringMensaje de error legible
required_permissionstringSolo en el 403: el permiso que falta (área:recurso.acción)

Ejemplos

curl
curl -X GET "https://app.bm.consulting/api/v1/contacts?limit=50" \
  -H "Authorization: Bearer $BMC_TOKEN"
TypeScript (fetch)
const res = await fetch("https://app.bm.consulting/api/v1/contacts?limit=50", {
  method: "GET",
  headers: {
    Authorization: `Bearer ${process.env.BMC_TOKEN}`,
  },
});
if (!res.ok) throw new Error(`${res.status} ${await res.text()}`);
const data = await res.json();
Python (requests)
import os
import requests

res = requests.get(
    "https://app.bm.consulting/api/v1/contacts?limit=50",
    headers={"Authorization": f"Bearer {os.environ['BMC_TOKEN']}"},
    timeout=30,
)
res.raise_for_status()
data = res.json()

POST /contacts

Crear un contacto

Crea o actualiza un contacto del CRM de tu cuenta sin duplicarlo (busca por NIF, después por correo y después por teléfono). Una llamada repetida con la misma identidad actualiza el contacto existente.

Permiso exigido: contacts:contacts.create (Contactos › Contactos › Crear)

Paginación: Sin paginación: devuelve el conjunto completo.

Cuerpo de la petición application/json

NombreTipoDescripción
firstNameobligatoriostring
lastNameobligatoriostring
emailstring (email)
puede ser null
phonestring
puede ser null
nifstring
puede ser null
NIF, NIE o CIF: la clave que mejor evita duplicados
preferredLanguagestring

Respuestas

200 Contacto creado o actualizado · application/json

NombreTipoDescripción
idstring
firstNamestring
lastNamestring
fullNamestring
emailstring (email)
puede ser null
phonestring
puede ser null
nifstring
puede ser null
countryCodestring
puede ser null
isActiveboolean
preferredLanguagestring
viesValidboolean
puede ser null
viesCheckedAtstring (date-time)
puede ser null
viesTraderNamestring
puede ser null

400 Error de validación · application/json

NombreTipoDescripción
errorstringMensaje de error legible
required_permissionstringSolo en el 403: el permiso que falta (área:recurso.acción)

401 Falta el token Bearer o no es válido. · application/json

NombreTipoDescripción
errorstringMensaje de error legible
required_permissionstringSolo en el 403: el permiso que falta (área:recurso.acción)

403 El token no tiene el permiso exigido o el recurso queda fuera de su alcance. · application/json

NombreTipoDescripción
errorstringMensaje de error legible
required_permissionstringSolo en el 403: el permiso que falta (área:recurso.acción)

429 Se ha alcanzado un límite de uso. · application/json

NombreTipoDescripción
errorstringMensaje de error legible
required_permissionstringSolo en el 403: el permiso que falta (área:recurso.acción)

Ejemplos

curl
curl -X POST "https://app.bm.consulting/api/v1/contacts" \
  -H "Authorization: Bearer $BMC_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"firstName":"string","lastName":"string"}'
TypeScript (fetch)
const res = await fetch("https://app.bm.consulting/api/v1/contacts", {
  method: "POST",
  headers: {
    Authorization: `Bearer ${process.env.BMC_TOKEN}`,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    "firstName": "string",
    "lastName": "string"
  }),
});
if (!res.ok) throw new Error(`${res.status} ${await res.text()}`);
const data = await res.json();
Python (requests)
import os
import requests

res = requests.post(
    "https://app.bm.consulting/api/v1/contacts",
    headers={"Authorization": f"Bearer {os.environ['BMC_TOKEN']}"},
    json={
        "firstName": "string",
        "lastName": "string",
    },
    timeout=30,
)
res.raise_for_status()
data = res.json()
Email
Contacto