# Customers Inbound Sync

## Introduction

Xsync permet la synchronisation entrante des clients depuis Netsuite. La configuration de cette synchronisation est possible depuis le groupe **Customers** dans l'onglet **Inbound Sync** du **Remote System**.

## Configuration

![Exemple de paramétrage pour la synchronisation entrante des Customers](https://823951457-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MjVNWpKJ_CHCQYQ3A5a%2Fuploads%2FWO08lv1wvA3smUndxj2U%2Fcustomer%20inbound.PNG?alt=media\&token=785d4223-497c-4cc0-a215-afc416c4341c)

Pour sélectionner les clients à synchroniser, XSync utilise le champ **Customers Saved Search scriptId** qui correspond à l'identifiant de la saved search créée dans Netsuite ([#creation-de-la-saved-search-customer](https://docs.cn285.app/cn285-documentation/menu-xsync/configuration-netsuite#creation-de-la-saved-search-customer "mention")) ainsi que le champ **Sync Customers modified since** en tant que critère de recherche pour interroger Netsuite.

{% hint style="info" %}
Si le champ **Sync Customers modified since** n'est pas défini:

* La saved search de Netsuite renverra tous les clients à synchroniser avec Cn285
* &#x20;La valeur du champ prendra le timestamp de cette synchronisation

Si le champ est défini, la saved search de Netsuite ne renverra que les clients dont la date de modification est postérieure à cette valeur.&#x20;
{% endhint %}

Le résultat de la saved search est ensuite synchronisé avec Cn285 en une ou plusieurs pages. La taille de ces pages est paramétrable par le champ **Synced Customers Page Size,** par défaut définie à **30**.

{% hint style="danger" %}
Nous vous recommandons de ne pas modifier la valeur du champ **Synced Customers Page Size**. Elle permet de garantir les performances optimales pour une synchronisation avec Netsuite. &#x20;
{% endhint %}

Plusieurs paramètres peuvent aussi être configurés dans cette rubrique :

* **Sync Customers using search Results**: Si cette option est cochée, XSync synchronisera toutes les données que retourne la **Saved Search** de Netsuite. Dans ce cas là, la **Saved Search** doit contenir toutes les informations nécessaires à la synchronisation. Si l'option n'est pas cochée, XSync fera un appel pour chaque client pour la récupération des données.
* **Force Refresh of Sync Customers**: Lorsque cette option est cochée, XSync forcera le rafraichissement des données client.
* **User Mapper**: XSync possède de base un driver permettant de faire correspondre un champ standard Netsuite avec un champ Cn285. Pour synchroniser des champs Netsuite personnalisés il convient de surcharger le driver standard avec un [user-defined-mappers](https://docs.cn285.app/cn285-documentation/menu-xsync/user-defined-mappers "mention").
* **Don’t Update ‘Modified Since’**: Lorsque cette option est cochée, le champ **Sync Customers modified since** ne sera pas mis à jour avec le timestamp de la synchronisation et conservera la valeur de la précédente.
* **Local Customers Search**: Il est possible de spécifier à XSync les entités locales à mettre à jour depuis Netsuite via une recherche Cn285. On peut, par exemple, sélectionner les clients par pays, par ville, etc ...

## Synchronisation entrante des clients

La synchronisation des clients depuis Cn285 peut être lancée via deux modes :

* Mode manuel
* Mode automatique

### Mode manuel

Il est possible de lancer une synchronisation globale des clients en cliquant sur le bouton ![](https://823951457-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MjVNWpKJ_CHCQYQ3A5a%2Fuploads%2FwhD2u29J1RxMKtbkCIgy%2Fimage.png?alt=media\&token=34cfa0fe-944d-4ced-aa94-e8ecaa7816df)situé dans l'onglet **Inbound Sync** du formulaire du **Remote System**.&#x20;

Cette synchronisation globale prend les critères de recherche définis dans l'onglet **Inbound Sync** pour sélectionner les clients à synchroniser.

Il est également possible de lancer une synchronisation unitaire en cliquant sur le bouton ![](https://823951457-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MjVNWpKJ_CHCQYQ3A5a%2Fuploads%2FDF3QssP18EIIYrcXff3y%2Fimage.png?alt=media\&token=9c20da48-d5b6-4682-be5b-2d08ec283f28)situé dans l'onglet **XSync** du formulaire **Customer**. La synchronisation unitaire est uniquement possible lorsque le customer a déjà été synchronisé par XSync.

{% hint style="info" %}
La synchronisation unitaire permet de mettre à jour rapidement un client sans avoir à resynchroniser tous les clients déjà existants. Cette synchronisation est synchrone et se fait donc en direct, contrairement à la synchronisation globale qui elle est asynchrone.
{% endhint %}

### Mode automatique

Cn285 permet aussi une synchronisation automatique des clients. Cette synchronisation se lance via un CRON (tâche) qui s'exécute périodiquement. Pour configurer ou visualiser ce CRON, veuillez vous référer à la [#actions-planifiees-cron-1](https://docs.cn285.app/menu-qs/workers#actions-planifiees-cron-1 "mention").

![Exemple de configuration du Daemon](https://823951457-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MjVNWpKJ_CHCQYQ3A5a%2Fuploads%2FKFgldGAEZAKTBt3idoDI%2Fimage.png?alt=media\&token=d0b07ebd-f9d9-45e1-a2f7-799c1c503211)

## Visualiser l'avancement de la synchronisation

Lorsque la synchronisation est manuelle via le bouton ![](https://823951457-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MjVNWpKJ_CHCQYQ3A5a%2Fuploads%2FwhD2u29J1RxMKtbkCIgy%2Fimage.png?alt=media\&token=34cfa0fe-944d-4ced-aa94-e8ecaa7816df)ou automatique (via le CRON), celle-ci est lancée en mode asynchrone. XSync génère un message "**Syncs all 'customers'**" qui va être traité par un worker.

Comme expliqué lors de la configuration, XSync synchronise les données avec Cn285 en plusieurs pages. Une page va générer un message "**Sync page 1/X**" qui lui même va générer plusieurs messages "**Sync Customer**" en fonction de la taille définie par le champ **Synced Customers Page Size**.

Pour visualiser ces messages et ainsi suivre l'avancement de la synchronisation, rendez-vous dans le menu **Cn / Qs / Messages**. ![](https://823951457-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MjVNWpKJ_CHCQYQ3A5a%2Fuploads%2FmqbeeUV9RPKVkG7AVR00%2Fimage.png?alt=media\&token=a4aaec9b-e071-4c2c-8764-d642205f94f2)

![Exemple de message généré par XSync pour synchroniser une page de 30 Customers.](https://823951457-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MjVNWpKJ_CHCQYQ3A5a%2Fuploads%2FNF8vPw97aR5QduGZBLxc%2Fimq_message_inbound_customer.PNG?alt=media\&token=c6f47bcc-a035-4217-a91f-496a51e5529f)
