Récupérer des décisions de préautorisation à l’aide de mvpd spécifiques retrieve-preauthorization-decisions-using-specific-mvpd

IMPORTANT
Le contenu de cette page est fourni à titre d’information uniquement. L’utilisation de cette API nécessite une licence Adobe actuelle. Aucune utilisation non autorisée n’est autorisée.
IMPORTANT
L’implémentation de l’API REST V2 est limitée par la documentation Mécanisme de limitation.

Requête request

HTTP
chemin
/api/v2/{serviceProvider}/decisions/preauthorize/{mvpd}
méthode
POSTER
Paramètres de chemin
serviceProvider
Identifiant unique interne associé au fournisseur de services lors du processus d’intégration.
obligatoire
mvpd
Identifiant unique interne associé au fournisseur d’identité lors du processus d’intégration.
obligatoire
Paramètres du corps
ressources
Liste des ressources qui nécessitent une décision MVPD avant de pouvoir être affichées.
obligatoire
En-têtes
Autorisation
La génération de la payload du jeton porteur est décrite dans la documentation d’en-tête Authorization.
obligatoire
Content-Type
Type de média accepté pour les ressources en cours d’envoi.

Il doit s’agir d’application/json.
obligatoire
AP-Device-Identifier
La génération de la payload de l’identifiant d’appareil est décrite dans la documentation d’en-tête AP-Device-Identifier.
obligatoire
X-Device-Info
La génération de la payload d’informations sur le périphérique est décrite dans la documentation d’en-tête X-Device-Info.

Il est vivement recommandé de toujours l’utiliser lorsque la plateforme d’appareil de l’application permet la fourniture explicite de valeurs valides.

Lorsqu’il est fourni, le serveur principal d’authentification Adobe Pass fusionne implicitement (par défaut) les valeurs définies explicitement avec les valeurs extraites.

Lorsqu’il n’est pas fourni, le serveur principal de l’authentification Adobe Pass utilise implicitement (par défaut) les valeurs extraites.
obligatoire
X-Forwarded-For
Adresse IP de l’appareil de diffusion en continu.

Il est vivement recommandé de toujours l’utiliser pour les implémentations serveur à serveur, en particulier lorsque l’appel est effectué par le service de programmation plutôt que par l’appareil de diffusion en continu.

Pour les implémentations client à serveur, l’adresse IP de l’appareil de diffusion en continu est envoyée implicitement.
facultatif
Adobe-Subject-Token
or
X-Roku-Reserved-Roku-Connect-Token
La génération de la payload d’authentification unique pour la méthode d’identité de Platform est décrite dans la documentation de l’en-tête Adobe-Subject-Token / X-Roku-Reserved-Roku-Connect-Token.

Pour plus d’informations sur les flux activés pour l’authentification unique à l’aide d’une identité de plateforme, reportez-vous à la documentation Authentification unique à l’aide des flux d’identité de plateforme.
facultatif
Jeton de service AD
La génération de la payload d’authentification unique pour la méthode de jeton de service est décrite dans la documentation d’en-tête AD-Service-Token.

Pour plus d’informations sur les flux activés pour l’authentification unique à l’aide d’un jeton de service, reportez-vous à la documentation Authentification unique à l’aide de flux de jetons de service.
facultatif
AP-Partner-Framework-Status
La génération de la payload d’authentification unique pour la méthode Partner est décrite dans la documentation d’en-tête AP-Partner-Framework-Status.

Pour plus d’informations sur l’authentification unique activée pour les flux utilisant un partenaire, reportez-vous à la documentation Authentification unique à l’aide des flux de partenaire.
facultatif
AP-Visitor-Identifier
La génération de la payload de l’identifiant visiteur est décrite dans la documentation d’en-tête AP-Visitor-Identifier.
facultatif
Accepter
Type de média accepté par l’application cliente.

S’il est spécifié, il doit s’agir d’application/json.
facultatif
User-Agent
Agent utilisateur de l’application cliente.
facultatif

Réponse response

Code
Texte
Description
200
OK
Le corps de la réponse contient une liste de décisions avec des informations supplémentaires.
400
Requête incorrecte
La requête n’est pas valide, le client doit la corriger et réessayer. Le corps de la réponse peut contenir des informations d’erreur conformes à la documentation Codes d’erreur améliorés.
401
Non Autorisé
Le jeton d’accès n’est pas valide, le client doit obtenir un nouveau jeton d’accès et réessayer. Pour plus d’informations, consultez la documentation Présentation de l’enregistrement client dynamique.
405
Méthode Non Autorisée
La méthode HTTP n’est pas valide, le client doit utiliser une méthode HTTP autorisée pour la ressource demandée et réessayer. Pour plus d’informations, consultez la section Requête.
500
Erreur de serveur interne
Un problème est survenu côté serveur. Le corps de la réponse peut contenir des informations d’erreur conformes à la documentation Codes d’erreur améliorés.

Succès success

En-têtes
Etat
200
obligatoire
Content-Type
application/json
obligatoire
Corps
décisions

JSON contenant une liste d’éléments, chaque élément ayant les attributs suivants :

table 0-row-3 1-row-3 2-row-3 3-row-3 4-row-3 5-row-3 6-row-3 1-bgcolor-eff2f7 2-bgcolor-eff2f7 3-bgcolor-eff2f7 5-bgcolor-deebff 9-bgcolor-deebff 13-bgcolor-deebff 17-bgcolor-deebff 21-bgcolor-deebff 25-bgcolor-deebff layout-auto html-authored
Attribut
ressource Identifiant de ressource pour lequel la décision de préautorisation est renvoyée. obligatoire
serviceProvider Identifiant unique interne associé au fournisseur de services lors du processus d’intégration. obligatoire
mvpd Identifiant unique interne associé au fournisseur d’identité lors du processus d’intégration. obligatoire
autorisé Statut de décision de la ressource, qui peut être « true » ou « false ». obligatoire
source

Informations sur la source de décision :

Les valeurs possibles sont les suivantes :

  • mvpd
    Decision est émise par le point d'entrée de préautorisation MVPD.
  • dégradation
    La décision est émise en raison d’un accès dégradé.
  • temppass
    Decision est émis suite à un accès temporaire.
  • dummy
    Decision est émis suite à la fonctionnalité de pré-autorisation factice.
obligatoire
erreur L’erreur fournit des informations supplémentaires sur la décision « Refuser » qui respecte la documentation Codes d’erreur améliorés. facultatif
obligatoire

Erreur error

En-têtes
Etat
400, 401, 405, 500
obligatoire
Content-Type
application/json
obligatoire
Corps

Le corps de la réponse peut fournir des informations d’erreur supplémentaires conformes à la documentation Codes d’erreur améliorés.

L’application cliente doit mettre en œuvre un mécanisme de gestion des erreurs capable de traiter correctement les codes d’erreur les plus couramment renvoyés par cette API :

  • authenticated_profile_missing
  • authenticated_profile_expired
  • preauthorization_deny_by_mvpd
  • network_received_error
  • too_many_resources
  • etc.

La liste ci-dessus n’est pas exhaustive. L’application cliente doit être capable de gérer tous les codes d’erreur améliorés définis dans la documentation publique.

obligatoire

Exemples samples

​1. Récupérer des décisions de préautorisation à l’aide de mvpd spécifique

Requête
code language-https
POST /api/v2/REF30/decisions/preauthorize/Cablevision HTTP/1.1

    Authorization: Bearer eyJhbGciOiJSUzI1NiJ9.eyJzdWIiOiJjNGZjM2U3ZS0xMmQ5LTQ5NWQtYjc0Mi02YWVhYzhhNDkwZTciLCJuYmYiOjE3MjQwODc4NjgsImlzcyI6ImF1dGguYWRvYmUuY29tIiwic2NvcGVzIjoiYXBpOmNsaWVudDp2MiIsImV4cCI6MTcyNDEwOTQ2OCwiaWF0IjoxNzI0MDg3ODY4fQ.DJ9GFl_yKAp2Qw-NVcBeRSnxIhqrwxhns5T5jU31N2tiHxCucKLSQ5guBygqkkJx6D0N_93f50meEEyfb7frbHhVHHwmRjHYjkfrWqHCpviwVjVZKKwl8Y3FEMb0bjKIB8p_E3txX9IbzeNGWRufZBRh2sxB5Q9B7XYINpVfh8s_sFvskrbDu5c01neCx5kEagEW5CtE0_EXTgEb5FSr_SfQG3UUu_iwlkOggOh_kOP_5GueElf9jn-bYBMnpObyN5s-FzuHDG5Rtac5rvcWqVW2reEqFTHqLI4rVC7UKQb6DSvPBPV4AgrutAvk30CYgDsOQILVyrjniincp7r9Ww
    Content-Type: application/json
    AP-Device-Identifier: fingerprint YmEyM2QxNDEtZDcxNS01NjFjLTk0ZjQtZTllNGM5NjZiMWVi
    X-Device-Info: ewoJInByaW1hcnlIYXJkd2FyZVR5cGUiOiAiU2V0VG9wQm94IiwKCSJtb2RlbCI6ICJUViA1dGggR2VuIiwKCSJtYW51ZmFjdHVyZXIiOiAiQXBwbGUiLAoJIm9zTmFtZSI6ICJ0dk9TIgoJIm9zVmVuZG9yIjogIkFwcGxlIiwKCSJvc1ZlcnNpb24iOiAiMTEuMCIKfQ==
    Accept: application/json
    User-Agent: Mozilla/5.0 (Apple TV; U; CPU AppleTV5,3 OS 11.0 like Mac OS X; en_US)

Body:

{
    "resources": ["resource1", "resource2", "resource3"]
}
Réponse
code language-https
HTTP/1.1 200 OK

Content-Type: application/json;charset=UTF-8

{
   "decisions": [
      {
         "resource": "resource1 ",
         "serviceProvider": "REF30",
         "mvpd": "Cablevision",
         "source": "mvpd",
         "authorized": true
      },
      {
         "resource": "resource2",
         "serviceProvider": "REF30",
         "mvpd": "Cablevision",
         "source": "mvpd",
         "authorized": true
      },
      {
         "resource": "resource3",
         "serviceProvider": "REF30",
         "mvpd": "Cablevision",
         "source": "mvpd",
         "authorized": false,
         "error": {
            "status": 403,
            "code": "preauthorization_denied_by_mvpd",
            "message": "The MVPD has returned a \"Deny\" decision when requesting pre-authorization for the specified resource.",
            "helpUrl": "https://experienceleague.adobe.com/docs/pass/authentication/auth-features/error-reportn/enhanced-error-codes.html?lang=fr",
            "action": "none"
         }
      }
   ]
}

​2. Récupérez les décisions de préautorisation à l’aide de mvpd spécifique pendant l’application de la dégradation

Requête
code language-https
POST /api/v2/REF30/decisions/preauthorize/${degradedMvpd} HTTP/1.1

    Authorization: Bearer eyJhbGciOiJSUzI1NiJ9.eyJzdWIiOiJjNGZjM2U3ZS0xMmQ5LTQ5NWQtYjc0Mi02YWVhYzhhNDkwZTciLCJuYmYiOjE3MjQwODc4NjgsImlzcyI6ImF1dGguYWRvYmUuY29tIiwic2NvcGVzIjoiYXBpOmNsaWVudDp2MiIsImV4cCI6MTcyNDEwOTQ2OCwiaWF0IjoxNzI0MDg3ODY4fQ.DJ9GFl_yKAp2Qw-NVcBeRSnxIhqrwxhns5T5jU31N2tiHxCucKLSQ5guBygqkkJx6D0N_93f50meEEyfb7frbHhVHHwmRjHYjkfrWqHCpviwVjVZKKwl8Y3FEMb0bjKIB8p_E3txX9IbzeNGWRufZBRh2sxB5Q9B7XYINpVfh8s_sFvskrbDu5c01neCx5kEagEW5CtE0_EXTgEb5FSr_SfQG3UUu_iwlkOggOh_kOP_5GueElf9jn-bYBMnpObyN5s-FzuHDG5Rtac5rvcWqVW2reEqFTHqLI4rVC7UKQb6DSvPBPV4AgrutAvk30CYgDsOQILVyrjniincp7r9Ww
    Content-Type: application/json
    AP-Device-Identifier: fingerprint YmEyM2QxNDEtZDcxNS01NjFjLTk0ZjQtZTllNGM5NjZiMWVi
    X-Device-Info: ewoJInByaW1hcnlIYXJkd2FyZVR5cGUiOiAiU2V0VG9wQm94IiwKCSJtb2RlbCI6ICJUViA1dGggR2VuIiwKCSJtYW51ZmFjdHVyZXIiOiAiQXBwbGUiLAoJIm9zTmFtZSI6ICJ0dk9TIgoJIm9zVmVuZG9yIjogIkFwcGxlIiwKCSJvc1ZlcnNpb24iOiAiMTEuMCIKfQ==
    Accept: application/json
    User-Agent: Mozilla/5.0 (Apple TV; U; CPU AppleTV5,3 OS 11.0 like Mac OS X; en_US)

Body:

{
    "resources": ["REF30", "apasstest1"]
}
Réponse - Dégradation AuthNAll
code language-https
HTTP/1.1 200 OK

Content-Type: application/json;charset=UTF-8

{
    "decisions": [
        {
            "resource": "REF30",
            "serviceProvider": "REF30",
            "mvpd": "${degradedMvpd}",
            "source": "degradation",
            "authorized": true
        }
        {
            "resource": "apasstest1",
            "serviceProvider": "REF30",
            "mvpd": "${degradedMvpd}",
            "source": "degradation",
            "authorized": true
        }
    ]
}
Réponse - Dégradation AuthZAll
code language-https
HTTP/1.1 200 OK

Content-Type: application/json;charset=UTF-8

{
    "decisions": [
        {
            "resource": "REF30",
            "serviceProvider": "REF30",
            "mvpd": "${degradedMvpd}",
            "source": "degradation",
            "authorized": true
        }
        {
            "resource": "apasstest1",
            "serviceProvider": "REF30",
            "mvpd": "${degradedMvpd}",
            "source": "degradation",
            "authorized": true
        }
    ]
}
Réponse - Dégradation AuthZNone
code language-https
HTTP/1.1 200 OK

Content-Type: application/json;charset=UTF-8

{
    "decisions": [
        {
            "resource": "REF30",
            "serviceProvider": "REF30",
            "mvpd": "${degradedMvpd}",
            "source": "degradation",
            "authorized": false,
            "error": {
                "status": 403,
                "code": "authorization_denied_by_degradation_rule",
                "message": "The integration has an AuthZNone rule applied for the requested resources",
                "helpUrl": "https://experienceleague.adobe.com/docs/pass/authentication/auth-features/error-reportn/enhanced-error-codes.html?lang=fr",
                "action": "none"
            }
        }
        {
            "resource": "apasstest1",
            "serviceProvider": "REF30",
            "mvpd": "${degradedMvpd}",
            "source": "degradation",
            "authorized": false,
            "error": {
                "status": 403,
                "code": "authorization_denied_by_degradation_rule",
                "message": "The integration has an AuthZNone rule applied for the requested resources",
                "helpUrl": "https://experienceleague.adobe.com/docs/pass/authentication/auth-features/error-reportn/enhanced-error-codes.html?lang=fr",
                "action": "none"
            }
        }
    ]
}
recommendation-more-help
3f5e655c-af63-48cc-9769-2b6803cc5f4b