Intégrations de services de messagerie
L’acquisition n’est ni facile ni bon marché sur un marché mobile en pleine croissance. Bien traiter les utilisateurs attirés améliore donc votre économie unitaire, surtout dans les niches très concurrentielles.
Adapty fournit des informations en temps réel sur les principales actions de paiement des utilisateurs. Nous savons quand votre client a démarré un essai, s’il a rencontré des problèmes de paiement, ou s’il a souscrit un abonnement avant de décider de l’annuler. Ces événements, et bien d’autres, reflètent un changement d’état du client. C’est le meilleur moment pour réagir : envoyer une offre, un cadeau personnalisé ou tout autre action de rétention.
Les plateformes de notifications push permettent de décrire un utilisateur avec des tags standard et personnalisés afin de construire un système automatique de rétention efficace. Pour que ce système fonctionne, il suffit d’événements déclencheurs pour indiquer au système qu’il est temps d’envoyer un message. Ces événements arriveront sur la plateforme push depuis Adapty via l’intégration configurée.
Choisissez ci-dessous le service à intégrer et suivez les instructions :
Vous ne trouvez pas votre fournisseur d’attribution ?
Faites-le nous savoir ! Créez une demande de fonctionnalité et nous envisagerons de l’ajouter.
Propriétés des événements
Les événements webhook sont envoyés au format JSON. Tous les événements suivent la même structure, mais leurs champs varient selon le type d’événement, le store et votre configuration spécifique.
Adapty convertit les autres devises en USD au taux de change de currencylayer.com (actualisé toutes les 8 heures). Le taux est fixé au moment de la transaction — les variations ultérieures n’affectent pas le résultat de la conversion.
| Propriété | Type | Description |
|---|---|---|
| profile_id | uuid | ID utilisateur Adapty. |
| currency | str | Devise locale (USD par défaut). |
| price_usd | float | Prix du produit avant la commission Apple/Google. Revenu. |
| proceeds_usd | float | Prix du produit après la commission Apple/Google. Revenu net. |
| net_revenue_usd | float | Revenu net (revenu après commission Apple/Google et taxes) en USD. Peut être vide. |
| price_local | float | Prix du produit avant la commission Apple/Google en devise locale. Revenu. |
| proceeds_local | float | Prix du produit après la commission Apple/Google en devise locale. Revenu net. |
| transaction_id | str | Identifiant unique d’une transaction, comme un achat ou un renouvellement. |
| original_transaction_id | str | Identifiant de transaction de l’achat d’origine. |
| purchase_date | ISO 8601 date | Date et heure d’achat du produit. |
| original_purchase_date | ISO 8601 date | Date et heure de l’achat d’origine. |
| environment | str | Peut être Sandbox ou Production. |
| vendor_product_id | str | ID du produit sur l’Apple App Store, le Google Play Store ou Stripe. |
| base_plan_id | str | ID du plan de base sur le Google Play Store ou ID de prix sur Stripe. |
| event_datetime | ISO 8601 date | Date et heure de l’événement. |
| store | str | Peut être app_store ou play_store. |
| trial_duration | str | Durée de la période d’essai en jours. Envoyée au format ” days”, par exemple “7 days”. |
| cancellation_reason | str | Raison pour laquelle l’utilisateur a annulé son abonnement. Peut être iOS & Android voluntarily_cancelled, billing_error, refund iOS price_increase, product_was_not_available, unknown Android new_subscription_replace, cancelled_by_developer |
| subscription_expires_at | ISO 8601 date | Date d’expiration de l’abonnement. Généralement dans le futur. |
| consecutive_payments | int | Nombre de périodes pendant lesquelles l’utilisateur est abonné sans interruption. Inclut la période en cours. |
| rate_after_first_year | bool | Booléen indiquant que l’abonnement est éligible à un taux de commission réduit (généralement 15 %) après un an de renouvellement continu. Les taux de commission varient selon l’éligibilité au programme et le pays. Voir Commission du store et taxes pour plus de détails. |
| promotional_offer_id | str | ID de l’offre promotionnelle tel qu’indiqué dans la section Produit de l’Adapty Dashboard. |
| store_offer_category | str | Peut être introductory ou promotional. |
| store_offer_discount_type | str | Peut être free_trial, pay_as_you_go ou pay_up_front. |
| paywall_name | str | Nom du paywall d’où provient la transaction. |
| paywall_revision | int | Révision du paywall d’où provient la transaction. La valeur est définie à 1. |
| developer_id | str | ID développeur (SDK) du placement d’où provient la transaction. |
| ab_test_name | str | Nom du test A/B d’où provient la transaction. |
| ab_test_revision | int | Révision du test A/B d’où provient la transaction. La valeur est définie à 1. |
| cohort_name | str | Nom de l’audience à laquelle appartient le profil. |
| profile_event_id | uuid | ID d’événement unique pouvant être utilisé pour la déduplication. |
| store_country | str | Le pays transmis par le store. |
| profile_ip_address | str | IP du profil (peut être IPv4 ou IPv6, IPv4 étant préférée si disponible). Mise à jour à chaque changement d’IP de l’appareil. |
| profile_country | str | Déterminé par Adapty, à partir de l’IP du profil. |
| profile_total_revenue_usd | float | Revenu total pour le profil, remboursements inclus. |
| variation_id | uuid | ID unique du paywall où l’achat a été effectué. |
| access_level_id | str | ID du niveau d’accès payant. |
| is_active | bool | Booléen indiquant si le niveau d’accès payant est actif pour le profil. |
| will_renew | bool | Booléen indiquant si le niveau d’accès payant sera renouvelé. |
| is_refund | bool | Booléen indiquant si la transaction est remboursée. |
| is_lifetime | bool | Booléen indiquant si le niveau d’accès payant est à vie. |
| is_in_grace_period | bool | Booléen indiquant si le profil est en délai de grâce. |
| starts_at | ISO 8601 date | Date et heure auxquelles le niveau d’accès payant démarre pour l’utilisateur. |
| renewed_at | ISO 8601 date | Date et heure auxquelles l’accès payant sera renouvelé. |
| expires_at | ISO 8601 date | Date et heure auxquelles l’accès payant expirera. |
| activated_at | ISO 8601 date | Date et heure auxquelles l’accès payant a été activé. |
| billing_issue_detected_at | ISO 8601 date | Date et heure du problème de facturation. |
| profile_has_access_level | Bool | Booléen indiquant si le profil dispose d’un niveau d’accès actif (webhook uniquement). |
Chaque événement possède les propriétés suivantes :
transaction_id, original_transaction_id, purchase_date, original_purchase_date, environment, vendor_product_id, event_datetime, store.
De plus, certains événements ont des propriétés supplémentaires. Pour les événements subscription_refunded et non_subscription_purchase_refunded, il est obligatoire de fournir les valeurs de price_usd et proceeds_usd comme propriétés supplémentaires.
| Nom de l’événement | Propriétés |
|---|---|
| subscription_initial_purchase | price_usd, proceeds_usd, subscription_expires_at, consecutive_payments, rate_after_first_year, trial_duration |
| subscription_renewed | price_usd, proceeds_usd, subscription_expires_at, consecutive_payments, rate_after_first_year, trial_duration |
| subscription_cancelled | cancellation_reason, trial_duration |
| trial_started | subscription_expires_at, trial_duration |
| trial_converted | price_usd, proceeds_usd, subscription_expires_at, consecutive_payments, rate_after_first_year, trial_duration |
| trial_cancelled | cancellation_reason, trial_duration |
| non_subscription_purchase | price_usd, proceeds_usd |
| billing_issue_detected | subscription_expires_at, trial_duration |
| entered_grace_period | subscription_expires_at, trial_duration |
Exemple d’événement
{
"price_usd": 9.99,
"proceeds_usd": 6.99,
"transaction_id": "1000000628581600",
"original_transaction_id": "1000000628581600",
"purchase_date": "2020-02-18T18:40:22.000000+0000",
"original_purchase_date": "2020-02-18T18:40:22.000000+0000",
"environment": "Sandbox",
"vendor_product_id": "premium",
"event_datetime": "2020-02-18T18:40:22.000000+0000",
"store": "app_store"
}
Adapty envoie les événements à votre serveur et aux systèmes analytiques tiers.
La propriété profile_ip_address est synchronisée avec l’IP actuelle de l’appareil. Chaque fois que les serveurs Adapty reçoivent des informations du SDK, l’IP est mise à jour si elle diffère de celle enregistrée.