https://analytics.flowsery.com/analytics/api/v1/goalsEnregistrez un événement d'objectif personnalisé. Seul le nom est requis; VisitorUid, sessionUid, métadonnées et fuseau horaire sont facultatifs.
Les jetons d'espace de travail nécessitent un sélecteur de site Web
Les jetons de l'API Workspace peuvent accéder à tous les sites Web de l'espace de travail. Transmettez <code>websiteId</code> ou <code>domain</code> pour que Flowsery sache quel site Web interroger ou muter. Les clés API de site Web sont déjà limitées à un seul site Web, le sélecteur peut donc être omis.Sélecteur de site Web
| Parametre | Taper | Description |
|---|---|---|
websiteId | string | ID de site Web à utiliser avec un jeton API d'espace de travail. Incluez ce champ dans le corps JSON, sauf si vous fournissez domain. Omettre lors de l'authentification avec une clé API de site Web. |
domain | string | Site Web domain à utiliser avec un jeton API d'espace de travail lorsque websiteId n'est pas fourni. Incluez ce champ dans le corps JSON. Omettre lors de l'authentification avec une clé API de site Web. |
Corps de la requete
| Parametre | Taper | Description |
|---|---|---|
visitorUid | string | ID de visiteur Flowsery facultatif, provenant généralement du cookie _fs_vid sur votre propre backend. |
sessionUid | string | ID de session Flowsery facultatif, provenant généralement du cookie _fs_sid. |
nameREQUIS | string | Nom de l'objectif (lettres minuscules, chiffres, tirets bas et tirets ; max 64 caracteres). |
metadata | object | Paires clé-valeur personnalisées facultatives. Limitez-vous à 10 clés ou moins. |
Regles du champ metadata
<strong>Cles :</strong> Uniquement des lettres minuscules, des chiffres, des tirets bas (_) et des tirets (-). Max 64 caracteres.
<strong>Valeurs :</strong> N'importe quelle chaine jusqu'a 255 caracteres. Le contenu HTML et script est automatiquement supprime pour la securite.
<strong>Limite :</strong> Jusqu'a 10 parametres personnalises par evenement.
Aucune page vue existante requise
Le backend peut créer l’enregistrement d’objectif à la demande. Ce point de terminaison ne doit pas être documenté comme nécessitant une page vue préalablement enregistrée.Reponses d'erreur
<strong>400 Bad Request</strong>: renvoyé lorsque la charge utile n'est pas valide.
<strong>404 Not Found</strong>: ne fait pas partie du contrat normal de création d'objectif.
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"
}]
}