> For the complete documentation index, see [llms.txt](https://docs.thewalletcrew.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.thewalletcrew.io/connectors/fr/pos/cegid/donnees-client-et-fidelite/cegid-retail-y2-fields-mapping.md).

# Mappage des champs Cegid Retail Y2

Le cycle de vie de création et de mise à jour du client, et le mappage des champs par défaut entre The Wallet Crew et Cegid Retail Y2, y compris ses conditions.

Le connecteur crée et met à jour les fiches clients dans Cegid Retail Y2 à partir des formulaires d'inscription, puis les relit pour alimenter les cartes et préremplir les formulaires. Cette page documente ce cycle de vie et le mappage de champs appliqué par défaut.

### Le cycle de vie de création et de mise à jour

Lorsqu'un formulaire d'inscription est soumis, le connecteur mappe les données soumises vers la structure client de Cegid, applique le script de mappage propre à la marque s'il est déployé, et écrit l'enregistrement. Il then **relit l'enregistrement depuis Cegid** au lieu de supposer que l'écriture a pris effet telle quelle, raison pour laquelle les valeurs normalisées ou rejetées par Cegid sont reflétées immédiatement plutôt qu'à la prochaine lecture.

### Trouver un client existant

Lorsqu'une carte possède déjà un identifiant client Cegid, cet identifiant est utilisé directement. Sinon, le connecteur recherche dans Cegid afin d'éviter d'en créer un en double.

Cette recherche s'exécute en parallèle sur l'adresse e-mail et, pour le numéro de téléphone, sur plusieurs formats — tel que saisi, avec le préfixe international dans l'une ou l'autre notation, et au format national — chacun vérifié par rapport aux quatre champs téléphoniques qu'un enregistrement Cegid comporte. Les enregistrements fermés sont exclus.

{% hint style="warning" %}
S'il y a plus d'un enregistrement correspondant, le plus récemment modifié est utilisé et l'ambiguïté est consignée dans les journaux. Ce n'est pas rare : les numéros de téléphone partagés au sein d'un foyer et les enregistrements de test du personnel peuvent tous deux en être la cause. Lorsque les correspondances en double sont fréquentes, les doublons sous-jacents devraient être résolus dans Cegid plutôt qu'acceptés, car l'enregistrement sur lequel un client aboutit peut sinon changer avec le temps.
{% endhint %}

### Mappage de champs par défaut

Le mappage ci-dessous est appliqué avant tout script de mappage. Presque chaque champ est conditionnel, et les conditions sont à l'origine de la plupart des surprises signalées : un champ qui semble ne pas être mappé est généralement un champ dont la condition n'a pas été satisfaite.

| Champ Wallet Crew            | Champ Cegid                                  | Conditions et transformation                                                                                                                                                                                                                                          |
| ---------------------------- | -------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `email`                      | `EmailData.Email`                            | Toujours écrit.                                                                                                                                                                                                                                                       |
| `phoneNumber`                | `PhoneData.CellularPhoneNumber`              | Écrit lorsqu'il est présent.                                                                                                                                                                                                                                          |
| `firstName`                  | `FirstName`                                  | Toujours écrit.                                                                                                                                                                                                                                                       |
| `lastName`                   | `LastName`                                   | Obligatoire dans Cegid. Si vide à la mise à jour, relu depuis Cegid ; si toujours vide, défini sur le littéral `NEOSTORE`. À la lecture, un nom de famille de `NEOSTORE` est masqué.                                                                                  |
| `sex`                        | `Sex`                                        | Seuls `M` ou `F` sont acceptées. Toute autre valeur est écrite vide.                                                                                                                                                                                                  |
| `title`                      | `TitleId`                                    | Écrit lorsqu'il est présent.                                                                                                                                                                                                                                          |
| `advisor`, sinon `advisorId` | `SalesPersonId`                              | La première des deux qui est présente.                                                                                                                                                                                                                                |
| `storeId`                    | `UsualStoreId`                               | Écrit lorsqu'il est présent. À la lecture, retombe sur le magasin de création lorsque le magasin d'attachement est vide.                                                                                                                                              |
| `isProspect`                 | `IsProspect`                                 | Toujours écrit, avec false par défaut.                                                                                                                                                                                                                                |
| `birthDate`                  | `BirthDateData`                              | Le jour et le mois sont acceptés lorsqu'ils sont supérieurs à zéro ; l'année uniquement lorsqu'elle est postérieure à 1900 et n'est pas dans le futur. Si les trois sont présents mais ne forment pas une date passée valide, toute la date de naissance est effacée. |
| `address`                    | `AddressData.AddressLine1`                   | Toujours écrit.                                                                                                                                                                                                                                                       |
| `streetNumber`               | `AddressData.AddressLine2`                   | Toujours écrit.                                                                                                                                                                                                                                                       |
| `postCode`, sinon `zipCode`  | `AddressData.ZipCode`                        | La première des deux qui est présente. Relu dans `postCode`.                                                                                                                                                                                                          |
| `city`                       | `AddressData.City`                           | Toujours écrit.                                                                                                                                                                                                                                                       |
| `country`                    | `AddressData.CountryId`                      | **N'est écrit que lorsque la valeur comporte exactement deux caractères**, puis sous forme de code ISO-2. Tout le reste est ignoré avec un avertissement. À la lecture, l'identifiant propre à Cegid est reconverti en ISO-2.                                         |
| `nationality`                | `NationalityId`                              | Écrit lorsqu'il est présent.                                                                                                                                                                                                                                          |
| `consents_email`             | `OptinEmail` et `EmailData.EmailingAccepted` | Écrit **uniquement lorsqu'une adresse e-mail est présente**. Vrai devient un consentement réservé à la marque, faux devient à ne pas utiliser.                                                                                                                        |
| `consents_sms`               | `OptinMobile`                                | Écrit **uniquement lorsqu'un numéro de mobile est présent**.                                                                                                                                                                                                          |
| `consents_post`              | `OptinPostal`                                | Écrit **uniquement lorsqu'une ligne d'adresse, une ville ou un code postal est présent**.                                                                                                                                                                             |
| `consents_emailReceipt`      | `EmailData.SendReceiptByMail`                | Écrit uniquement lorsqu'une adresse e-mail est présente.                                                                                                                                                                                                              |
| `lastUpdated`                | `LastModificationDate`                       | Lecture seule.                                                                                                                                                                                                                                                        |

{% hint style="danger" %}
Les conditions de consentement sont la partie la plus souvent mal comprise de ce tableau. Un consentement n'est écrit que lorsque le canal qu'il concerne dispose de données, donc un formulaire qui recueille un consentement postal mais aucune adresse n'enregistre rien dans Cegid, et l'absence est silencieuse. Lorsque des consentements semblent ne pas être enregistrés, la première chose à vérifier est de savoir si les coordonnées correspondantes ont été saisies dans le même formulaire.
{% endhint %}

### Relire dans un formulaire

Le même mappage s'applique en sens inverse lorsqu'un client est chargé, afin de préremplir un formulaire de modification ou d'alimenter une carte. Les valeurs Cegid vides n'écrasent pas les valeurs Wallet existantes, et deux valeurs sentinelles sont filtrées : un nom de famille `NEOSTORE`, et une année de naissance de 1900 ou zéro, que Cegid utilise pour signifier non défini.

### Étendre le mappage

Le mappage par défaut couvre les champs standard d'identité et de contact. Tout le reste qu'une marque enregistre dans Cegid — préférences marketing dans des champs libres, langue, identifiants fiscaux, état d'installation Wallet — est défini par un script de mappage, qui s'exécute après le mappage par défaut et peut le remplacer en tout ou partie. En pratique, presque chaque marque qui utilise ce connecteur en déploie un ; voir [Personnaliser le mappage](/connectors/fr/pos/cegid/donnees-client-et-fidelite/customise-the-mapping.md).

La structure de l'objet client Cegid avec lequel travaille un script est documentée dans la [Référence du scripting](/connectors/fr/pos/cegid/reference-developpeur/scripting-reference.md).

<figure><img src="https://1459665471-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FlP7d71aYydav6e0pRkxc%2Fuploads%2Fgit-blob-cdca83943839ffdbe7c2e0599989961428dbfbc3%2Fdocumentation-cegid-retail-y2-fields-cegid-retail-y2-fields-mapping-1-png.png?alt=media" alt="The Cegid Retail Y2 customer data model, showing the customer structure and its nested objects."><figcaption><p>Utilisez cette structure pour trouver la propriété Cegid exacte à lire ou à écrire dans un script de mappage personnalisé.</p></figcaption></figure>

### FAQ

<details>

<summary><strong>Pourquoi le pays d'un client est-il absent dans Cegid ?</strong></summary>

La valeur du pays ne comportait pas exactement deux caractères. Le connecteur n'écrit que des codes ISO-2 et ignore tout le reste au lieu d'envoyer une valeur que Cegid rejetterait.

</details>

<details>

<summary><strong>Pourquoi le nom de famille d'un client est-il <code>NEOSTORE</code>?</strong></summary>

Cegid exige un nom de famille. Lorsqu'un formulaire permet qu'il soit vide et qu'aucune valeur existante ne puisse être récupérée, cet espace réservé est écrit afin que l'enregistrement puisse au moins être créé. Il est masqué à la lecture, mais visible dans Cegid. Rendre le champ obligatoire dans le formulaire permet de l'éviter.

</details>

<details>

<summary><strong>Les consentements sont-ils écrasés à chaque mise à jour ?</strong></summary>

Uniquement lorsque les coordonnées correspondantes sont présentes dans la soumission. Une marque qui gère principalement le consentement dans Cegid devrait vérifier quels champs le formulaire d'inscription soumet, car un formulaire qui contient une valeur de consentement l'écrira.

</details>

<details>

<summary><strong>Peut-on synchroniser des champs supplémentaires ?</strong></summary>

Oui. Tout champ de l'enregistrement client Cegid peut être mappé à l'aide d'un script, y compris les textes libres et les tableaux libres qu'une marque définit pour elle-même. Voir [Personnaliser le mappage](/connectors/fr/pos/cegid/donnees-client-et-fidelite/customise-the-mapping.md).

</details>


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.thewalletcrew.io/connectors/fr/pos/cegid/donnees-client-et-fidelite/cegid-retail-y2-fields-mapping.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
