---
title: "Commandes produits et offres produits"
description: "Commandes Adapty CLI permettant de lister, lire, créer et mettre à jour des produits, de les associer aux identifiants de produits App Store et Google Play, et de leur lier des offres store."
---

> **AI agents**: to search Adapty docs faster and with fewer tokens, install the Adapty skills: `npx adapty skills install --yes`

Ces commandes Adapty CLI permettent de gérer les [produits](product), de les associer à leurs identifiants de produits App Store et Google Play, et de leur lier des offres store.

## Produits \{#products\}

### Liste des produits Adapty \{#adapty-products-list\}

Listez tous les [produits](product) d'une application.

```bash
adapty products list --app <app-id>
```

| Indicateur | Requis | Description |
|---|---|---|
| `--app` | Oui | ID de l'application (UUID) |

Accepte les [indicateurs de pagination](developer-cli-reference#global-flags).

### adapty products get

Obtenez les détails d'un [produit](product) spécifique.

```bash
adapty products get --app <app-id> <product-id>
```

| Argument | Description |
|---|---|
| `product-id` | ID du produit (UUID) |

| Flag | Requis | Description |
|---|---|---|
| `--app` | Oui | ID de l'application (UUID) |

### adapty products create

Créez un nouveau [produit](product).

:::important
Les identifiants de produit et de prix du store ne peuvent pas être modifiés après la création. Pour utiliser des identifiants différents, créez un nouveau produit.
:::

```bash
adapty products create --app <app-id> --title "Monthly" --access-level-id <access-level-id> --period monthly --ios-product-id com.example.monthly
```

| Indicateur | Requis | Description |
|---|---|---|
| `--app` | Oui | ID de l'application (UUID) |
| `--title` | Oui | Titre du produit |
| `--access-level-id` | Oui | ID (UUID) du [niveau d'accès](access-level) que ce produit déverrouille |
| `--period` | Oui | Période d'abonnement : `weekly`, `monthly`, `two_months`, `trimonthly`, `semiannual`, `annual`, `lifetime` |
| `--ios-product-id` | Au moins un store requis | ID du produit dans App Store Connect |
| `--android-product-id` | Au moins un store requis | ID du produit dans Google Play Console |
| `--android-base-plan-id` | Requis avec `--android-product-id` sauf si `--period lifetime` | ID du plan de base dans Google Play Console |
| `--stripe-product-id` | Au moins un store requis | ID du produit dans Stripe |
| `--stripe-price-id` | Requis avec `--stripe-product-id` | ID du prix dans Stripe |
| `--paddle-product-id` | Au moins un store requis | ID du produit dans Paddle |
| `--paddle-price-id` | Requis avec `--paddle-product-id` | ID du prix dans Paddle |

Chaque produit doit avoir au moins un store : `--ios-product-id`, `--android-product-id`, `--stripe-product-id`, ou `--paddle-product-id`. Un même produit peut porter des identifiants pour plusieurs stores à la fois.

Pour vendre un produit sur le web via Stripe ou Paddle, connectez d'abord le fournisseur de paiement à Adapty : voir [Stripe](stripe) et [Paddle](paddle). Pour chacun de ces stores, passez l'identifiant du produit et l'identifiant du prix ensemble. La commande échoue si vous ne passez qu'un seul des deux.

```bash
adapty products create --app <app-id> --title "Monthly" --access-level-id <access-level-id> --period monthly --stripe-product-id prod_xxx --stripe-price-id price_xxx
```

Un produit web uniquement est valide : vous pouvez créer un produit avec des identifiants Stripe ou Paddle sans identifiants App Store ou Google Play.

### adapty products update

Mettez à jour un [produit](product) existant.

Les identifiants de produit du store et de prix ne peuvent pas être modifiés après la création et ne sont pas disponibles dans cette commande. Pour utiliser d'autres identifiants de store, créez un nouveau produit.

```bash
adapty products update --app <app-id> <product-id> --title "Monthly" --access-level-id <access-level-id>
```

| Argument | Description |
|---|---|
| `product-id` | Identifiant du produit (UUID) |

| Indicateur | Requis | Description |
|---|---|---|
| `--app` | Oui | ID de l'application (UUID) |
| `--title` | Non | Titre du produit |
| `--access-level-id` | Non | ID (UUID) du [niveau d'accès](access-level) déverrouillé par ce produit |

## Offres de produit \{#product-offers\}

Associez les offres créées dans App Store Connect ou Google Play Console à un produit Adapty pour qu'Adapty puisse les appliquer. Pour connaître le rôle de chaque type d'offre et la procédure de création dans le store, consultez [Ajouter des offres à Adapty](create-offer).

Ajoutez ces offres :

- Les offres promotionnelles et offres de reconquête App Store.
- Toutes les offres Google Play, essais gratuits inclus. Google Play ne dispose pas de type d'offre de lancement : un essai est une offre sur un plan de base, et il ne s'applique qu'une fois associé dans Adapty.

N'ajoutez pas les offres de lancement App Store : elles s'appliquent automatiquement aux utilisateurs éligibles.

Une offre liée doit tout de même être sélectionnée pour le produit dans un flow ou un paywall avant que les utilisateurs puissent la voir. Pour la sélectionner dans un paywall, utilisez l'Adapty Dashboard : voir [Afficher l'offre](create-offer#2-display-offer).

`adapty products list` et `adapty products get` indiquent le nombre d'offres liées à chaque produit dans `offers_count`. Ce nombre inclut uniquement les offres liées dans Adapty, et non les offres qui existent dans les stores.

### adapty product-offers list

Liste toutes les offres associées à un [produit](product).

```bash
adapty product-offers list --app <app-id> --product <product-id>
```

| Flag | Required | Description |
|---|---|---|
| `--app` | Yes | App ID (UUID) |
| `--product` | Yes | Product ID (UUID) |

Retourne toutes les offres sur une seule page et n'accepte pas les [options de pagination](developer-cli-reference#global-flags).

### adapty product-offers get

Récupère les détails d'une offre spécifique.

```bash
adapty product-offers get --app <app-id> <offer-id>
```

| Argument | Description |
|---|---|
| `offer-id` | ID de l'offre (UUID) |

| Flag | Requis | Description |
|---|---|---|
| `--app` | Oui | ID de l'application (UUID) |

### adapty product-offers create

Associez une offre du store à un [produit](product).

```bash
adapty product-offers create --app <app-id> --product <product-id> --title "Spring" --type promotional --ios-offer-id spring_ios --android-offer-id spring-android
```

| Flag | Requis | Description |
|---|---|---|
| `--app` | Oui | ID de l'app (UUID) |
| `--product` | Oui | ID du produit (UUID) |
| `--title` | Oui | Nom de l'offre, visible uniquement dans l'Adapty Dashboard |
| `--type` | Oui | Type d'offre : `promotional` ou `win_back` |
| `--ios-offer-id` | Au moins un store requis | ID de l'offre depuis App Store Connect |
| `--android-offer-id` | Au moins un store requis | ID de l'offre depuis Google Play Console |

Les offres de reconquête sont réservées à l'App Store, donc `--type win_back` n'accepte que `--ios-offer-id`. Pour toute offre Google Play, essai gratuit inclus, utilisez `--type promotional`.

```bash
adapty product-offers create --app <app-id> --product <product-id> --title "Come back" --type win_back --ios-offer-id winback_ios
```

### adapty product-offers update

Mettre à jour une offre existante.

```bash
adapty product-offers update --app <app-id> <offer-id> --title "Spring 2"
```

| Argument | Description |
|---|---|
| `offer-id` | ID de l'offre (UUID) |

| Indicateur | Requis | Description |
|---|---|---|
| `--app` | Oui | ID de l'app (UUID) |
| `--title` | Non | Nom de l'offre |
| `--type` | Non | Type d'offre : `promotional` ou `win_back`. Pour transformer une offre en `win_back`, supprimez également son côté Google Play avec `--clear-android-offer-id` |
| `--ios-offer-id` | Non | Nouvel ID d'offre App Store |
| `--android-offer-id` | Non | Nouvel ID d'offre Google Play |
| `--clear-ios-offer-id` | Non | Supprimer le côté App Store de l'offre |
| `--clear-android-offer-id` | Non | Supprimer le côté Google Play de l'offre |

Au moins un paramètre en plus de `--app` est requis. Les champs non renseignés conservent leurs valeurs actuelles. Chaque offre doit conserver au moins un identifiant d'offre de store, donc la commande échoue si elle devait en supprimer le dernier.

:::warning
La commande lit l'offre et la sauvegarde en entier. Si quelqu'un modifie la même offre dans l'Adapty Dashboard entre cette lecture et la sauvegarde, ses modifications sont écrasées.
:::

Les offres de lancement ne peuvent pas être mises à jour. Une offre associée à un store autre que l'App Store ou Google Play ne peut pas non plus être mise à jour depuis le CLI : modifiez-la dans l'Adapty Dashboard.

Pour supprimer une offre, utilisez l'Adapty Dashboard. La CLI ne dispose pas de commande de suppression.

## Et maintenant ? \{#whats-next\}

- [Référence des commandes](developer-cli-reference) — tous les sujets CLI, les options globales et les options de pagination.