Comparaison des versions

Légende

  • Ces lignes ont été ajoutées. Ce mot a été ajouté.
  • Ces lignes ont été supprimées. Ce mot a été supprimé.
  • La mise en forme a été modifiée.

...

Contactez nous si vous souhaitez plus d’information à ce sujet.

Objectifs

  • Synchronisation des articles

  • Synchronisation des disponibilités articles

  • Synchronisation des clients

  • Synchronisation des factures effectuées sur le webshop dans un journal spécifique de IGFact


Aspects techniques

Sécurité

Les APIs font l’objet d’une authentification au moyen d’un standard actuel en la matière (Token, Clé d’API, … ) et utilisent un système de documentation comme Swagger (OpenAPI) afin de faciliter les échanges entre les deux plate-formes.


Il vous sera fourni:

  • un login = votre adresse email

  • vous recevrez un mail à cette adresse pour définir votre mot de passe

  • un numéro de série (SerialNumber)


Deux manières de fonctionner

L’Api peut être utilisée de deux manières:

  • indépendante: une application tierce a juste besoin de consulter les données de IGFact, dans ce cas, login au moyen de Token/LoginUser

  • dépendante d’une application tierce (par exemple Prestashop): login au moyen de Token/LoginExtenalLink


La version dépendante permet à IGFact Api de fournir un webhook qui sera appelé par l’application dépendante quand un événement survient sur le webshop (une nouvelle commande est passée par exemple). Ainsi l’API IGFact va pouvoir aller récupérer la commande sur le webshop.


Objets

De manière générale, les objets disponibles dans l’API devront implémenter les méthodes suivantes : 


  • Un webhook pour notifier d’un ajout / mise à jour / suppression qui contiendra l’objet modifié au format de l’API émettrice. 

  • Une méthode pour récupérer tous les changements effectuées depuis un timestamp UTC

  • Une méthode pour récupérer l’ensemble de la liste (en cas de migration initiale ou de mise à jour complète)

  • Une méthode pour récupérer un objet spécifique sur base de sa clé unique.


Il sera de la responsabilité de chaque API de convertir les données fournies par les webhook afin de réaliser l’intégration des changements.

Suppressions

Afin d’éviter tout problème (serveur indisponible pendant un webhook par exemple, la suppression d’un objet ne devra jamais être une suppression physique mais bien un flag indiquant que l’objet est effacé. Ainsi, les méthodes qui récupèrent les changements depuis un timestamp UTC auront également accès aux éléments effacés.

Webhooks

Les webhooks devront être déclenchés pour les différentes opérations CRUD, pour rappel :

  • Create

  • Update

  • Delete

Administration des Webhooks

Une page de gestion des webhooks est disponible à l’adresse https://igfact.igsoft.eu afin de paramétrer ceux-ci.

Interactions prévues

Produits 

La clé unique sera la référence d’article de IGFact.


Les données des produits sont gérées et créées principalement sur le site web. 


La création / modification d’un article sur le webshop, engendre une notification à l’API de IGFact via un webhook contenant l’objet mis à jour, au format défini par le webshop. 


La référence IGFact sera attribuée du côté du Webshop, mais celui-ci devra vérifier qu’elle n’est pas déjà utilisée dans IGFact afin d’éviter les doublons.


La modification d’un article dans IGFact, engendre une notification à l’API du Webshop via un webhook contenant l’objet au format défini par IGFact.

Disponibilité des produits

Les données de disponibilité des produits sont gérées des deux côtés.


Il faudra envisager les conflits de réservation d’articles entre IGFact et le Webshop afin d’éviter que deux utilisateurs réservent le même article. Nous suggérons que 3 données soit gérées : Le stock physique, une quantité réservée dans IGFact (commandes, … ), une quantité réservée dans le web (paniers). 


La mise à jour de la quantité réservée coté webshop engendre une notification à l’API de IGFact via un webhook au format défini par le webshop


La mise à jour du stock ou de la quantité réservée dans IGFact engendre une notification à l’API du Webshop via un webhook contenant l’objet au format défini par IGFact.


Le stock physique sera géré intégralement au niveau de IGFact, et ce afin de maintenir le contrôle de celui-ci en un seul et même endroit. Il sera mis à jour à la création des factures et renvoyé à chaque changement de IGFact.


La quantité réservée dans le webshop devra impérativement être maintenue à jour et libérée en cas de panier abandonné pour ne pas entraver les ventes dans IGFact.

Clients

La clé unique sera la référence client de IGFact


Les clients seront générés à l’inscription sur le site web. Un webhook signale les ajouts/modifications à IGFact au format défini par le Webshop. IGFact renverra ensuite une mise à jour avec la référence générée dans IGFact.


Les ajouts/mises à jour effectuées du côté de IGFact engendreront une notification à l’API du Webshop via un webhook au format défini par IGFact.

Factures


Les factures seront générées sur le Webshop. Un webhook signale les ajouts/modification à IGFact au format défini par le Webshop. IGFact intégrera ces documents dans un journal spécifique au Webshop.

Il n’y a pas de mise à jour prévue au départ de IGFact vers le Webshop.

Description de l’API

Chaque objet disponible dispose des mêmes méthodes génériques. Seules les méthodes en lecture sont disponibles au départ d’une application tierce.

...

"DateExpire": "2020-03-10T16:49:28.818716+01:00"

}

Webhooks

Pour adapter les URLs des webhooks, et en consulter les notifications, vous pouvez vous rendre sur https://igfact.igsoft.eu. Vous loguer avec votre compte et votre SerialNumber sans cocher la case “Admin”.

...