La bibliothèque de serveur Node.js pour l'APP SERVER API et les notifications du serveur App Store. Également disponible dans Swift, Python et Java.
Installation
Documentation
Usage
Soutien
Node 16+
# Avec npmnpm installer @ Apple / App-Store-Server-Library - Save # avec Yarnyarn Add @ Apple / App-Store-Server-Library
Documentation
Vidéo WWDC
Pour utiliser l'API d'App Store Server ou créer des signatures d'offre promotionnelle, une clé de signature téléchargée sur App Store Connect est requise. Pour obtenir cette clé, vous devez avoir le rôle d'administrateur. Accédez aux utilisateurs et accédez aux intégrations> achat intégré. Ici, vous pouvez créer et gérer les clés, ainsi que pour trouver votre identifiant émetteur. Lorsque vous utilisez une clé, vous aurez également besoin de l'ID de clé et de l'ID d'émetteur.
Téléchargez et stockez les certificats racinaires trouvés dans la section des certificats Root Apple du site Apple PKI. Fournissez ces certificats en tant que tableau à un Dataverifier signé pour permettre la vérification des données signées proviennent d'Apple.
Import {AppStoreServerapiclient, Environment, SendTestNotificationResponse} à partir de "@ Apple / App-Store-Server-Library" const iserid = "99b16628-15e4-4668-972b-eeff55eff55" const keyID = "ABCDEFGHIJ" const BundleId = "com.example" const " filepath = "/path/to/key/subscriptionkey_abcdefghij.p8"const encodedKey = readFile (filepath) // implémentation spécifique peut varier un environnement = Environment.SandBoxConst Client = New AppstoReverApiclient (EncodedKey, KeyId Réponse: SendTestNotificationResponse = Await Client.RequestTestNotification () Console.log (réponse)} Catch (E) {Console.Error (E)} Import {SigdDatAverifier} depuis "@ Apple / App-Store-Server-Library" const bundleid = "com.example" const Applerootcas: Buffer [] = LoadRootcas () // Implémentation spécifique peut varier en activité enable = Undefined // Appappleid est requis lorsque l'environnement est ProductionConst Verifier = new SigdDataverifier (applerootcas, activeOnLeneCkcks, Environment, BundleId, AppAppleid) const NotificationPayload = "ey ..." const vérificationNotification = Await Verifier.verifyAndDecodeDotification (notificationPayLoad) VérifiedNotification) Import {AppStoreServerapiclient, Environment, GetTransactionHistoryVersion, Receiptutility, Order, ProductType, HistoryResponse, TransactionHistoryRequest} à partir de "@ Apple / App-Store-Server-Library" const iserid = "99B16628-15E4-4668-972B-EEFF5EEFF55" Const Keyid = " "const bundleid =" com.example "const filepath =" /path/to/key/subscriptionkey_abcdefghij.p8"const encodedKey = readFile (filepath) // implémentation spécifique peut varier un environnement = keyIDSandConst Client = new AppStoreServerapiclient (EncodedKey, keyId . Ascendant, révoqué: false, ProductTypes: [ProductType.Auto_Renewable]} LET RÉPONSE: HistoryResponse | NULL = Nulllet Transactions: String [] = [] do {const RevisionToken = Response! == Null && Response.Revision! == NULL? Response.Revision: NullResponse = Await Client.GetTransactionHistory (TransactionId, RevisionToken, TransactionHistoryRequest, GetTransactionHistoryVersion.v2) if (Response.SignedTransactions) {transactions = transacts.concat (Response.SignedTransactions)}} While (Response.Hasmore) transactions)} Import {promotionaloffersignatlatereator} à partir de "@ Apple / App-Store-Server-Library" const KeyId = "ABCDEFGHIJ" const bundleid = "com.example" const filepath = "/path/to/key/subscriptionkey_abcdefghidi.p8"const Encodedkey = ReadFile (filepath) // L'implémentation spécifique peut varier un produit productID = "<produit_id>" const abonnementofferid = "<bonnexion = Nouveau promotionalOffersIgnatatreCreator (EncodedKey, KeyId, BundleId) constate Signature = SignaturCreator.CreAteSignature (ProductId, abonnementoFerId, ApplicationUserName, Nonce, TimeStamp) Console.log (Signature)Seule la dernière version majeure de la bibliothèque recevra des mises à jour, y compris les mises à jour de sécurité. Par conséquent, il est recommandé de mettre à jour de nouvelles versions majeures.