# Détails de conception : Synchronisation

Ce document présente les détails de la synchronisation d'entités importantes telles que les clients et articles.
Référez-vous à ces éléments si vous souhaitez comprendre davantage comment se comporte CAP Online - Webshop lors de la synchronisation.

## Synchronisation des clients

Lorsque vous importez via les messages entrants un client de Prestashop, il est transformé en un client dans Business Central.

CAP Online - Webshop va systématiquement créé un nouveau client en utilisant la souche de numérotation par défaut des clients Business Central.

> [!TIP]
> Si vous êtes développeur et souhaitez changer ce comportement, vous pouvez vous abonner à l'événement _OnMapEntityToExistingRecordBeforeInsert_ afin de faire correspondre un client existant à un client de Prestashop.
> Vous pouvez aussi changer le comportement pour numéroter le client différemment grâce à l'événement _OnBeforeInsert_.

Si un modèle client est spécifié dans les _Paramètres CAP Online - Webshop_, il est appliqué à ce moment là.

## Synchronisation des articles

Lorsque vous importez via les messages entrants un produit de Prestashop, il est transformé en article dans Business Central.

CAP Online - Webshop procède alors ainsi :

1. Pour éviter la création de doublons, la _Référence_ du produit de Prestashop est utilisée pour rechercher si un article portant le même _N°_ existe déjà dans Business Central. Si tel est le cas, aucun article n'est créé : CAP Online - Webshop attache le produit Prestashop à l'article existant de Business Central et synchronise les données de Prestashop vers Business Central.

  > [!IMPORTANT]
  > A ce stade, les données du produit de Prestashop vont remplacées celles présentes dans Business Central.
  > Si vous souhaitez conserver les données de Business Central (prix, poids, description, etc.), utilisez le traitement de synchronisation numéro _70345171_ (_Import Product Base_).

  > [!TIP]
  > Si vous êtes développeur et souhaitez faire cette correspondance sur d'autres critères que la référence, abonnez-vous à l'événement _OnMapEntityToExistingRecordBeforeInsert_.

2. Si l'article doit être créé, il est prioritairement numéroté en utilisant la _Référence_ du produit de Prestashop. Si un conflit de numéro devait se produit, le _N°_ d'article est alors suffixé par #1, #2, etc.

   Quand est-ce qu'un conflit de nom peut se produire ? Typiquement, il est possible dans Prestashop d'avoir plusieurs produits avec la même _Référence_. Cela n'est pas possible dans Business Central où le numéro de l'article se doit d'être unique. CAP Online - Webshop va alors créer une référence légèrement différente.

Si un modèle article est spécifié dans les _Paramètres CAP Online - Webshop_, il est appliqué à ce moment là.
Maintenant que l'article est créé ou attaché, la synchronisation reprend les éléments suivants de Prestashop dans Business Central :

| Données de Prestashop         | Destination dans Business Central                                                                                                                                                                                      |
|-------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| Traductions du nom du produit | Traductions articles. La traduction dans la langue principale est utilisée pour mettre à jour la _Description_ de l'article. Si cette description est trop longue, elle peut peut être étendue sur la _Description 2_. |
| Images                        | L'image par défaut est utilisée pour l'image de l'article de Business Central. Toutes les images sont, sinon, également copiées dans les métadonnées de la boutique en ligne l'article.                                |
| Mots clés (meta)              | Copiés dans les métadonnées de la boutique en ligne de l'article.                                                                                                                                                      |
| Description (meta)            | Copiés dans les métadonnées de la boutique en ligne de l'article.                                                                                                                                                      |
| Titre (meta)                  | Copiés dans les métadonnées de la boutique en ligne de l'article.                                                                                                                                                      |
| Réécriture d'URL (meta)       | Copiés dans les métadonnées de la boutique en ligne de l'article.                                                                                                                                                      |
| Description courte            | Copiés dans les métadonnées de la boutique en ligne de l'article.                                                                                                                                                      |
| Description longue            | Copiés dans les métadonnées de la boutique en ligne de l'article.                                                                                                                                                      |
| Caractéristiques              | Copiés dans les affectations caractéristiques article.                                                                                                                                                                 |

Les éléments non listés ici ne sont pas synchronisés en standard par CAP Online - Webshop.

> [!TIP]
> Vous êtes développeur ? Vous pouvez étendre les données copiées ou adapter la copie de données en vous abonnant aux événements OnBeforeModify et OnAfterModify du codeunit _Import Product Base PSCAP_.

## Choisir une gestion alternative des messages entrants

Chaque entité est associée par défaut à un traitement se chargeant de gérer les messages entrants.
Certaines entités sont livrées avec des traitements alternatifs qui peuvent davantage correspondre à vos besoins.

> [!TIP]
> Pour des besoins encore plus spécifiques, contactez votre intégrateur pour réaliser des adaptations personnalisées.

| Entité  | Gestionnaire de messages entrants             | Description                                                                                                                                                                                                                                                                                                                      |
|---------|-----------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| Produit | (Par défaut) 70345137 - Import Product PSCAP  |                                                                                                                                                                                                                                                                                                                                  |
| Produit | 70345171 - Import Product Base PSCAP          | Réalise uniquement la correspondance des produits avec Business Central ou la création des produits. Utilisez ce gestionnaire si vos articles existent déjà dans Business Central et/ou que vous ne souhaitez pas que les données des produits de Prestashop interfèrent avec les données déjà existantes dans Business Central. |
| Client  | (Par défaut) 70345119 - Import Customer PSCAP |                                                                                                                                                                                                                                                                                                                                  |
| Client  | 70345172 - Import Customer Base PSCAP         | Réalise uniquement la correspondance des clients avec Business Central ou la création des clients. Utilisez ce gestionnaire si vos clients existent déjà dans Business Central et/ou que vous ne souhaitez pas que les données des clients de Prestashop interfèrent avec les données déjà existantes dans Business Central.     |

## Personnaliser le calcul de la disponibilité en stock

Vous pouvez adapter le calcul de la disponibilité en stock suivant vos propres règles. Pour ce faire, vous aurez besoin de développer une app pour Business Central et vous abonner à l'événement ```OnBeforeCalculateAvailability``` du ```Report Item Availability PSCAP```