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

Enregistrez un événement d'objectif personnalisé. Seul le nom est requis; VisitorUid, sessionUid, métadonnées et fuseau horaire sont facultatifs.

Jeton Bearer (jeton workspace ou clé API de site)

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

ParametreTaperDescription
websiteIdstringID 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.
domainstringSite 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

ParametreTaperDescription
visitorUidstringID de visiteur Flowsery facultatif, provenant généralement du cookie _fs_vid sur votre propre backend.
sessionUidstringID de session Flowsery facultatif, provenant généralement du cookie _fs_sid.
nameREQUISstringNom de l'objectif (lettres minuscules, chiffres, tirets bas et tirets ; max 64 caracteres).
metadataobjectPaires 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.

Exemple de requete (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: {
          name: "Elon Musk",
          email: "musk@x.com",
        },
      }),
    }
  );

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