/api/v2/server-side-api/profile/ Obtenir un profil
Récupère les détails d'un utilisateur final existant de votre application.
Header parameters
L'identifiant unique du client dans votre système. adapty-customer-user-id ou adapty-profile-id est requis.
L'identifiant unique du profil dans votre système. Meilleure option si vous travaillez avec des profils anonymes. adapty-customer-user-id ou adapty-profile-id est requis.
Responses
Profil récupéré avec succès
Schema
L'identifiant interne de votre application
Identifiant de profil Adapty
L'identifiant de votre utilisateur dans votre système
Une valeur flottante représentant le chiffre d'affaires total en USD généré sur le profil
Paramètre interne
Temps de réponse en millisecondes, nécessaire pour résoudre une condition de concurrence
Un maximum de 30 attributs personnalisés peuvent être définis sur le profil
La clé doit être une chaîne de caractères ne dépassant pas 30 caractères. Seuls les lettres, chiffres, tirets, points et underscores sont autorisés
La valeur de l'attribut ne doit pas dépasser 50 caractères. Seules les chaînes de caractères et les nombres flottants sont autorisés comme valeurs
Tableau d'objets niveau d'accès. Tableau vide si le client n'a aucun niveau d'accès
Identifiant du niveau d'accès
Store où le niveau d'accès a été acheté
Identifiant du produit dans le store
Identifiant du plan de base dans le store
Identifiant de la transaction dans le store
Identifiant de la transaction d'origine dans le store
Détails de l'offre, si une offre promotionnelle ou une offre de lancement a été appliquée
Catégorie de l'offre
One of: "introductory", "promotional", "offer_code", "win_back"
Type d'offre
One of: "free_trial", "pay_as_you_go", "pay_up_front"
Identifiant de l'offre
Date de début du niveau d'accès
Date d'achat du niveau d'accès
Date d'achat initiale du niveau d'accès
Date d'expiration du niveau d'accès
Date d'annulation du renouvellement
Date de détection du problème de facturation
Indique si le niveau d'accès est en délai de grâce
Raison de l'annulation
Tableau d'objets abonnement. Tableau vide si le client n'a aucun abonnement
Store où l'abonnement a été acheté
ID du produit dans le store
ID du plan de base dans le store
ID de transaction dans le store
ID de transaction d'origine dans le store
Détails de l'offre, si une offre promotionnelle ou une offre de lancement a été appliquée
Catégorie de l'offre
One of: "introductory", "promotional", "offer_code", "win_back"
Type d'offre
One of: "free_trial", "pay_as_you_go", "pay_up_front"
Identifiant de l'offre
Environnement (Sandbox, Production)
Date d'achat de l'abonnement
Date d'achat initial de l'abonnement
Date d'expiration de l'abonnement
Date d'annulation du renouvellement
Date de détection du problème de facturation
Indique si l'abonnement est en délai de grâce
Raison de l'annulation
Tableau d'objets achat unique. Tableau vide si le client n'a effectué aucun achat
Identifiant unique de l'achat
Store où l'achat a été effectué
ID du produit dans le store
ID du plan de base dans le store
ID de la transaction dans le store
ID de la transaction d'origine dans le store
Date et heure de l'achat
Environnement (Sandbox, Production)
Indique s'il s'agit d'un remboursement
Indique s'il s'agit d'un achat consommable
Example
{
"data": {
"app_id": "14c3d333-2f3a-455a-aa86-ef83dff6913b",
"profile_id": "d8533a10-bcce-4e33-8c9d-88b05ac56559",
"customer_user_id": "77B14FB4-FD2A-4D38-AA3A-4C433F79863C",
"total_revenue_usd": 9.99,
"segment_hash": "fdaeef7f8aaa33c9",
"timestamp": 1733324566777,
"custom_attributes": [
{
"key": "favourite_sport",
"value": "yoga"
}
],
"access_levels": [
{
"access_level_id": "premium",
"store": "app_store",
"store_product_id": "unlimited.9999",
"store_base_plan_id": null,
"store_transaction_id": "2000000335013007",
"store_original_transaction_id": "2000000335013007",
"offer": null,
"starts_at": null,
"purchased_at": "2024-12-24T10:50:23+00:00",
"originally_purchased_at": "2024-12-24T10:50:23+00:00",
"expires_at": null,
"renewal_cancelled_at": "2025-01-05T13:27:47.461425+00:00",
"billing_issue_detected_at": null,
"is_in_grace_period": false,
"cancellation_reason": null
}
],
"subscriptions": [
{
"store": "app_store",
"store_product_id": "unlimited.9999",
"store_base_plan_id": null,
"store_transaction_id": "2000000815013007",
"store_original_transaction_id": "2000000815013007",
"offer": null,
"environment": "Sandbox",
"purchased_at": "2024-12-24T10:50:23+00:00",
"originally_purchased_at": "2024-12-24T10:50:23+00:00",
"expires_at": null,
"renewal_cancelled_at": null,
"billing_issue_detected_at": null,
"is_in_grace_period": false,
"cancellation_reason": null
}
],
"non_subscriptions": [
{
"purchase_id": "7a5f9a7d-e236-33e6-96d8-53a3c59c5562",
"store": "app_store",
"store_product_id": "1year.premium",
"store_base_plan_id": null,
"store_transaction_id": "30002109551456",
"store_original_transaction_id": "30002109551456",
"purchased_at": "2022-10-12T09:42:50+00:00",
"environment": "Production",
"is_refund": false,
"is_consumable": false
}
]
}
} Non autorisé
Schema
Source de l'erreur
Tableau de messages d'erreur
Nom court de l'erreur
Code de statut HTTP
Example
{
"errors": [
{
"source": "non_field_errors",
"errors": [
"Authentication credentials were not provided."
]
}
],
"error_code": "not_authenticated",
"status_code": 401
} Profil introuvable
Schema
Source de l'erreur
Tableau de messages d'erreur
Nom court de l'erreur
Code de statut HTTP
Example
{
"errors": [
{
"source": null,
"errors": [
"Profile not found"
]
}
],
"error_code": "profile_does_not_exist",
"status_code": 404
} Erreur interne du serveur