# Intégration RevenueCat

<Aside type="caution" icon="setting" title="Assistance d'un développeur requise">
 Vous aurez besoin de l'aide de votre équipe de développement pour configurer l'intégration. Veuillez leur partager ce guide.
</Aside>

[RevenueCat](https://www.revenuecat.com/) est une plateforme de gestion d'abonnements qui simplifie les achats et les abonnements in-app pour les entreprises sur les plateformes iOS, Android et web. Elle fournit des outils complets pour créer, analyser et améliorer les abonnements in-app.

En intégrant Pushwoosh à [RevenueCat](https://www.revenuecat.com/), les entreprises peuvent envoyer des notifications push ciblées, des messages in-app et d'autres messages aux utilisateurs en fonction des événements d'abonnement envoyés par RevenueCat à Pushwoosh. Cela peut encourager les utilisateurs à renouveler leurs abonnements, à passer à des niveaux supérieurs ou à profiter d'offres spéciales, améliorant ainsi l'engagement, maximisant les revenus et simplifiant la gestion des abonnements.

## Cas d'utilisation

#### Communication personnalisée

Les entreprises peuvent utiliser l'intégration pour personnaliser la communication avec les clients. Par exemple, une plateforme d'e-learning peut stimuler l'engagement des utilisateurs en envoyant des notifications push personnalisées lorsqu'un changement de plan d'abonnement est détecté. Ces notifications offrent des conseils de transition, recommandent des cours pertinents en fonction du nouveau plan et fournissent des avantages exclusifs alignés sur la mise à jour.

#### Notifications de problèmes de facturation

Lorsqu'un problème de facturation survient pour l'abonnement d'un utilisateur, les entreprises peuvent utiliser l'intégration RevenueCat avec Pushwoosh pour envoyer rapidement des notifications ciblées. Par exemple, un service de streaming peut informer l'utilisateur du problème de facturation et fournir des instructions pour le résoudre, comme la mise à jour des informations de paiement.

#### Notifications d'achat non renouvelable

Les entreprises peuvent tirer parti de l'intégration RevenueCat avec Pushwoosh pour transformer les achats uniques en relations clients durables. Par exemple, un service de livraison de repas peut envoyer une notification push post-achat pour remercier le client et recommander des produits pertinents ou promouvoir un plan d'abonnement pour une commodité continue. Cela favorisera la fidélité des clients, générera des opportunités de vente incitative et convertira potentiellement les acheteurs uniques en abonnés.

#### Promotions de mise à niveau de niveau

Les applications avec plusieurs niveaux d'abonnement peuvent utiliser l'intégration pour surveiller les abonnements des utilisateurs et envoyer des incitations de mise à niveau sur mesure. Par exemple, une application de jeu pourrait utiliser des notifications push pour souligner les avantages des niveaux premium, comme du contenu exclusif ou des réductions, encourageant les utilisateurs à élever leurs abonnements.

## Événements

L'intégration permet de suivre divers événements, les créant automatiquement dans Pushwoosh une fois que le premier événement est envoyé depuis RevenueCat. Ces événements incluent :

| Événement                 | Event Name      <div style="width:160px"></div>                   | Description                                                                                                                      | Attributs       <div style="width:200px"></div>                                                                                                   |
|---------------------- |--------------------------- |------------------------------------------------------------------------------------------------------------------------------ |--------------------------------------------------------------------------------------------------------------- |
| Achat initial      | `RC_INITIAL_PURCHASE`      | Un nouvel abonnement a été acheté.                                                                                        | <ul><li>price</li><li>price_in_purchased_currency</li><li>currency</li></ul>                                   |
| Achat non renouvelable | `RC_NON_RENEWING_PURCHASE` | Un client a effectué un achat qui ne se renouvellera pas automatiquement.                                                                      | <ul><li>price</li><li>price_in_purchased_currency</li><li>currency</li></ul>                                   |
| Renouvellement              | `RC_RENEWAL`               | Un abonnement existant a été renouvelé ou un utilisateur inactif s'est réabonné.                                                 | <ul><li>price</li><li>price_in_purchased_currency</li><li>currency</li></ul>                                   |
| Changement de produit       | `RC_PRODUCT_CHANGE`        | Un abonné a changé le produit de son abonnement.                                                                  |                                                                                                              |
| Annulation         | `RC_CANCELLATION`          | Un abonnement ou un achat non renouvelable a été annulé.                                                                   |                                                                                                             |
| Problèmes de facturation       | `RC_BILLING_ISSUE`         | Un problème est survenu lors de la tentative de facturation de l'abonné.                                                             |                                                                                                              |
| Alias d'abonné   | `RC_SUBSCRIBER_ALIAS`      | Se produit chaque fois qu'un nouvel `app_user_id` a été enregistré pour un abonné existant.                                         |                                                                                                             |
| Abonnement mis en pause  | `RC_SUBSCRIPTION_PAUSED`   | L'abonnement a été configuré pour être mis en pause à la fin de la période.                                                         |                                                                                                              |
| Annulation de l'annulation      | `RC_UNCANCELLATION`        | Un abonnement annulé non expiré a été réactivé.                                                                    |                                                                                                             |
| Transfert            | `RC_TRANSFER`              | Un transfert de transactions et de droits a été initié entre un ou plusieurs ID d'utilisateur d'application vers un autre.                            |                                                                                                             |
| Abonnement prolongé | `RC_SUBSCRIPTION_EXTENDED` | Un abonnement existant a été prolongé (la date d'expiration de la période d'abonnement en cours a été repoussée). |                                                                                                             |
| Expiration          | `RC_EXPIRATION`            | L'abonnement d'un client expire.                                                                                      | <ul><li>price</li><li>price_in_purchased_currency</li><li>currency</li><li>expiration_at</li><li>purchased_at</li></ul> |

Vous pouvez utiliser tous ces événements dans vos [parcours client](/fr/product/customer-journey/pushwoosh-journey-overview). Les événements avec l'attribut prix peuvent être utilisés avec la [segmentation RFM](/fr/product/audience-data-and-segmentation/segmentation/rfm-segmentation).

<Aside type="tip">
Vous pouvez également mapper les événements générant des revenus comme `RC_INITIAL_PURCHASE`, `RC_RENEWAL` ou `RC_NON_RENEWING_PURCHASE` (en utilisant leurs attributs `price` et `currency`) comme source pour les [événements de Conversion](/fr/product/audience-data-and-segmentation/events/conversion-events/). Évitez de mapper `RC_CANCELLATION` ou `RC_EXPIRATION` de cette manière — les événements de conversion ne prennent pas en charge les remboursements ou les annulations, ils resteraient donc comptabilisés comme des revenus.
</Aside>

## Configuration de l'intégration

### Synchroniser les User IDs et les HWIDs entre Pushwoosh et RevenueCat

Pour synchroniser les événements entre RevenueCat et Pushwoosh pour le même utilisateur, vous devez définir le UserID de Pushwoosh pour qu'il corresponde à l'App User ID de RevenueCat. Pour ce faire, définissez l'appUserID du SDK RevenueCat dans le SDK Pushwoosh. [En savoir plus sur l'appUserID de RevenueCat](https://www.revenuecat.com/docs/customers/user-ids#provide-app-user-id-on-configuration)

#### Pour Android

Définissez l'appUserID obtenu du SDK RevenueCat dans le SDK Pushwoosh en utilisant la méthode `Pushwoosh.getInstance().setUserId(appUserIDFromRC);`.

#### Pour iOS

Définissez l'appUserID obtenu du SDK RevenueCat dans le SDK Pushwoosh en utilisant la méthode `[[Pushwoosh sharedInstance] setUserId: appUserIDFromRC];`.

### Envoyer les événements RevenueCat à Pushwoosh

Après avoir synchronisé les User IDs et les HWIDs dans Pushwoosh et RevenueCat, activez l'intégration Pushwoosh dans votre tableau de bord RevenueCat.

1. Accédez à votre projet dans le tableau de bord RevenueCat et trouvez la carte Intégrations dans le menu de gauche. Cliquez sur **+ New** ou **Add integration**

<img src="/integrations-revenuecat-integration-1.webp" alt="Trouver les intégrations dans le tableau de bord RevenueCat"/>

2. Sélectionnez **Webhooks** dans le menu **Integrations**

<img src="/integrations-revenuecat-integration-2.webp" alt="Sélectionner Webhooks dans le menu Intégrations"/>

3. Donnez à l'intégration un nom simple, tel que _Pushwoosh_, pour une identification facile.
4. Saisissez l'URL suivante dans le champ **Webhook URL** :

`https://integration-revenuecat.svc-nue.pushwoosh.com/integration-revenuecat/v1/post-event?pwapp=APP_CODE"`

<img src="/integrations-revenuecat-integration-3.webp" alt="Saisir l'URL du Webhook pour l'intégration Pushwoosh"/>

Dans l'URL, remplacez **APP_CODE** par votre code d'application Pushwoosh existant qui se trouve sous le nom de votre application dans votre compte Pushwoosh.

<img src="/integrations-revenuecat-integration-4.webp" alt="Trouver le code d'application Pushwoosh"/>

5. Dans le champ **Authorization header value**, insérez votre **jeton API Pushwoosh.** Vous pouvez trouver ce jeton sous **Settings > API Access** dans Pushwoosh.

<img src="/integrations-revenuecat-integration-5.webp" alt="Saisir le jeton API Pushwoosh dans l'en-tête d'autorisation"/>

6. Décidez si vous souhaitez transmettre les événements pour les achats de production (en direct), les achats de bac à sable (test), ou les deux.
7. Dans le menu déroulant **App**, spécifiez si les événements de webhook doivent être envoyés pour une seule application ou pour toutes les applications du projet.
8. Dans le menu déroulant **Event Type**, sélectionnez si vous souhaitez envoyer tous les événements ou spécifiez quels événements envoyer à Pushwoosh.

<img src="/integrations-revenuecat-integration-6.webp" alt="Configurer les types d'événements dans le webhook RevenueCat"/>

9. Choisissez d'afficher tous les événements, uniquement les événements réussis, ou uniquement les événements échoués.

<img src="/integrations-revenuecat-integration-7.webp" alt="Sélectionner les options d'affichage des événements dans le webhook"/>

De plus, vous avez la possibilité d'envoyer un Webhook de test.