https://analytics.flowsery.com/analytics/api/v1/goalsGraba un evento de objetivo personalizado. Sólo se requiere el nombre; visitanteUid, sessionUid, metadatos y zona horaria son opcionales.
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
| Parametro | Tipo | Descripcion |
|---|---|---|
websiteId | string | ID 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. |
domain | string | Sitio 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
| Parametro | Tipo | Descripcion |
|---|---|---|
visitorUid | string | ID de visitante Flowsery opcional, que generalmente se obtiene de la cookie _fs_vid en su propio backend. |
sessionUid | string | ID de sesión Flowsery opcional, normalmente procedente de la cookie _fs_sid. |
nameOBLIGATORIO | string | Nombre del objetivo (letras minusculas, numeros, guiones bajos y guiones; max. 64 caracteres). |
metadata | object | Pares clave-valor personalizados opcionales. Mantenga 10 claves o menos. |
Reglas del campo metadata
<strong>Claves:</strong> Solo letras minusculas, numeros, guiones bajos (_) y guiones (-). Max. 64 caracteres.
<strong>Valores:</strong> Cualquier cadena de texto hasta 255 caracteres. El contenido HTML y de scripts se elimina automaticamente por seguridad.
<strong>Limite:</strong> Hasta 10 parametros personalizados por evento.
No se requiere vista de página existente
El backend puede crear el registro de objetivos a pedido. No se debe documentar que este punto final requiera una vista de página previamente registrada.Respuestas de error
<strong>400 Solicitud incorrecta</strong>: se devuelve cuando la carga útil no es válida.
<strong>404 No encontrado</strong>: no forma parte del contrato normal de creación de objetivos.
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: {
name: "Elon Musk",
email: "musk@x.com",
},
}),
}
);
const result = await response.json();
res.status(200).send("Goal tracked");
};{
"status": "success",
"data": [{
"message": "Goal created successfully"
}]
}