Connectons-nous à l’api ActiveCampain avec Node.js–Etape 4–Des défis pour nous les développeurs

Maintenant que notre application express est prête, et que notre router Contact est créé, nous allons pouvoir récupérer les données depuis la requête POST.

En attendant le retour des développeurs d’Active Campaign, nous devons tout préparer pour envoyer le tout à l’api d’Active Campaign.

Récupération des données json POST avec express

Notre site web va envoyer en requĂŞte POST un contact, sous format json.
Notre API express node.js va récupérer cette requête et l’envoyer à ActiveCampaign.

Un bon schéma vaut mieux que mille explications :

site web api activecampaign

Comment récupérer les données de la requête POST ?

Si l’on lit la documentation express, nous devons utiliser req.body.


Or, nous ne recevons rien, lorsque nous testons avec postman.

En continuant la lecture de la documentation, ils nous invitent Ă  utiliser le module body-parser.

Une fois installé, il nous faut le référencer dans l’application :

app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: true }));


En somme, ici, nous avons un middleware qui est capable d’analyser les données venant de la requête et de nous les transformer en json.

Même avec ces paramétrages, nous n’avons rien dans le body.
Nous avons testé avec :

  • le type raw de Postman
  • le type form-data

Et ça ne fonctionne pas !

Or lorsque nous essayons avec x-www-form-urlencoded : nous recevons bien des données dans le req.body.

Zoom sur x-www-form-urlencoded

Si l’on précise x-www-form-urlencoded, nous indiquons que les données seront envoyées sous forme de clé/valeur séparées par des &.

Vérification des données et renvoie du statut

Si les données reçues ne sont pas bonnes, on doit informer au développeur utilisant notre API qu’il s’est trompé.

C’est avec le statut de la réponse que l’on va pouvoir préciser cela, et un objet de retour contenant l’état de réussite.

L’un des meilleurs statuts pour informer que l’on a :

  • une bonne url
  • des donnĂ©es qui ont Ă©tĂ© bien comprises
  • MAIS qui ne sont pas exploitables par l’api

est : le statut 422.

Prochaine étape : appel du module que l’on a développé !

Notre adresse

1 rue du guesclin
44000 Nantes

Notre téléphone

+33 2 79 65 52 87

Société

DevToBeCurious SARL
84860163900018 - Nantes B 848 601 639