GET /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

adapty-customer-user-idstring

L'identifiant unique du client dans votre système. adapty-customer-user-id ou adapty-profile-id est requis.

adapty-profile-idstring

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
dataobjectrequired
app_idstringrequired

L'identifiant interne de votre application

profile_idstringrequired

Identifiant de profil Adapty

customer_user_idstringrequired

L'identifiant de votre utilisateur dans votre système

total_revenue_usdnumberrequired

Une valeur flottante représentant le chiffre d'affaires total en USD généré sur le profil

segment_hashstringrequired

Paramètre interne

timestampintegerrequired

Temps de réponse en millisecondes, nécessaire pour résoudre une condition de concurrence

custom_attributesarray of objectrequired

Un maximum de 30 attributs personnalisés peuvent être définis sur le profil

keystringrequired

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

valuestring | numberrequired

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

access_levelsarray of objectrequired

Tableau d'objets niveau d'accès. Tableau vide si le client n'a aucun niveau d'accès

access_level_idstring

Identifiant du niveau d'accès

storestring

Store où le niveau d'accès a été acheté

store_product_idstring

Identifiant du produit dans le store

store_base_plan_idstring

Identifiant du plan de base dans le store

store_transaction_idstring

Identifiant de la transaction dans le store

store_original_transaction_idstring

Identifiant de la transaction d'origine dans le store

offerallOf

Détails de l'offre, si une offre promotionnelle ou une offre de lancement a été appliquée

categorystring

Catégorie de l'offre

One of: "introductory", "promotional", "offer_code", "win_back"

typestring

Type d'offre

One of: "free_trial", "pay_as_you_go", "pay_up_front"

idstring

Identifiant de l'offre

starts_atstring

Date de début du niveau d'accès

purchased_atstring

Date d'achat du niveau d'accès

originally_purchased_atstring

Date d'achat initiale du niveau d'accès

expires_atstring

Date d'expiration du niveau d'accès

renewal_cancelled_atstring

Date d'annulation du renouvellement

billing_issue_detected_atstring

Date de détection du problème de facturation

is_in_grace_periodboolean

Indique si le niveau d'accès est en délai de grâce

cancellation_reasonstring

Raison de l'annulation

subscriptionsarray of objectrequired

Tableau d'objets abonnement. Tableau vide si le client n'a aucun abonnement

storestring

Store où l'abonnement a été acheté

store_product_idstring

ID du produit dans le store

store_base_plan_idstring

ID du plan de base dans le store

store_transaction_idstring

ID de transaction dans le store

store_original_transaction_idstring

ID de transaction d'origine dans le store

offerallOf

Détails de l'offre, si une offre promotionnelle ou une offre de lancement a été appliquée

categorystring

Catégorie de l'offre

One of: "introductory", "promotional", "offer_code", "win_back"

typestring

Type d'offre

One of: "free_trial", "pay_as_you_go", "pay_up_front"

idstring

Identifiant de l'offre

environmentstring

Environnement (Sandbox, Production)

purchased_atstring

Date d'achat de l'abonnement

originally_purchased_atstring

Date d'achat initial de l'abonnement

expires_atstring

Date d'expiration de l'abonnement

renewal_cancelled_atstring

Date d'annulation du renouvellement

billing_issue_detected_atstring

Date de détection du problème de facturation

is_in_grace_periodboolean

Indique si l'abonnement est en délai de grâce

cancellation_reasonstring

Raison de l'annulation

non_subscriptionsarray of objectrequired

Tableau d'objets achat unique. Tableau vide si le client n'a effectué aucun achat

purchase_idstring

Identifiant unique de l'achat

storestring

Store où l'achat a été effectué

store_product_idstring

ID du produit dans le store

store_base_plan_idstring

ID du plan de base dans le store

store_transaction_idstring

ID de la transaction dans le store

store_original_transaction_idstring

ID de la transaction d'origine dans le store

purchased_atstring

Date et heure de l'achat

environmentstring

Environnement (Sandbox, Production)

is_refundboolean

Indique s'il s'agit d'un remboursement

is_consumableboolean

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
errorsarray of objectrequired
sourcestring

Source de l'erreur

errorsarray of string

Tableau de messages d'erreur

error_codestringrequired

Nom court de l'erreur

status_codeintegerrequired

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
errorsarray of objectrequired
sourcestring

Source de l'erreur

errorsarray of string

Tableau de messages d'erreur

error_codestringrequired

Nom court de l'erreur

status_codeintegerrequired

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