Documentation technique - API Leads

Principe de l'API

Récupération de leads enregistrés dans GetLandy depuis les pages publiées d'un compte donné.

  • Les leads retournés sont marqués comme "lus" dans GetLandy, ainsi, deux appels consécutifs ne retournent pas les mêmes leads, à moins d’utiliser le paramètre "withReaded"
  • Les leads sont retournés dans l’ordre d’arrivée (triés par date croissante)

Informations de connexion

https://api.getlandy.com/leads

HTTP GET

HTTP Header : "Authorization: Bearer <Access_Token>"

Paramètres

Obligatoire Nom Format Description Exemple
-- from <date_ISO8601> filtre les leads après une date donnée from=2020-06-09T14:47:58+0200
-- to <date_ISO8601> filtre les leads avant une date donnée to=2020-06-09T14:47:58+0200
-- withReaded 0 | 1 [default] 0 : sans les leads déjà lus depuis l'API
1 : avec les leads déjà lus depuis l'API
withReaded=1
-- onlyFromUrl <string> filtre les leads pour ne récupérer que ceux issus de l’url donnée url=https://landing.monsite.com/ma-landing
-- markReaded 0 | 1 0 : ne marque pas les leads comme lus, ils seront remontés lors d'un prochain appel
[default] 1 : marque les leads commme "lus", ils ne remonteront pas dans le prochain appel à moins d'utiliser le paramètre withReaded
markReaded=0
-- limit <int> min 1, max 1000
Nombre max de leads remontés dans la réponse. Si des leads non lus restent, le résultat de l'appel aura un "nbResultsMore" correspondant.
limit=100

Exemple d'appel :

curl -H "Authorization: Bearer <ACCESS_TOKEN>" "https://api.getlandy.com/leads?withReaded=1&markReaded=0&limit=5"

Retour API : Format JSON

Nom Format Description Sub
infos <object> Informations sur les résultats de requête
Nom Format Description
state <string> Etat de la réponse : "ok" ou "error"
error <string> Message d'erreur éventuel.
nbResults <int> Nombre de résultats retournés
nbResultsMore <int> Nombre de résultats non lus restant
leads <array> Tableau des leads retournés
Nom Format Description Sub
lead <object> Objet lead
Nom Format Description
id <string> Identifiant GetLandy du lead
date <date_ISO8601> Date de réception du lead
url <string> Url de la page de formulaire d'où provient le lead
pageName <string> Nom de la page dans GetLandy
data <object> Données du lead sous la forme d'un objet avec clés (nom des champs dans le formulaire) / valeurs (valeur saisie ou choisie par l'utilisateur)

Retour OK - HTTP 200

{
    "infos": {
        "nbResults": 2,
        "nbResultsMore": 0,
        "state": "ok",
        "error": ""
    },
    "leads": [
        {
            "id": "lead1",
            "date": "2020-06-05T03:35:43+0000",
            "url": "https:\/\/landing.example.com\/my-landing-page",
            "pageName": "My GetLandy Landing Page",
            "data": {
                "firstname": "Anakin",
                "lastname": "Skywalker",
                "email": "asky@test.com",
                "loves": [
                    "coffee",
                    "tea"
                ]
            }
        },
        {
            "id": "lead2",
            "date": "2020-06-05T04:39:54+0000",
            "url": "https:\/\/landing.example.com\/my-landing-page",
            "pageName": "My GetLandy Landing Page",
            "data": {
                "firstname": "Leia",
                "lastname": "Organa",
                "email": "lorg@test.com"
            }
        }
    ]
}

Retour Erreur - HTTP 401

{
    "infos": {
        "nbResults": 0,
        "nbResultsMore": 0,
        "state": "error",
        "error": "API access ERROR - The resource owner or authorization server denied the request."
    },
    "leads": []
}

Note sur la structure des données dans "data"

Chaque lead contient des informations sur le lead (date du lead, url de la page ...), ainsi que les informations de l’utilisateur qui a rempli le formulaire.
La structure des informations dépend des champs du formulaire renseigné.

Ainsi, si deux pages ont chacune un formulaire avec des noms de champs différents, les leads générés et envoyés via l’API auront des structures différentes.
Exemple :

  • Page A avec un formulaire contenant les champs "nom" et "email"
  • Page B avec un formulaire contenant les champs "email", "tel"

Les leads générés auront la structure suivante :

[
    {
        "..": "..",
        "data": {
            "nom": "Anakin Skywalker",
            "email": "asky@test.com"
        }
    },
    {
        "..": "..",
        "data": {
            "email": "lorg@test.com",
            "tel": "01 02 03 04 05"
        }
    }
]

Exemples d'appels

Jeu de données d'exemple :

Appels: