Pagination Cursor

Hello,

I’m trying to make a loop on a pagination with cursor, unfortunately I can’t do it correctly.

Here is my node:

An example of data :slight_smile:

[
  {
    "header": {
      "statut": 200,
      "message": "OK",
      "total": 75,
      "debut": 0,
      "nombre": 2,
      "curseur": "AoEuMjY2OTAwMjczMDA0NDk=",
      "curseurSuivant": "AoEuMjY2OTAwMjczMDA0NzI="
    },
    "etablissements": [
      {
        "siren": "266900273",
        "nic": "00464",
        "siret": "26690027300464",
        "statutDiffusionEtablissement": "O",
        "dateCreationEtablissement": "1982-01-01",
        "trancheEffectifsEtablissement": "NN",
        "anneeEffectifsEtablissement": null,
        "activitePrincipaleRegistreMetiersEtablissement": null,
        "dateDernierTraitementEtablissement": "2011-02-21T13:53:30",
        "etablissementSiege": false,
        "nombrePeriodesEtablissement": 4,
        "uniteLegale": {
          "etatAdministratifUniteLegale": "A",
          "statutDiffusionUniteLegale": "O",
          "dateCreationUniteLegale": "1974-03-01",
          "categorieJuridiqueUniteLegale": "7364",
          "denominationUniteLegale": "HOSPICES CIVILS DE LYON",
          "sigleUniteLegale": null,
          "denominationUsuelle1UniteLegale": null,
          "denominationUsuelle2UniteLegale": null,
          "denominationUsuelle3UniteLegale": null,
          "sexeUniteLegale": null,
          "nomUniteLegale": null,
          "nomUsageUniteLegale": null,
          "prenom1UniteLegale": null,
          "prenom2UniteLegale": null,
          "prenom3UniteLegale": null,
          "prenom4UniteLegale": null,
          "prenomUsuelUniteLegale": null,
          "pseudonymeUniteLegale": null,
          "activitePrincipaleUniteLegale": "86.10Z",
          "nomenclatureActivitePrincipaleUniteLegale": "NAFRev2",
          "identifiantAssociationUniteLegale": null,
          "economieSocialeSolidaireUniteLegale": "N",
          "caractereEmployeurUniteLegale": "O",
          "trancheEffectifsUniteLegale": "53",
          "anneeEffectifsUniteLegale": "2019",
          "nicSiegeUniteLegale": "00019",
          "dateDernierTraitementUniteLegale": "2022-05-24T13:45:42",
          "categorieEntreprise": "GE",
          "anneeCategorieEntreprise": "2019"
        },
        "adresseEtablissement": {
          "complementAdresseEtablissement": "HOTEL DIEU",
          "numeroVoieEtablissement": "1",
          "indiceRepetitionEtablissement": null,
          "typeVoieEtablissement": "PL",
          "libelleVoieEtablissement": "DE L HOPITAL",
          "codePostalEtablissement": "69002",
          "libelleCommuneEtablissement": "LYON 2EME",
          "libelleCommuneEtrangerEtablissement": null,
          "distributionSpecialeEtablissement": null,
          "codeCommuneEtablissement": "69382",
          "codeCedexEtablissement": "69288",
          "libelleCedexEtablissement": "LYON CEDEX 02",
          "codePaysEtrangerEtablissement": null,
          "libellePaysEtrangerEtablissement": null
        },
        "adresse2Etablissement": {
          "complementAdresse2Etablissement": null,
          "numeroVoie2Etablissement": null,
          "indiceRepetition2Etablissement": null,
          "typeVoie2Etablissement": null,
          "libelleVoie2Etablissement": null,
          "codePostal2Etablissement": null,
          "libelleCommune2Etablissement": null,
          "libelleCommuneEtranger2Etablissement": null,
          "distributionSpeciale2Etablissement": null,
          "codeCommune2Etablissement": null,
          "codeCedex2Etablissement": null,
          "libelleCedex2Etablissement": null,
          "codePaysEtranger2Etablissement": null,
          "libellePaysEtranger2Etablissement": null
        },
        "periodesEtablissement": [
          {
            "dateFin": null,
            "dateDebut": "2011-02-01",
            "etatAdministratifEtablissement": "F",
            "changementEtatAdministratifEtablissement": true,
            "enseigne1Etablissement": "ECOLE SAGES FEMMES",
            "enseigne2Etablissement": null,
            "enseigne3Etablissement": null,
            "changementEnseigneEtablissement": false,
            "denominationUsuelleEtablissement": null,
            "changementDenominationUsuelleEtablissement": false,
            "activitePrincipaleEtablissement": "85.42Z",
            "nomenclatureActivitePrincipaleEtablissement": "NAFRev2",
            "changementActivitePrincipaleEtablissement": false,
            "caractereEmployeurEtablissement": "N",
            "changementCaractereEmployeurEtablissement": false
          },
          {
            "dateFin": "2011-01-31",
            "dateDebut": "2008-01-01",
            "etatAdministratifEtablissement": "A",
            "changementEtatAdministratifEtablissement": false,
            "enseigne1Etablissement": "ECOLE SAGES FEMMES",
            "enseigne2Etablissement": null,
            "enseigne3Etablissement": null,
            "changementEnseigneEtablissement": false,
            "denominationUsuelleEtablissement": null,
            "changementDenominationUsuelleEtablissement": false,
            "activitePrincipaleEtablissement": "85.42Z",
            "nomenclatureActivitePrincipaleEtablissement": "NAFRev2",
            "changementActivitePrincipaleEtablissement": true,
            "caractereEmployeurEtablissement": "N",
            "changementCaractereEmployeurEtablissement": false
          },
          {
            "dateFin": "2007-12-31",
            "dateDebut": "1996-12-25",
            "etatAdministratifEtablissement": "A",
            "changementEtatAdministratifEtablissement": false,
            "enseigne1Etablissement": "ECOLE SAGES FEMMES",
            "enseigne2Etablissement": null,
            "enseigne3Etablissement": null,
            "changementEnseigneEtablissement": false,
            "denominationUsuelleEtablissement": null,
            "changementDenominationUsuelleEtablissement": false,
            "activitePrincipaleEtablissement": "80.3Z",
            "nomenclatureActivitePrincipaleEtablissement": "NAF1993",
            "changementActivitePrincipaleEtablissement": true,
            "caractereEmployeurEtablissement": "N",
            "changementCaractereEmployeurEtablissement": false
          },
          {
            "dateFin": "1996-12-24",
            "dateDebut": "1982-01-01",
            "etatAdministratifEtablissement": "A",
            "changementEtatAdministratifEtablissement": false,
            "enseigne1Etablissement": "ECOLE SAGES FEMMES",
            "enseigne2Etablissement": null,
            "enseigne3Etablissement": null,
            "changementEnseigneEtablissement": false,
            "denominationUsuelleEtablissement": null,
            "changementDenominationUsuelleEtablissement": false,
            "activitePrincipaleEtablissement": null,
            "nomenclatureActivitePrincipaleEtablissement": null,
            "changementActivitePrincipaleEtablissement": false,
            "caractereEmployeurEtablissement": "N",
            "changementCaractereEmployeurEtablissement": false
          }
        ]
      },
      {
        "siren": "266900273",
        "nic": "00472",
        "siret": "26690027300472",
        "statutDiffusionEtablissement": "O",
        "dateCreationEtablissement": "1982-01-01",
        "trancheEffectifsEtablissement": "12",
        "anneeEffectifsEtablissement": "2019",
        "activitePrincipaleRegistreMetiersEtablissement": null,
        "dateDernierTraitementEtablissement": "2021-10-27T08:13:12",
        "etablissementSiege": false,
        "nombrePeriodesEtablissement": 4,
        "uniteLegale": {
          "etatAdministratifUniteLegale": "A",
          "statutDiffusionUniteLegale": "O",
          "dateCreationUniteLegale": "1974-03-01",
          "categorieJuridiqueUniteLegale": "7364",
          "denominationUniteLegale": "HOSPICES CIVILS DE LYON",
          "sigleUniteLegale": null,
          "denominationUsuelle1UniteLegale": null,
          "denominationUsuelle2UniteLegale": null,
          "denominationUsuelle3UniteLegale": null,
          "sexeUniteLegale": null,
          "nomUniteLegale": null,
          "nomUsageUniteLegale": null,
          "prenom1UniteLegale": null,
          "prenom2UniteLegale": null,
          "prenom3UniteLegale": null,
          "prenom4UniteLegale": null,
          "prenomUsuelUniteLegale": null,
          "pseudonymeUniteLegale": null,
          "activitePrincipaleUniteLegale": "86.10Z",
          "nomenclatureActivitePrincipaleUniteLegale": "NAFRev2",
          "identifiantAssociationUniteLegale": null,
          "economieSocialeSolidaireUniteLegale": "N",
          "caractereEmployeurUniteLegale": "O",
          "trancheEffectifsUniteLegale": "53",
          "anneeEffectifsUniteLegale": "2019",
          "nicSiegeUniteLegale": "00019",
          "dateDernierTraitementUniteLegale": "2022-05-24T13:45:42",
          "categorieEntreprise": "GE",
          "anneeCategorieEntreprise": "2019"
        },
        "adresseEtablissement": {
          "complementAdresseEtablissement": null,
          "numeroVoieEtablissement": "50",
          "indiceRepetitionEtablissement": null,
          "typeVoieEtablissement": "CHE",
          "libelleVoieEtablissement": "DU GRD PERRON",
          "codePostalEtablissement": "69310",
          "libelleCommuneEtablissement": "PIERRE-BENITE",
          "libelleCommuneEtrangerEtablissement": null,
          "distributionSpecialeEtablissement": null,
          "codeCommuneEtablissement": "69152",
          "codeCedexEtablissement": null,
          "libelleCedexEtablissement": null,
          "codePaysEtrangerEtablissement": null,
          "libellePaysEtrangerEtablissement": null
        },
        "adresse2Etablissement": {
          "complementAdresse2Etablissement": null,
          "numeroVoie2Etablissement": null,
          "indiceRepetition2Etablissement": null,
          "typeVoie2Etablissement": null,
          "libelleVoie2Etablissement": null,
          "codePostal2Etablissement": null,
          "libelleCommune2Etablissement": null,
          "libelleCommuneEtranger2Etablissement": null,
          "distributionSpeciale2Etablissement": null,
          "codeCommune2Etablissement": null,
          "codeCedex2Etablissement": null,
          "libelleCedex2Etablissement": null,
          "codePaysEtranger2Etablissement": null,
          "libellePaysEtranger2Etablissement": null
        },
        "periodesEtablissement": [
          {
            "dateFin": null,
            "dateDebut": "2011-01-02",
            "etatAdministratifEtablissement": "A",
            "changementEtatAdministratifEtablissement": false,
            "enseigne1Etablissement": "CRECHE CENTRE HOSPITA LYON SUD",
            "enseigne2Etablissement": null,
            "enseigne3Etablissement": null,
            "changementEnseigneEtablissement": false,
            "denominationUsuelleEtablissement": null,
            "changementDenominationUsuelleEtablissement": false,
            "activitePrincipaleEtablissement": "88.91A",
            "nomenclatureActivitePrincipaleEtablissement": "NAFRev2",
            "changementActivitePrincipaleEtablissement": false,
            "caractereEmployeurEtablissement": "O",
            "changementCaractereEmployeurEtablissement": true
          },
          {
            "dateFin": "2011-01-01",
            "dateDebut": "2008-01-01",
            "etatAdministratifEtablissement": "A",
            "changementEtatAdministratifEtablissement": false,
            "enseigne1Etablissement": "CRECHE CENTRE HOSPITA LYON SUD",
            "enseigne2Etablissement": null,
            "enseigne3Etablissement": null,
            "changementEnseigneEtablissement": false,
            "denominationUsuelleEtablissement": null,
            "changementDenominationUsuelleEtablissement": false,
            "activitePrincipaleEtablissement": "88.91A",
            "nomenclatureActivitePrincipaleEtablissement": "NAFRev2",
            "changementActivitePrincipaleEtablissement": true,
            "caractereEmployeurEtablissement": "N",
            "changementCaractereEmployeurEtablissement": false
          },
          {
            "dateFin": "2007-12-31",
            "dateDebut": "1996-12-25",
            "etatAdministratifEtablissement": "A",
            "changementEtatAdministratifEtablissement": false,
            "enseigne1Etablissement": "CRECHE CENTRE HOSPITA LYON SUD",
            "enseigne2Etablissement": null,
            "enseigne3Etablissement": null,
            "changementEnseigneEtablissement": false,
            "denominationUsuelleEtablissement": null,
            "changementDenominationUsuelleEtablissement": false,
            "activitePrincipaleEtablissement": "85.3G",
            "nomenclatureActivitePrincipaleEtablissement": "NAF1993",
            "changementActivitePrincipaleEtablissement": true,
            "caractereEmployeurEtablissement": "N",
            "changementCaractereEmployeurEtablissement": false
          },
          {
            "dateFin": "1996-12-24",
            "dateDebut": "1982-01-01",
            "etatAdministratifEtablissement": "A",
            "changementEtatAdministratifEtablissement": false,
            "enseigne1Etablissement": "CRECHE CENTRE HOSPITA LYON SUD",
            "enseigne2Etablissement": null,
            "enseigne3Etablissement": null,
            "changementEnseigneEtablissement": false,
            "denominationUsuelleEtablissement": null,
            "changementDenominationUsuelleEtablissement": false,
            "activitePrincipaleEtablissement": null,
            "nomenclatureActivitePrincipaleEtablissement": null,
            "changementActivitePrincipaleEtablissement": false,
            "caractereEmployeurEtablissement": "N",
            "changementCaractereEmployeurEtablissement": false
          }
        ]
      }
    ]
  }
]

The last ‘curseurSuivant’ contain the same last value for ‘curseur’
ex : ‘curseur’ = AoEuMjY2OTAwMjczMDA0NDk= and ‘curseurSuivant’ = ‘AoEuMjY2OTAwMjczMDA0NDk=’

Hey @Daradaal, so curseur is the current page and curseurSuivant would be the next page?

If so, I think splitting up the response processing part and the pagination part could do the job:

2 Likes

Thanks, that’s exactly it!
I have two other points that I can’t understand.

The search is carried out for 3 SIRENs, i.e. the value ‘siren:{{$node["CORIM: Establishment with Siren "].json[“siren”]}}’ in the Http Request how to reset the ‘cursor’ (* )?

The second I can only perform 30 queries every 60 seconds (1 minute) how integrated this point.

:slight_smile:

Glad to hear this helps!

The search is carried out for 3 SIRENs, i.e. the value ‘siren:{{$node["CORIM: Establishment with Siren "].json[“siren”]}}’ in the Http Request how to reset the ‘cursor’ (* )?

So if you want to run this search multiple times my suggestion would to use this workflow as a sub-workflow through the Execute Workflow node. Prepare the search terms in your parent workflow and then call the sub-workflow handling the actual search and pagination for each of them.

The second I can only perform 30 queries every 60 seconds (1 minute) how integrated this point.

You could add a Wait node in your loop and thus simply wait 2 seconds before each additional request.

Thanks for the feedback, I’m learning a lot!

On the other hand, the problem with a workflow we cannot see the history. Isn’t there another way to do it?

1 Like

On the other hand, the problem with a workflow we cannot see the history. Isn’t there another way to do it?

To check the execution data of a sub-workflow you’d need to enable the Save manual executions option for your sub-workflow:

Executions will then appear in your execution list and you can take a look at the exact data being processed by clicking the respective button:

1 Like