Aperçu
Il est nécessaire que le fournisseur du contenu vidéo et/ou de la marchandise configure un point de terminaison afin que Brightcove Beacon puisse informer le fournisseur qu'un achat est effectué. Lorsqu'un achat intégré est effectué via une application Brightcove Beacon, l'application communique avec l'une des boutiques de la plateforme, comme l'App Store d'Apple, pour finaliser l'achat. Les points de terminaison définis recevront une notification de cette transaction.
Examinons un exemple qui montre le flux entre l'achat et la notification. La société fictive, Acme Symphony, a mis en place un point final. Un utilisateur utilisant une application Brightcove Beacon sur iOS effectue un achat. Voici le flux de travail de haut niveau:
- Un spectateur achète un abonnement pour accéder à des vidéos de symphonies passées et à des billets pour la prochaine saison estivale de concerts en direct.
- L'application Beacon finalise l'achat via l'App Store d'Apple.
- L'application Beacon informe Beacon de l'achat.
- Le sous-système de droits Beacon permet au spectateur d'accéder à toutes les ressources vidéo de l'abonnement acheté.
- Une notification est envoyée au point de terminaison d'Acme Symphony.
- Acme Symphony est au courant de l'achat et est en mesure de déclencher des flux de travail supplémentaires, tels que l'envoi de billets à l'acheteur.
Le reste du document clarifie la mise en œuvre technique et fournit des informations spécifiques pour la mise en œuvre de votre point de terminaison.
Comment les notifications sont mises en œuvre
Voici un schéma de haut niveau du processus:

Détails de clarification pour le diagramme:
- Amazon Simple Notification Service (Amazon SNS) est un service géré qui fournit des messages des éditeurs aux abonnés. Pour plus de détails, consultez le SNS Developer Guide d'Amazon.
- Une fois la notification reçue par vous, le client Brightcove Beacon, les actions peuvent varier. Dans l'exemple, étant donné que les billets ont été achetés, les billets devraient être envoyés. Ainsi, une fois la notification reçue, vos règles commerciales détermineront ce qui doit se produire.
- L'approche de mise en œuvre des terminaux est entièrement à votre décision. La décision sera probablement guidée par les technologies backend utilisées et les compétences de vos ingénieurs logiciels.
- La ligne pointillée entre les magasins de la plateforme et le backend de Brightcove Beacon concerne les autres notifications, comme les renouvellements.
Directives d'utilisation des notifications
Voici les directives d'utilisation des notifications:
- Les notifications d'achats intégrés dans les boutiques suivantes sont prises en charge:
- Apple App Store (iOS et AppleTV)
- Google Play (Android et Android TV)
- Boutique Roku Channel
- Amazon App-Shop (FireTV)
- Stripe (Web et téléviseur Samsung)
- Beacon signalera tous les événements liés aux achats, y compris les actions suivantes sur les abonnements:
- Nouveau
- renouvellement
- Annulation
- Applicable uniquement à Google Play:
- Pause
- Maintenez
- CV
- La notification contient suffisamment d'informations pour que le magasin externe soit en mesure d'appliquer des droits et/ou d'empêcher les achats du même actif (abonnement) s'il a déjà été acheté via Beacon ou des boutiques natives.
- Les événements d'achat sont livrés aux magasins externes après avoir reçu une notification des magasins sources. Cela se produit généralement en moins de 5 minutes (généralement en quelques secondes).
Spécifications des points de terminaison
Après avoir traité avec succès un abonnement dans le système Beacon, Beacon enverra un message de rubrique SNS à un point de terminaison d'API configuré spécifique à un client particulier.
Les exigences relatives au point d'extrémité externe sont les suivantes:
- Le point de terminaison de l'API doit être compatible avec l'intégration AWS SNS. Consultez le document Amazon Fanout to HTTP/S endpoints pour plus de détails. Ce document contient un lien vers une implémentation d'un point de terminaison qui traite les requêtes HTTP POST Amazon SNS, écrites sous forme de servlet Java.
- Le point de terminaison de l'API doit être ouvert à la plage d'adresses IP utilisées par AWS - voir Plages d'adresses IP AWS.
- Le point de terminaison de l'API passera par une étape de confirmation de l'abonnement. Consultez le document Confirmer l'abonnement d'Amazon pour plus de détails.
- Le point de terminaison de l'API devra annuler l'échappement JSON dans le champ de message de la notification. Consultez le document Amazon Parsing message formats pour plus de détails.
- Le point de terminaison de l'API doit vérifier la signature et la provenance du message. Consultez le document Amazon Vérification des signatures des messages Amazon SNS pour plus de détails.
Pour pouvoir récupérer des erreurs, il est possible de renvoyer tous les achats d'un utilisateur (en filtrant les notifications non actives). Le point de terminaison de l'API externe du magasin est responsable du retraitement de tous les messages, même s'ils ont déjà été consommés.
Spécifications de la charge utile JSON
La charge utile JSON envoyée au point de terminaison du magasin externe peut inclure les champs suivants:
Nom | Type | Requis | Valeurs possibles | Remarques |
---|---|---|---|---|
type de notification | String | Toujours | nouveau, renouvellement, annulation, pause , mise en attente, cv |
|
external_user_id | String | Toujours | Il s'agit de l'identifiant couramment utilisé par Beacon et le magasin externe pour identifier l'utilisateur. | |
transaction_id | String | Toujours | Identifiant unique de la transaction. Lorsqu'une annulation est effectuée, cet identifiant doit être utilisé pour annuler l'abonnement ou l'achat individuel. Lorsqu'un abonnement est renouvelé, repris, suspendu ou suspendu, cet ID est utilisé pour trouver l'abonnement spécifique concerné. | |
date_début | entier | Oui, à l'exception des notifications d'annulation | La date à laquelle l'achat est en vigueur et les droits de l'utilisateur doivent commencer | |
end_date | entier | Obligatoire pour les types de notification suivants: nouveau, renouvellement, annulation et reprise | La date à laquelle l'achat n'est plus en vigueur et les droits de l'utilisateur doivent prendre fin. Pour les demandes d'annulation, la date de fin définit le moment où l'utilisateur perd l'accès au contenu. |
|
original_store | String | Toujours | Apple Store, Google Play, Amazon Store, Stripe, Roku Store, Evergent, magasin Beacon | Le magasin d'origine où l'achat a été effectué |
sku | String | Toujours | Identifie l'article acheté. Il s'agit de l'identifiant utilisé dans le magasin source. | |
nom_package | String | Toujours | Le nom du package SVOD ou TVOD dans Brightcove Beacon | |
notification_date | entier | Toujours | Horodatage de l'envoi de l'événement de Beacon au système de magasin externe | |
date_annulation | entier | Obligatoire lorsque le type de notification est annulé | Utilisé pour une demande d'annulation et spécifie l'horodatage de la date à laquelle l'utilisateur/le magasin a annulé l'abonnement | |
trial_end_date | entier | Facultatif (applicable uniquement aux nouveaux abonnements) | S'il est présent, cela signifie qu'il y a un essai. Pour les nouveaux abonnements, il est possible qu'une date de fin d'essai soit la même que end_date (cas d'utilisation où les magasins envoient une notification pour l'essai et une seconde pour le début de l'abonnement réel). |