ByDomuDevelopers

Registrar uso del producto

POSThttps://api.bydomu.com/v1/usage/events

Un evento de uso de tu producto (una función que se usó, un límite que se alcanzó, etc.), del mismo tipo que Domu('track', …) en el widget. Identifica a quién pertenece con contactId, externalId (el id de tu usuario en tu sistema) o email. Se agrega por contacto y por día para la ficha y el riesgo de cancelación; el detalle se retiene un tiempo acotado. Responde 200 aunque no encuentre el contacto.

Permiso que pide

contacts:write

Encabezado obligatorio

X-API-Key · clave secreta

Nivel de acceso

Nivel 3 · con revisión de soporte

Encabezados

1 · todos opcionales
Idempotency-Keystring · opcional
Clave única de la operación (8-128 caracteres de [a-zA-Z0-9._:-]). Un reintento con la misma clave y el mismo cuerpo devuelve la respuesta original sin repetir la operación. Vive 24 horas.8–128 chars

Cuerpo (JSON)

9 · 1 obligatorios
namestring · obligatorio
1–60 chars
labelstring · opcional
≤ 80 chars
propsobject · opcional
contactIdstring · opcional
externalIdstring · opcional
≤ 200 chars
emailstring · opcional
email
Ver los otros 3 parámetros
companyIdstring · opcional
≤ 200 chars
actorLabelstring · opcional
≤ 120 chars
occurredAtstring · opcional
date-time

Respuesta 200

SuccessFlag · 1 campos
dataLa operación se aceptó.
successbooleantrue

Errores posibles

con la forma { "error": { "code", "message" } }
  • 400Datos inválidos: el cuerpo o la query no cumplen el esquema, o `Idempotency-Key` está mal formada.
  • 401UNAUTHORIZED
  • 402PAYMENT_REQUIRED
  • 403FORBIDDEN
  • 409DUPLICATE
  • 429RATE_LIMITED
  • 500INTERNAL_ERROR
PeticiónPOST/v1/usage/events
SDK oficial · @bydomu/sdk · aún no está en npm
import { ByDomu } from "@bydomu/sdk";

const bydomu = new ByDomu({
  apiKey: process.env.BYDOMU_API_KEY,
});

const { data } = await bydomu.events.trackUsage({
  "name": "nomina_liquidada",
  "label": "Liquidó la nómina",
  "props": {
    "empleados": 142
  },
  "externalId": "user_8841"
});
200 OK · ejemplo
{
  "data": {
    "success": true
  }
}