Mises à jour des produits | Contacter le support | État du système
Page Contents

    Recevoir des notifications d'achat intégrées

    Monétisation

    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:

    aperçu de la balise dans l'application achat

    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
  • new - Émis pour un nouvel abonnement
  • renew - Utilisé pour renouveler un abonnement existant (prolonger l'abonnement)
  • annuler - Annuler un achat existant
  • hold - L'abonnement a été suspendu en raison d'un non-paiement
  • pause - L'abonnement est suspendu par l'utilisateur
  • resume - Passage de l'abonnement en attente ou en pause à la poursuite
  • 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).

    Page last updated on 26 Jul 2022