# Version 2 (nouvelle méthode)

## Fonctionnalités

* Ouvrez des tickets directement depuis Whatsapp
* Simplifiez vos échanges et suivez vos tickets directement depuis l'application ou un navigateur Web

## Prérequis

| GLPI     | PHP minimum | PHP recommanded |
| -------- | ----------- | --------------- |
| ≥ 11.0.3 | 8.2         | 8.4             |

{% hint style="info" %}
Une souscription [GLPI Network BASIC](https://services.glpi-network.com/#offers) (ou supérieur) est requis. Ce plugin est également disponible pour toutes les instances [Cloud de GLPI Network](https://glpi-network.cloud).
{% endhint %}

* Être en possession d’un compte WhatsApp (Méta) business actif avec un numéro de téléphone valide
* Avoir une instance GLPI disponible depuis Internet et https

{% hint style="success" %}
**RGPD - Bon à savoir**\
Pour le bon fonctionnement du plugin WhatsApp, GLPI conserve le numéro de téléphone de l’utilisateur dans sa base de données. Cette donnée est essentiel pour que le plugin WhatsApp puisse fonctionner.\
\
L’utilisation du plugin anonymize peut entrainer des comportements non désirés en cas d’anonymisation du numéro de téléphone
{% endhint %}

## Installer le plugin

<div align="left"><img src="https://782257568-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FJFKLcURHvFBybgf5dths%2Fuploads%2FyKyAh8jy65KSvwSi7RKQ%2FInstaller%20le%20plugin.png?alt=media&#x26;token=075cb522-d7e7-4a3c-8209-183d20d56f8d" alt="Installer le plugin"></div>

Le paramétrage du plugin se fera ensuite dans `Configuration` > `Générale` > `Whatsapp`

## Créer une application depuis un compte Méta

### Créer l’application

* Depuis le compte Développeur Méta : <https://developers.facebook.com/apps/creation/>
* Cliquez sur Créer un ID d’application

![Creer l'applicaiton](https://782257568-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FJFKLcURHvFBybgf5dths%2Fuploads%2FxGufvIU4ONyXPWt1cIf2%2F84a794cd-1480-46f4-94bf-36c905c97fa4.png?alt=media\&token=6510da6d-b887-448b-ab54-cd464206a783)

* Sélectionnez le compte business qui sera rattaché à l’application

![Sélection du compte business](https://content.gitbook.com/content/JFKLcURHvFBybgf5dths/blobs/jiJs5tabW2zVJCwIoFbT/attachments/7ccbe582-5f0c-45da-97d3-d545a4adbb9d.png)

Cliquez sur **`Next`**, puis validez votre application en cliquant sur **`Go to dahboard`**.

![Validation de l'application](https://content.gitbook.com/content/JFKLcURHvFBybgf5dths/blobs/HqcCfqMDDWvgk85bIzlU/attachments/672931a5-8615-42a3-942a-cdabd7d3db6e.png)

### Configurer l’application — Cas d'usage

* Depuis le tableau de bord de votre application, cliquez sur **`Use cases`** > **`Customize`**

![Cas d'usage](https://content.gitbook.com/content/JFKLcURHvFBybgf5dths/blobs/Wk4f4zqDZ6JB6zh1FTsI/attachments/29e4ac08-c940-4e86-b9db-fc8ca175eb66.png)

![Personnalisation des cas d'usage](https://content.gitbook.com/content/JFKLcURHvFBybgf5dths/blobs/No9RBEQ4LLIKLQitjjn0/attachments/f1a4758e-07e8-46c6-8025-73fc1ae2c00f.png)

### Configurer l’API et vérifier le numéro

* Cliquez sur **Configurer l’API** dans le menu de gauche et assurez-vous que le numéro de téléphone soit bien enregistré.

![Contrôler le numéro de téléphone](https://content.gitbook.com/content/JFKLcURHvFBybgf5dths/blobs/HOrR1RRFItf5Es2Dznwr/attachments/e73383b4-fe1c-40f3-9866-e139b3816442.png)

* Si ce n’est pas le cas, allez à l’étape d’ajout de numéro et suivez les étapes pour **Ajouter un numéro**.

![Ajouter un numéro pour l'application](https://content.gitbook.com/content/JFKLcURHvFBybgf5dths/blobs/dtnv7wU1Q5m98NmbYsSE/attachments/de3625f9-0221-4472-903a-c5cb567c323a.png)

### Configuration des Webhook

* Depuis l'onglet **Configuration** (de l’application Meta), copiez/collez l'URL et le token (disponible depuis GLPI : **`Configuration`** > **`Générale`** > **`Whatsapp`**).
* Cliquez sur **Vérifier et sauvegarder**.

![URL de Callback et token GLPI](https://content.gitbook.com/content/JFKLcURHvFBybgf5dths/blobs/uFq7I5zluBHsXGENqw7S/attachments/5ba74809-9836-4444-b12e-1f26c8bddc29.png)

* Une fois la callback url et le token validés, une liste de champs apparaîtra. Cherchez le champ **`messages`** et cochez-le.

![Activez les messages](https://content.gitbook.com/content/JFKLcURHvFBybgf5dths/blobs/KbpcfM1XXtWyT05hVv31/attachments/30435321-f530-4aef-b6b0-c02a43ca6d93.png)

***

## Gestion d’utilisateur

Il est préférable de créer un utilisateur dédié qui aura des permissions spécifiques pour être autorisé à utiliser les webhook WhatsApp.

### Créer un utilisateur (People)

* Depuis votre compte Meta : <https://business.facebook.com/>, rendez-vous dans `Settings` > **`People`**.
* Cliquez sur **`+ Invite people`**.
* Entrez les informations demandées à chaque étape :
  * adresse mail
  * Assigner des accès : sélectionnez **Contrôle total**
  * Assigner un actif : sélectionnez le compte WhatsApp souhaité et assurez-vous que les options **`Messages`**, **`Message templates`** et **`Phone numbers (view only)`** soient cochées.

![Assignation des permissions](https://content.gitbook.com/content/JFKLcURHvFBybgf5dths/blobs/dFPj1mm8a5WX6z9Qr1aQ/attachments/fd335935-08ae-4c8a-becf-6a11ccdb46bc.png)

{% hint style="success" %}
Avant que l’utilisateur puisse gérer l’application, il faudra valider l’invitation à rejoindre le compte WhatsApp. Une fois l’invitation acceptée, un délai peut être constaté avant de pouvoir lui attribuer des droits sur l’application.

![](https://782257568-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FJFKLcURHvFBybgf5dths%2Fuploads%2F7jDWxCx3wHOIq7bnbjPO%2Fvalider-invitation.png?alt=media\&token=9bc9824d-9863-4457-a75e-4e480daa4541)
{% endhint %}

* Validez votre saisie pour enregistrer le compte et envoyer l’invitation.

### Assigner l’application

* Quand l’invitation est acceptée, dans votre compte Meta : **`Accounts`** > **`Apps`**.
* Sélectionnez l’application précédemment créée, puis **`Assign people`**.
* Cochez l’utilisateur souhaité et assignez les autorisations nécessaires.

![](https://content.gitbook.com/content/JFKLcURHvFBybgf5dths/blobs/ERkdN28ZNOGkkySo3rBJ/attachments/a4c546f8-5671-48d7-9c7c-cc21a6fff3f6.png)

* Assignez les autorisations nécessaires

<div align="left"><img src="https://content.gitbook.com/content/JFKLcURHvFBybgf5dths/blobs/ECUXNVUqvPSv0QQnffX8/attachments/3393b9db-bf0c-48e8-9ffb-83230df358d0.png" alt="Assigner les permissions"></div>

### Création d’un compte Utilisateur système

Le compte utilisateur système permettra de générer un token qui sera renseigné dans GLPI (utilisé comme bot pour l’application).

* Dans votre compte Meta : **`Users`** > **`System users`**, cliquez sur **`+ Add`**.
* Entrez un nom pour le compte.
* Sélectionnez **`Employee`**.
* Validez votre saisie.

Une fois le compte créé :

* Cliquez sur le menu à droite, puis **`Assign assets`**.

![Assignation d'un actif](https://content.gitbook.com/content/JFKLcURHvFBybgf5dths/blobs/ve4qUltxRRDPApen1syM/attachments/d493c501-a101-42e0-8a70-be23c99a590c.png)

* Sélectionnez l’application créée puis **`Full control`**.
* Dans **`WhatsApp Accounts`**, cochez **`Messages templates (view only)`** et **`Messages`**.

![Peresmission de l'actif](https://content.gitbook.com/content/JFKLcURHvFBybgf5dths/blobs/QWZSOAUycnrnpVw25bAh/attachments/bcd48084-98dc-43f9-95e4-7d517a48d7a2.png)

* Cliquez sur **`Assign assets`**.

### Génération du token

* Depuis **System users**, cliquez sur **`Generate token`**.

![Génération d'un token](https://content.gitbook.com/content/JFKLcURHvFBybgf5dths/blobs/z9dtyK5vv92MXxmRKtZt/attachments/29afd9bb-213a-4f2a-98af-aee551fb8dd9.png)

* Sélectionnez l’application désirée.
* Sélectionnez la durée d’expiration du token (60 jours ou **jamais**).

{% hint style="danger" %}
**Si vous sélectionnez 60 jours, il faudra penser à renouveler votre token pour éviter une coupure de service de votre application.**
{% endhint %}

* Assignez les 3 permissions suivantes :
  * **`whatsapp_business_manage_events`**
  * **`whatsapp_business_management`**
  * **`whatsapp_business_messaging`**

![](https://content.gitbook.com/content/JFKLcURHvFBybgf5dths/blobs/V2zmAMtkgVZziyPsRXXh/attachments/89604c80-fd33-4725-ba55-02c1b9979f03.png)

* Puis cliquez sur **Générer le token**.

{% hint style="success" %}
Conserver ce token qui doit être renseigné dans GLPI.
{% endhint %}

***

## Configuration de GLPI

* Depuis votre instance GLPI, rendez-vous dans **`Configuration`** > **`Générale`** > **`Whatsapp`**.
* Dans **WhatsApp Business Account ID**, indiquez l’ID du compte WhatsApp (disponible dans votre compte Meta puis **`Comptes`** > **`Comptes WhatsApp`** : <https://business.facebook.com/latest/settings/whatsapp\\_account>).

![ID d'application](https://content.gitbook.com/content/JFKLcURHvFBybgf5dths/blobs/c0M0XPlg2oozjf1BxuaQ/attachments/698eadd8-42dc-4468-84b5-d2da88f305a6.png)

* Dans **Token d’accès**, indiquez le token généré précédemment.
* Sauvegardez votre saisie.

Si tout est ok, un message vous informant que votre configuration est valide apparaîtra.

![Validation de saisie dans GLPI](https://content.gitbook.com/content/JFKLcURHvFBybgf5dths/blobs/hILWWf50lxSARkgje3hW/attachments/a5b57826-a951-4e3c-9046-e1d0033a31b1.png)

***

## Configuration des modèles de notifications

Vous n’avez rien de particulier à faire côté Template. Ceux-ci sont générés directement par le plugin et sont visibles depuis la partie message templates de la configuration du plugin WhatsApp sur GLPI.

![Modèle de notifications](https://content.gitbook.com/content/JFKLcURHvFBybgf5dths/blobs/mjXTTCBRvmDrzXpWYE0r/attachments/208c4611-696d-49df-89d5-814e62ffd8f2.png)

Le bouton **`refresh`** permet de resynchroniser les templates avec WhatsApp dans le cas où ceux-ci ne seraient pas **APPROVED** (ou lors de l'ajout de nouvelles langues par le plugin).

***

## Avant d’activer votre application

### Politique de confidentialité et logo

Avant d’activer votre application, il faut indiquer une URL pour la politique de confidentialité.

* Depuis **Configuration d’application** > **Basique**, indiquez l’URL appropriée.
* Ajoutez également un **logo** (celui qui apparaîtra de façon publique sur le contact WhatsApp).

![Informations obligatoires avant publication](https://content.gitbook.com/content/JFKLcURHvFBybgf5dths/blobs/piHW0TLiwAxkgcrn0PZT/attachments/93caadc8-3aa5-479d-990b-6e91c92f0aff.png)

### Moyen de paiement

Un moyen de paiement doit être activé, sinon les message templates ne pourront pas être envoyés.

* Depuis votre compte Meta : **`Accounts`** > **`WhatsApp accounts`**
* Sélectionnez le compte souhaité
* Cliquez sur **Payment settings** et suivez les étapes

![Ajouter un moyen de paiement](https://content.gitbook.com/content/JFKLcURHvFBybgf5dths/blobs/OhNsMHQyvCF4nxwsFTvv/attachments/ac05a5cd-eee9-4bb3-a2e3-d36d0984116c.png)

***

## Publier votre application

Vous pouvez maintenant publier votre application.

![Publication de l'application](https://content.gitbook.com/content/JFKLcURHvFBybgf5dths/blobs/0leioEtVKeot48h5bjou/attachments/80c33446-efa2-4e60-8fdb-3cb9f9c14419.png)

***

## Configuration du ticket

### Accès anonyme

Vous pouvez autoriser ou non l’accès aux anonymes (utilisateurs non présents dans la base de données).

![Configuration de l'accès anonyme](https://content.gitbook.com/content/JFKLcURHvFBybgf5dths/blobs/A2IFk1pgkiSurru1nXXD/attachments/6e859db5-ae71-4a7e-9fb4-8b63debfdb80.png)

### Modèle de titre des tickets

Vous pouvez ajouter des variables et/ou du texte qui seront retranscrits dans le titre du ticket.

![Exemple de modèle de titre](https://content.gitbook.com/content/JFKLcURHvFBybgf5dths/blobs/B4BwurxOFq8yz8wVZbWU/attachments/0b64f11c-41ed-4274-a524-e904d3fb865e.png)

### Règle métiers

Afin de personnaliser le comportement du plugin, vous pouvez ajouter des règles métiers. Le moteur fonctionne comme le moteur de règles de GLPI.

La gestion des règles se trouve dans **`Administration`** > **`Règles`** > **`WhatsApp - Règles des tickets`**.

![Règles métiers](https://content.gitbook.com/content/JFKLcURHvFBybgf5dths/blobs/AqCKWiHcqSDW1ZZa6klZ/attachments/bb5c9024-1d9f-43a0-9a57-14e41ac471d3.png)

Les critères concernent soit les utilisateurs anonymes soit les numéros WhatsApp et auront pour action, par exemple, l’envoi de message suite réception d’un ticket, la mise à jour de l’entité, de la catégorie, de l’urgence, etc.

***

## Limitations actuelles

Seules les mises à jour des suivis de ticket et les solutions sont envoyées à l’utilisateur. Les tâches et les enquêtes de satisfaction ne sont pas compatibles.
