> ## Documentation Index
> Fetch the complete documentation index at: https://docs.qwoty.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Salesforce

> Apprenez à intégrer Qwoty avec Salesforce et à gérer vos devis directement depuis votre CRM.

L'intégration Qwoty - Salesforce fournit une connexion transparente entre votre organisation Salesforce et Qwoty. Grâce à cette intégration, vous pouvez intégrer l'interface de Qwoty directement dans Salesforce et gérer vos devis, sans quitter votre CRM.

## Présentation

L'intégration permet :

* D'intégrer un composant Qwoty dédié sur les pages d'Opportunité Salesforce.
* De créer et de gérer des devis directement dans Salesforce.
* Une communication sécurisée et signée entre votre organisation Salesforce et Qwoty via un package managé.

## Prérequis

Avant de connecter Salesforce à Qwoty :

1. Vous devez disposer d'un compte **Salesforce** valide avec l'autorisation d'installer des packages (profil Administrateur système recommandé).
2. Vous devez avoir accès aux paramètres d'intégration de votre compte **Qwoty**.
3. Votre édition Salesforce doit prendre en charge les **Named Credentials** et les **External Client Apps** (disponibles sur la plupart des éditions Enterprise et supérieures).

## 1. Installer le package Qwoty

1. Connectez-vous à [l'application Qwoty](https://qwoty.app)
2. Accédez à **Paramètres** → **Développeur** → **Intégration**
3. Sur la carte Salesforce, cliquez sur **Connecter**
4. Dans la boîte de dialogue **Installer l'intégration Salesforce**, sous **Étape 1 - Installer le package Qwoty**, choisissez **Installer sur une organisation de production** ou **Installer sur un sandbox** selon votre environnement cible
   <Info>
     Vous devez disposer des droits **Administrateur système** dans l'organisation cible pour installer le package.
   </Info>
5. Vous serez redirigé vers la page d'installation du package Salesforce. Choisissez **Installer pour tous les utilisateurs** (recommandé) et cliquez sur **Installer**
6. Approuvez l'accès tiers lorsque vous y êtes invité — cela permet au package de communiquer avec `qwoty.app`

<Info>
  L'installation du package déploie le composant Lightning Qwoty, les classes Apex, un Named Credential, et l'External Client App Salesforce requis pour l'authentification. Aucune de ces étapes ne stocke de données pour l'instant — cela se produit lors de la connexion (étape 3 ci-dessous).
</Info>

## 2. Connecter votre organisation Salesforce

Une fois le package installé, revenez dans Qwoty pour finaliser la connexion.

1. De retour dans la même boîte de dialogue **Installer l'intégration Salesforce**, sous **Étape 2 - Connecter votre organisation**, cliquez sur **Connecter mon organisation Salesforce**
2. Connectez-vous à Salesforce et autorisez Qwoty à accéder à vos données
3. Sélectionnez le compte à associer à Qwoty et suivez le processus jusqu'à la fin

## 3. Ajouter le composant Qwoty à la mise en page de l'Opportunité

Après la connexion, ajoutez le composant Qwoty à votre page d'Opportunité afin que les utilisateurs puissent consulter et créer des devis.

### Étapes

1. Ouvrez n'importe quel enregistrement **Opportunité** dans Salesforce
2. Cliquez sur l'**icône d'engrenage** → **Modifier la page**
3. Dans le Lightning App Builder, recherchez **Qwoty** dans la liste des composants disponibles
4. Faites glisser et déposez le composant **Qwoty** à l'emplacement souhaité (par exemple, la barre latérale droite)
5. Cliquez sur **Enregistrer**, puis sur **Activer** si cela vous est demandé

Le **composant Qwoty** apparaîtra désormais sur les enregistrements d'Opportunité pour les utilisateurs ayant accès à cette page.

## Avantages

* **Flux de travail unifié :** Les équipes commerciales peuvent créer et gérer des devis directement depuis Salesforce sans changer d'outil.
* **Réduction des tâches manuelles :** Plus besoin de saisir des données en double dans plusieurs systèmes.
* **Sécurité par conception :** Toutes les requêtes entre Salesforce et Qwoty sont signées et vérifiées, et aucun identifiant n'est stocké en clair.

***

## Référence technique

<Note>
  Cette section est destinée aux développeurs qui maintiennent le package Salesforce ou qui résolvent des problèmes d'installation. Elle n'est pas indispensable pour les utilisateurs finaux.
</Note>

### Architecture

L'intégration est distribuée sous forme de **package managé de deuxième génération (2GP)** sous l'espace de noms `Qwoty`. Elle comprend :

| Composant                 | Type                                | Objectif                                                              |
| ------------------------- | ----------------------------------- | --------------------------------------------------------------------- |
| `qwotyCardView`           | Lightning Web Component             | Affiche la carte de devis sur la page d'Opportunité                   |
| `QwotyCardViewController` | Classe Apex                         | Gère l'appel sortant signé vers l'API de Qwoty                        |
| `Qwoty_Config__c`         | Paramètre personnalisé (Hiérarchie) | Stocke le secret de l'organisation et l'URL de l'application          |
| `Qwoty_API`               | Named Credential                    | Définit le point de terminaison de l'appel (`https://qwoty.app`)      |
| `Qwoty`                   | External Client App                 | Utilisé par Nango pour effectuer le flux OAuth Salesforce             |
| `Qwoty_App` / `Qwoty_CDN` | Sites de confiance CSP              | Autorisent les iframes et les images depuis `qwoty.app` et `qwoty.io` |

### Résolution des problèmes

| Symptôme                                            | Cause probable                                                                                                                                                 |
| --------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `The callout couldn't access the endpoint`          | L'appel Apex n'utilise pas le credential avec espace de noms (`callout:Qwoty__Qwoty_API`)                                                                      |
| `Config not found`                                  | `Qwoty_Config__c` n'a aucun enregistrement, ou la requête cible un type de paramètre personnalisé incorrect                                                    |
| `API error: 500` sur le composant                   | Vérifiez les logs du backend pour `/api/crm/cardView` — généralement une recherche Supabase retournant 0 ou plusieurs lignes, ou une incompatibilité de secret |
| `OAUTH_EC_APP_NOT_FOUND` lors de la connexion Nango | Le package n'était pas encore installé, ou a été installé après la tentative OAuth. L'installation doit être effectuée en premier                              |
| "Ce contenu est bloqué" / iframe bloquée            | Le site de confiance CSP est inactif — vérifiez **Configuration → Sites de confiance CSP**                                                                     |
