api-referencePOST
POSThttps://analytics.flowsery.com/analytics/api/v1/goals

Graba un evento de objetivo personalizado. Sólo se requiere el nombre; visitanteUid, sessionUid, metadatos y zona horaria son opcionales.

Token Bearer (token de workspace o clave API de sitio web)

Los tokens de espacio de trabajo necesitan un selector de sitio web

Los tokens de API del espacio de trabajo pueden acceder a todos los sitios web del espacio de trabajo. Pase <code>websiteId</code> o <code>domain</code> para que Flowsery sepa qué sitio web consultar o mutar. Las claves API del sitio web ya están destinadas a un sitio web, por lo que se puede omitir el selector.

Selector de sitios web

ParametroTipoDescripcion
websiteIdstringID del sitio web para usar con un token de API del espacio de trabajo. Incluya este campo en el cuerpo JSON a menos que proporcione domain. Omitir al autenticarse con una clave API de sitio web.
domainstringSitio web domain para usar con un token API de espacio de trabajo cuando no se proporciona websiteId. Incluya este campo en el cuerpo JSON. Omitir al autenticarse con una clave API de sitio web.

Cuerpo de solicitud

ParametroTipoDescripcion
visitorUidstringID de visitante Flowsery opcional, que generalmente se obtiene de la cookie _fs_vid en su propio backend.
sessionUidstringID de sesión Flowsery opcional, normalmente procedente de la cookie _fs_sid.
nameOBLIGATORIOstringNombre del objetivo (letras minusculas, numeros, guiones bajos y guiones; max. 64 caracteres).
metadataobjectPares clave-valor opcionales, en cadenas, que se guardan con la conversión. Hasta 10 pares.

Reglas del campo metadata

<strong>Claves:</strong> los nombres cortos en minúsculas como <code>plan</code> o <code>signup_source</code> mantienen los informes legibles. La API no comprueba el formato de las claves.

<strong>Valores:</strong> cadenas, guardadas tal como se envían. No incluyas datos personales como correos electrónicos.

<strong>Límite:</strong> hasta 10 pares por evento. Con más de 10, la API responde <code>400 Bad Request</code>.

No se requiere vista de página existente

El objetivo se crea con el primer uso y una conversión no necesita una página vista previa. Sin visitorUid, la conversión se registra como anónima. Cada llamada añade una conversión, así que repetirla cuenta el objetivo dos veces.

Respuestas de error

<strong>400 Bad Request</strong> -- La carga no es válida, por ejemplo un nombre con mayúsculas o espacios, o más de 10 pares de metadatos.

<strong>404 Not Found</strong> -- El websiteId o el domain no corresponde a ningún sitio al que esta credencial pueda acceder.

Solicitud de ejemplo (Node.js)
const handler = async (req, res) => {
  const _fs_vid = req.cookies._fs_vid;
  const _fs_sid = req.cookies._fs_sid;

  const response = await fetch(
    "https://analytics.flowsery.com/analytics/api/v1/goals",
    {
      method: "POST",
      headers: {
        Authorization: `Bearer ${FLOWSERY_API_KEY}`,
        "Content-Type": "application/json",
      },
      body: JSON.stringify({
        websiteId: process.env.FLOWSERY_WEBSITE_ID,
        visitorUid: _fs_vid,
        sessionUid: _fs_sid,
        name: "newsletter_signup",
        metadata: {
          plan: "pro",
          form: "footer",
        },
      }),
    }
  );

  const result = await response.json();
  res.status(200).send("Goal tracked");
};
200
{
  "status": "success",
  "data": [{
    "message": "Custom event created successfully"
  }]
}