# Livestore

Ce guide explique comment activer l' **extension du formulaire client externe** dans **Cegid Retail Live Store**.

Une fois activé, LiveStore ouvre un formulaire d'inscription hébergé par The Wallet Crew lorsque le personnel crée ou modifie un client. Après validation, le personnel est redirigé vers la page de détails du client LiveStore. Vous pouvez également activer un mode code QR afin que les clients puissent terminer l'inscription sur leur propre téléphone.

<details>

<summary><strong>Exemples concrets</strong></summary>

* Un conseiller de vente crée un nouveau client fidélité dans Live Store. Le formulaire The Wallet Crew collecte les données et crée le client dans Cegid Y2.
* Un conseiller de vente modifie un client existant. Le formulaire The Wallet Crew met à jour le client dans Cegid Y2, puis revient à la page de détail du client.
* Un magasin utilise une tablette à l'entrée. Un client scanne un code QR et termine l'inscription dans un parcours en libre-service.

</details>

### Prérequis

Vous devez avoir accès à la configuration de Live Store et de The Wallet Crew.

Du côté de Cegid, vous devez avoir l'autorisation de modifier **newpossettings** au **global**, **pays**, ou **magasin** niveau.

Du côté de The Wallet Crew, votre tenant doit avoir le **connecteur Cegid Retail Y2** configuré et fonctionnel.

* Si vous n'avez pas encore connecté Y2, commencez par [Connecter avec Cegid Retail Y2](/connectors/fr/pos/cegid/connect-with-cegid-retail-y2.md).
* Si vous devez vérifier quels champs client sont synchronisés, consultez [mapping des champs Cegid Retail Y2](/connectors/fr/pos/cegid/cegid-retail-y2-fields-mapping.md).

### Configuration

{% stepper %}
{% step %}

#### Créez une clé API dans The Wallet Crew

Créez une clé API que Live Store utilisera pour appeler les points de terminaison de The Wallet Crew.

1. Ouvrez la page de gestion des clés API

<p align="center"><a href="https://admin.thewalletcrew.io/tenant/~/apiKeys" class="button secondary" data-icon="chevrons-right">gestion des clés API</a><br></p>

2. Créez une nouvelle clé API avec la portée `tenant.y2.listener`.
3. Copiez la valeur générée et stockez-la dans votre gestionnaire de secrets.

Vous l'utiliserez comme `X-API-KEY` en-tête dans la configuration LiveStore.
{% endstep %}

{% step %}

#### Configurez The Wallet Crew (runtime)

Cette extension nécessite une configuration spécifique à LiveStore dans le runtime de votre tenant.

Mettez à jour votre configuration runtime :

1. Dans la configuration avancée, dans le fichier `security.yml`, ajoutez un challenger de compte de type `livestore`.
2. Mettez à jour votre flux d'inscription pour ajouter un `livestore` élément de flux.
3. Créez `server/livestore.yml`:

```yaml
layout: mobile_ls
useTabletMode: false
provider: y2
customerRedirectLayout: mobile_livestore
```

4. Créez ou mettez à jour les deux layouts référencés (`mobile_ls` et `mobile_livestore`).
   {% endstep %}

{% step %}

#### Configurez Live Store (newpossettings)

Ouvrez l'administration newpossettings dans votre environnement Live Store :

* Test : `https://<your-tenant>-test-retail-ondemand.cegid.cloud/Y2/newpossettings/`
* Prod : `https://<your-tenant>-retail-ondemand.cegid.cloud/Y2/newpossettings/`

Configurez l'extension au **global**, **pays**, ou **magasin** niveau. Elle n'est pas disponible au niveau de la caisse.

<div data-with-frame="true"><figure><img src="/files/bdf3fad0018d5ad837bc45f8dc463e0de5fcb4c7" alt="Cegid newpossettings scope selection showing Global, Country, and Store level configuration."><figcaption><p>Choisissez le périmètre où l'extension s'applique (global, pays ou magasin).</p></figcaption></figure></div>

Définissez l'entrée `LiveStore_Connector_ExternalCustomerForm` avec les valeurs de votre tenant :

{% tabs %}
{% tab title="Production" %}

```yaml
apiEndpoint: https://app.neostore.cloud/api/<YOUR_TENANTID>/external/livestore/session
endpoint: https://app.neostore.cloud/api/<YOUR_TENANTID>/external/livestore
headerName: X-API-KEY
headerValue: <YOUR_API_KEY>
```

{% hint style="info" %}
N'oubliez pas de remplacer \<YOUR\_TENANTID> et \<YOUR\_API\_KEY> par la valeur associée
{% endhint %}

{% hint style="info" %}
Si vous avez configuré un domaine personnalisé, remplacez app.neostore.cloud par votre domaine personnalisé
{% endhint %}
{% endtab %}

{% tab title="Préproduction" %}

```yaml
active: true
apiEndpoint: https://app-qa.neostore.cloud/api/<YOUR_TENANTID>/external/livestore/session
endpoint: https://app-qa.neostore.cloud/api/<YOUR_TENANTID>/external/livestore
headerName: X-API-KEY
headerValue: <YOUR_API_KEY>
```

{% hint style="info" %}
N'oubliez pas de remplacer \<YOUR\_TENANTID> et \<YOUR\_API\_KEY> par la valeur associée
{% endhint %}
{% endtab %}
{% endtabs %}

Si vous devez cibler un magasin précis, définissez l'extension au niveau du magasin et ajoutez `storeId`:

```yaml
endpoint: https://app.neostore.cloud/api/<tenantId>/external/livestore?storeId=<storeId>
```

{% endstep %}

{% step %}

#### Validez le flux

Validez d'abord dans un environnement de test.

1. Dans Live Store, ouvrez l'écran de création ou de modification du client.
2. Vérifiez que Live Store redirige vers le formulaire d'inscription.
3. Soumettez le formulaire avec des données de test.
4. Vérifiez que vous êtes redirigé vers la page de détails du client Live Store.

Si vous obtenez une erreur d'autorisation, revérifiez la `X-API-KEY` valeur de l'en-tête et la portée de la clé API.
{% endstep %}
{% endstepper %}

### Optionnel : afficher un code QR pour l'inscription en libre-service

Utilisez cette option lorsqu'un magasin utilise une tablette et souhaite que les clients continuent sur leur propre téléphone.

Activez le mode tablette dans `server/livestore.yml` et faites pointer le layout de redirection vers un layout adapté aux mobiles :

```yaml
layout: pos
useTabletMode: true
provider: y2
customerRedirectLayout: mobile
```

### FAQ

<details>

<summary><strong>Où configurer l'extension dans Live Store ?</strong></summary>

Utilisez **newpossettings**. Configurez-le au **global**, **pays**, ou **magasin** niveau. Live Store ne prend pas en charge cette extension au niveau de la caisse.

</details>

<details>

<summary><strong>Quelle URL dois-je utiliser pour <code>endpoint</code> et <code>apiEndpoint</code>?</strong></summary>

Utilisez le `https://app.neostore.cloud/api/<tenantId>/external/livestore` base et remplacez `<tenantId>` par votre ID de tenant dans The Wallet Crew.

Si votre projet utilise un environnement différent (préproduction, QA ou un domaine personnalisé), utilisez l'URL de base fournie par The Wallet Crew lors de la configuration.

</details>

<details>

<summary><strong>Puis-je réutiliser la même clé API pour les tests et la production ?</strong></summary>

Évitez-le. Utilisez des clés API distinctes pour chaque environnement. Faites-les tourner si vous pensez qu'elles ont été exposées.

</details>

<details>

<summary><strong>Live Store redirige, mais j'arrive sur une page d'erreur. Que dois-je vérifier ?</strong></summary>

Commencez par les bases. Vérifiez que l' `endpoint` URL est accessible depuis le réseau Live Store. Vérifiez que l' `X-API-KEY` en-tête est présent et correct. Puis vérifiez que le connecteur Cegid Retail Y2 est activé dans The Wallet Crew et qu'il peut atteindre vos services Y2.

</details>


---

# Agent Instructions: Querying This Documentation

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

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.thewalletcrew.io/connectors/fr/pos/cegid/livestore.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
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.
