Comprendre les filtres de validation des données de Prestashop

Maxime

Modifié le : Mar, 29 Juin, 2021 à 5:27 H

Préambule : cette documentation s'adresse aux développeurs Prestashop expérimentés.


E-connecteur se charge d'envoyer les données de la gestion commerciale vers Prestashop via son webservice. Celui-ci peut valider la qualité de certaines données. En cas d'échec de validation, vous avez dans E-connecteur Report Online un message du type (selon la donnée non valide) :

  • Erreur de création de valeur de caractéristique (code 1007-1) : Erreur du webservice Prestashop (code HTTP 400 : Bad Request)Validation error: "La propriété FeatureValue->value n'est pas valide."
  • Erreur (1104-1) : Erreur du webservice Prestashop (code HTTP 400 : Bad Request) Validation error: "Property Customer->lastname is not valid"


Les données peuvent être valides en gestion commerciale, mais pas pour Prestashop. Si vous avez des erreurs de ce type, il y a plusieurs possibilités d'actions.


1) Comprendre la raison de la filtration

Les objets Prestashop, comme par exemple ici "Product", définissent les variables de l'objet et les méthodes de validation qui s'y rattachent :


Vous pouvez donc avoir ici la méthode de filtration (isUnsignedId, isReference, etc ...) et vous trouverez la fonction php de validation dans la classe Validate. Exemple de méthode de validation :



Si votre donnée n'est pas validée par Prestashop, c'est que sa valeur ne passe pas ces méthodes de validation.



2) Agir sur les données

Il y a deux façons de corriger cela. La plus simple et la plus évidente est de corriger la donnée dans la gestion commerciale, en respectant les critères de validation de Prestashop.

Si les données en gestion commerciale sont bonnes et que vous souhaitez malgré tout les envoyer sur Prestashop, vous pouvez, selon votre contexte :

  • surcharger l'objet et changer la méthode de la variable en question par une autre méthode de validation plus appropriée,
  • surcharger la méthode de la classe Validate pour la rendre tolérante à ces données.

Bien sûr, il faudra vous assurer que les données ainsi validées soient conformes pour Prestashop.

Cet article a-t-il été utile ?

C'est super !

Merci pour votre commentaire

Désolé ! Nous n'avons pas pu vous être utile

Merci pour votre commentaire

Dites-nous comment nous pouvons améliorer cet article !

Sélectionner au moins l'une des raisons

Commentaires envoyés

Nous apprécions vos efforts et nous allons corriger l'article