Aller au contenu principal

Achats intégrés

Lister

ascelerate iap list <bundle-id>
ascelerate iap list <bundle-id> --type consumable --state approved

Les valeurs de filtre sont insensibles à la casse. Types : CONSUMABLE, NON_CONSUMABLE, NON_RENEWING_SUBSCRIPTION. États : APPROVED, MISSING_METADATA, READY_TO_SUBMIT, WAITING_FOR_REVIEW, IN_REVIEW, etc.

Détails

ascelerate iap info <bundle-id> <product-id>

Achats promus

ascelerate iap promoted <bundle-id>

Créer, mettre à jour et supprimer

ascelerate iap create <bundle-id> --name "100 Coins" --product-id <product-id> --type CONSUMABLE
ascelerate iap update <bundle-id> <product-id> --name "100 Gold Coins"
ascelerate iap delete <bundle-id> <product-id>

Soumettre pour examen

ascelerate iap submit <bundle-id> <product-id>

Localisations

ascelerate iap localizations view <bundle-id> <product-id>
ascelerate iap localizations export <bundle-id> <product-id>
ascelerate iap localizations import <bundle-id> <product-id> --file iap-de.json

La commande d'import crée automatiquement les langues manquantes avec confirmation, vous permettant d'ajouter de nouvelles langues sans passer par App Store Connect.

Tarification

iap pricing lit et écrit le calendrier de tarification. Le calendrier comporte une seule région de base — la région qu'Apple utilise pour aligner automatiquement les prix dans toutes les autres régions — ainsi que zéro ou plusieurs prix manuels spécifiques à une région.

# Afficher le calendrier de tarification actuel (avertit s'il n'est pas défini)
ascelerate iap pricing show <bundle-id> <product-id>

# Lister tous les paliers tarifaires disponibles dans une région
ascelerate iap pricing tiers <bundle-id> <product-id> --territory USA

Définir le prix de la région de base

ascelerate iap pricing set <bundle-id> <product-id> --price 4.99
ascelerate iap pricing set <bundle-id> <product-id> --price 4.99 --base-territory GBR

--base-territory prend par défaut la région de base existante (ou USA pour un nouveau calendrier). Si le calendrier comporte des prix manuels spécifiques à une région, set affiche un menu interactif proposant de réinitialiser certains d'entre eux à l'alignement automatique depuis la nouvelle région de base. Pour effacer tous les prix manuels sans confirmation, utilisez --remove-all-overrides.

Prix manuels par région

# Ajouter ou mettre à jour un prix manuel
ascelerate iap pricing override <bundle-id> <product-id> --price 5.99 --territory FRA

# Supprimer le prix manuel (la région revient à l'alignement automatique depuis la base)
ascelerate iap pricing remove <bundle-id> <product-id> --territory FRA

override et remove ne fonctionnent qu'avec des régions non-base. Pour modifier le prix de la région de base, utilisez set.

Lorsqu'un achat intégré n'a pas de calendrier de tarification, iap info et iap pricing show affichent tous deux un avertissement ; la même condition est signalée comme bloquante dans apps review preflight.

Disponibilité territoriale

Chaque achat intégré a sa propre disponibilité territoriale, indépendante de l'application. Par défaut, un IAP hérite des territoires de son application ; dès que vous appelez iap availability avec des modifications, l'IAP obtient une liste explicite.

# Voir les territoires actuels spécifiques à l'IAP
ascelerate iap availability <bundle-id> <product-id>

# Modifier la liste des territoires (le POST remplace la liste complète)
ascelerate iap availability <bundle-id> <product-id> --add CHN,RUS
ascelerate iap availability <bundle-id> <product-id> --remove ITA
ascelerate iap availability <bundle-id> <product-id> --available-in-new-territories true

Codes promotionnels

Les codes promotionnels sont des codes échangeables qui débloquent une réduction unique sur un IAP. Ils existent en deux variantes, gérées sous la même ressource de code promotionnel :

  • Codes à usage unique : Apple génère N codes uniques dans un lot (de manière asynchrone). Chacun ne peut être utilisé qu'une seule fois.
  • Codes personnalisés : chaîne fournie par le développeur (par exemple PROMO2026), utilisable N fois.
# Lister tous les codes promotionnels d'un IAP
ascelerate iap offer-code list <bundle-id> <product-id>

# Afficher les détails + les compteurs de codes pour un code promotionnel
ascelerate iap offer-code info <bundle-id> <product-id> <offer-code-id>

# Créer un code promotionnel avec un prix réduit (auto-équilibré sur tous les territoires)
ascelerate iap offer-code create <bundle-id> <product-id> \
--name "Launch Promo" \
--eligibility NON_SPENDER,ACTIVE_SPENDER \
--price 0.99 --territory USA --equalize-all-territories

# Activer ou désactiver
ascelerate iap offer-code toggle <bundle-id> <product-id> <offer-code-id> --active true

# Générer un lot de codes à usage unique (les codes sont générés de manière asynchrone)
ascelerate iap offer-code gen-codes <bundle-id> <product-id> <offer-code-id> \
--count 100 --expires 2026-12-31

# Récupérer les valeurs réelles des codes une fois la génération terminée
ascelerate iap offer-code view-codes <one-time-use-batch-id> --output codes.txt

# Ajouter un code personnalisé fourni par le développeur
ascelerate iap offer-code add-custom-codes <bundle-id> <product-id> <offer-code-id> \
--code PROMO2026 --count 1000 --expires 2026-12-31

Éligibilités client pour les codes promotionnels IAP : NON_SPENDER, ACTIVE_SPENDER, CHURNED_SPENDER.

Images promotionnelles

Téléchargez les images promotionnelles affichées à côté de l'IAP dans l'App Store.

ascelerate iap images list <bundle-id> <product-id>
ascelerate iap images upload <bundle-id> <product-id> ./hero.png
ascelerate iap images delete <bundle-id> <product-id> <image-id>

Les téléchargements utilisent le flux en 3 étapes d'Apple : réserver avec fileSize + fileName, envoyer les morceaux du fichier via PUT vers des URL présignées, puis valider avec le MD5 du fichier via PATCH. La CLI gère les trois étapes dans un seul appel upload.

Capture d'écran d'examen App Review

Chaque IAP peut avoir au plus une capture d'écran App Review (montrée aux examinateurs d'Apple). Un téléchargement remplace toute capture existante.

ascelerate iap review-screenshot view <bundle-id> <product-id>
ascelerate iap review-screenshot upload <bundle-id> <product-id> ./review.png
ascelerate iap review-screenshot delete <bundle-id> <product-id>