Aller au contenu principal

API du Panier

Vue d'ensembleLien direct vers Vue d'ensemble

Avec l'API du Panier, les partenaires Rokt peuvent ajouter des produits supplémentaires au panier d'un client lors d'une transaction. L'API du Panier fonctionne avec le SDK Web pour aider à rendre les emplacements frontend et fournir des hooks pour mettre à jour le panier d'un client. Deux intégrations sont nécessaires pour alimenter les ventes incitatives via Rokt :

  1. Intégrez votre système de panier/commande backend avec l'API du Panier Rokt.
  2. Intégrez le SDK Web dans votre frontend de panier.

Une place de parking est un bon exemple de produit Rokt à ajouter au panier. Par exemple, un partenaire de billetterie peut proposer des places de parking à ses clients pendant qu'ils achètent des billets pour un événement. Ces places de parking sont fournies par un prestataire de parking tiers.

Intégration minimaleLien direct vers Intégration minimale

Pour satisfaire les commandes des clients, vous devez vous intégrer avec le hook et le point de terminaison API suivants.

  1. Abonnez-vous à l'événement V2_CART_ITEM_UPDATED pour être informé lorsque un utilisateur ajoute des articles à son panier.
  2. Appelez /cart/confirm pour confirmer l'achat réussi des articles.

Réservation d'articlesLien direct vers Réservation d'articles

Certains articles doivent être réservés pendant le processus de commande pour garantir que le stock est toujours disponible lorsqu'ils sont finalement confirmés. Les points de terminaison suivants doivent être utilisés pour gérer la réservation.

  1. Appelez /cart/reserve pour réserver les articles pour une période de temps définie.
  2. Facultativement, appelez /cart/release pour annuler une réservation et permettre à d'autres clients de réserver ces articles.

Annulation d'articles confirmésLien direct vers Annulation d'articles confirmés

Le point de terminaison suivant est disponible pour annuler des articles après qu'ils ont été confirmés.

  1. Appelez /confirmation/cancel

Flux de demande en transactionLien direct vers Flux de demande en transaction

Pour satisfaire les commandes des clients, les partenaires doivent adhérer au flux de transaction suivant.

Flux de Demande en Transaction

  1. (Facultatif) Appelez /placements/any pour déterminer s'il y a des emplacements à afficher, afin que vous puissiez ignorer l'étape de vente croisée/incitative s'il n'y a pas d'offres pertinentes.
  2. En fonction de si /placements/any renvoie vrai ou faux, vous pouvez choisir d'afficher ou de passer la page de vente incitative dans le flux de transaction. Sur la page de vente incitative, vous devez initialiser le SDK Web, qui demande et affiche les emplacements disponibles.
  3. Une fois qu'un client opte pour l'achat, le SDK Web informe le frontend du partenaire en envoyant le message V2_CART_ITEM_UPDATED. Ensuite, le processus d'achat normal se poursuit.
  4. (Facultatif) Appelez /cart/reserve pour réserver les articles pour une période de temps définie pendant laquelle l'achat doit être complété et confirmé avec Rokt.
  5. Une fois qu'un client paie pour les articles, appelez /cart/confirm pour confirmer l'achat réussi des articles. Rokt informe alors le fournisseur pertinent des produits pour la réalisation.
    1. Pour annuler une réservation, appelez /cart/release. Ceci est facultatif car les articles réservés qui ne sont pas confirmés sont automatiquement libérés après un délai d'expiration. Ceci est approprié pour les partenaires à fort trafic qui nécessitent une libération rapide des articles réservés.
    2. Pour annuler un article confirmé, appelez /confirmation/cancel. Ceci est approprié pour les partenaires qui souhaitent annuler un article après qu'il a été confirmé.

AuthentificationLien direct vers Authentification

Veuillez contacter votre gestionnaire de compte Rokt pour configurer l'authentification pour vous.

Points de terminaison de l'APILien direct vers Points de terminaison de l'API

POST Any PlacementsLien direct vers POST Any Placements

Permet au partenaire de déterminer s'il y a des emplacements à afficher et potentiellement de sauter l'étape de vente incitative/croisée si applicable.

DescriptionLien direct vers Description

Pour décider s'il vaut la peine d'afficher la page contenant l'emplacement d'ajout au panier Rokt. En fonction de si cela renvoie vrai ou faux, le partenaire peut choisir d'afficher ou de sauter la page de vente incitative dans le flux de transaction.

Exemple de requête

POST /v1/placements/any
{
"cartId": "1580265846172",
"attributes": {
"eventId": "1100526195FA115A",
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.100 Safari/537.36",
"venueName": "Madison Square Garden",
"eventdate": "20311212",
"country": "US",
"locale": "en-US"
},
"pageIdentifier": "checkout.upsell"
}

RequêteLien direct vers Requête

Chemin

POST /v1/Placements/any

Paramètres

NomDansDescriptionRequisExemple
rokt-api-keyheaderClé d'authentification APItrueskeletonkey
Content-TypeheaderType de média de la requête, 'application/json' est la seule valeur supportée pour le moment application/json
AcceptheaderType de média attendu de la réponse, 'application/json' est la seule valeur supportée pour le moment application/json
rokt-session-idheaderSessionId utilisé par Rokt en interne pour le suivi, la référence, la journalisation et le débogage. Optionnel pour ce point de terminaison (sessionId généré si non fourni). ca75f48-ebbd-4d8e-83c3-fdd70893294d
rokt-tag-idheaderID de balise Rokt uniquetrue253_439d21r21r21321
Accept-LanguageheaderLocale attendue du consommateur. Cela peut être la locale complète incluant la langue et le pays, ou une locale neutre qui n'a que la langue. Lorsqu'une locale est spécifiée, seuls les emplacements et offres correspondant à la locale sont pris en compte. en-US

Corps de la requête

{
"cartId": "string",
"pageIdentifier": "string",
"url": "string",
"attributes": {
"attribute": "string"
}
}

RéponseLien direct vers Réponse

200 OK

{
"result": true
}

ErreurLien direct vers Erreur

400 MauvaiseRequête

{
"description": "string",
"errors": [
{
"code": "string",
"message": "string",
"value": {}
}
]
}

401 NonAutorisé

403 Interdit

{
"description": "string",
"errors": [
{
"code": "string",
"message": "string",
"value": {}
}
]
}

422 EntitéNonTraitée

{
"description": "string",
"errors": [
{
"code": "string",
"message": "string",
"value": {}
}
]
}

500 ErreurInterneDuServeur

{
"description": "string",
"errors": [
{
"code": "string",
"message": "string",
"value": {}
}
]
}

504 DélaiD'AttentePasserelle

{
"description": "string",
"errors": [
{
"code": "string",
"message": "string",
"value": {}
}
]
}

POST Réserver des Articles du PanierLien direct vers POST Réserver des Articles du Panier

Permet au partenaire de réserver/mettre en attente les articles pour une période définie pendant laquelle l'achat doit être complété et confirmé avec Rokt. Cela permet aux partenaires de garantir le stock et de verrouiller le prix pendant la durée de la réservation.

DescriptionLien direct vers Description

Lorsque l'utilisateur a finalisé la sélection des articles du catalogue mais n'a pas encore payé, la réservation des articles du panier garantit l'approvisionnement en stock et verrouille le prix selon les valeurs retournées. Si plusieurs articles du panier sont passés dans cette méthode, certains d'entre eux peuvent être réservés avec succès, et d'autres peuvent être rejetés.

Exemple de requête

    POST /v1/cart/reserve
{
"cartId": "1580265846172",
"items": [
{
"cartItemId": "30d0a389-5f63-4e20-9553-13ff40f8b11c",
"quantity": 1
}
]
}

RequêteLien direct vers Requête

Chemin

POST /v1/cart/reserve

Paramètres

NomDansDescriptionRequisExemple
rokt-api-keyheaderClé d'authentification APItrueskeletonkey
Content-TypeheaderType de média de la requête, 'application/json' est la seule valeur supportée pour le moment application/json
AcceptheaderType de média attendu de la réponse, 'application/json' est la seule valeur supportée pour le moment application/json
rokt-session-idheaderSessionId utilisé par Rokt en interne pour le suivi, la référence, la journalisation et le débogage.trueca75f48-ebbd-4d8e-83c3-fdd70893294d
rokt-tag-idheaderID de Tag Rokt uniquetrue253_439d21r21r21321
Accept-LanguageheaderLocale attendue du consommateur. Cela peut être la locale complète incluant la langue et le pays, ou une locale neutre qui ne contient que la langue. Lorsque la locale est spécifiée, seuls les placements et offres correspondant à la locale sont pris en compte. en-US

Corps de la requête

{
"cartId": "string",
"items": [
{
"cartItemId": "string",
"quantity": 0
}
],
"isPayPalPayment": true,
"merchantId": "string",
"attributes": {
"attribute": "string"
}
}

RéponseLien direct vers Réponse

200 OK

{
"cartId": "string",
"items": [
{
"cartItemId": "string",
"itemReservationId": "string",
"quantity": 0,
"unitPrice": 0,
"totalPrice": 0,
"currency": "string",
"expirationDateTimeUtc": "2025-10-04T10:00:00.000Z",
"success": true
}
],
"payPalOrderId": "string"
}

ErreurLien direct vers Erreur

400 MauvaiseRequête

{
"description": "string",
"errors": [
{
"code": "string",
"message": "string",
"value": {}
}
]
}

401 NonAutorisé

403 Interdit

{
"description": "string",
"errors": [
{
"code": "string",
"message": "string",
"value": {}
}
]
}

422 EntitéNonTraitée

{
"description": "string",
"errors": [
{
"code": "string",
"message": "string",
"value": {}
}
]
}

500 ErreurInterneDuServeur

{
"description": "string",
"errors": [
{
"code": "string",
"message": "string",
"value": {}
}
]
}

504 DélaiD'attentePasserelle

{
"description": "string",
"errors": [
{
"code": "string",
"message": "string",
"value": {}
}
]
}

POST Confirmer les Articles du PanierLien direct vers POST Confirmer les Articles du Panier

Permet au partenaire de confirmer l'achat réussi des articles. Rokt informera ensuite le fournisseur pertinent des produits pour l'exécution.

DescriptionLien direct vers Description

Après que le paiement soit traité pour tous les articles du panier. Rokt conseille que cela soit appelé pour tous les événements d'achat, y compris sur toutes les plateformes, appareils, environnements (web/app), pays, et canaux.

Exemple de requête #1

    POST /v1/cart/confirm
{
"cartId": "1580265846172",
"orderId": "1580265885747",
"items": [
{
"cartItemId": "30d0a389-5f63-4e20-9553-13ff40f8b11c",
"itemReservationId": "rokt_item_reservation_id.63a94103-75da-4d71-8c14-84674d286b98"
}
]
}

Exemple de requête #2

    POST /v1/cart/confirm
{
"cartId": "1580265846172",
"orderId": "1580265885747",
"items": [
{
"cartItemId": "30d0a389-5f63-4e20-9553-13ff40f8b11c",
"quantity": "15"
}
]
}

La collection items doit contenir au moins soit - cartItemId et itemReservationId ou - cartItemId et quantity

DemandeLien direct vers Demande

Chemin

POST /v1/cart/confirm

Paramètres

NomDansDescriptionRequisExemple
rokt-api-keyheaderClé d'authentification APItrueskeletonkey
Content-TypeheaderType de média de la demande, 'application/json' est la seule valeur supportée pour le moment application/json
AcceptheaderType de média attendu de la réponse, 'application/json' est la seule valeur supportée pour le moment application/json
rokt-session-idheaderSessionId utilisé par Rokt en interne pour le suivi, la référence, la journalisation et le débogage. Optionnel lorsque aucun article n'est inclus (sessionId généré si non fourni). ca75f48-ebbd-4d8e-83c3-fdd70893294d
rokt-tag-idheaderID de tag Rokt uniquetrue253_439d21r21r21321
Accept-LanguageheaderLocale attendue du consommateur. Cela peut être la locale complète incluant la langue et le pays, ou une locale neutre qui ne contient que la langue. Lorsque la locale est spécifiée, seuls les emplacements et offres correspondant à la locale sont pris en compte. en-US

Corps de la demande

{
"cartId": "string",
"orderId": "string",
"items": [
{
"cartItemId": "string",
"itemReservationId": "string",
"quantity": 0
}
],
"payPalOrderId": "string",
"merchantId": "string",
"attributes": {
"attribute": "string"
}
}

RéponseLien direct vers Réponse

200 OK

{
"cartId": "string",
"orderId": "string",
"items": [
{
"cartItemId": "string",
"itemReservationId": "string",
"itemConfirmationId": "string",
"itemConfirmationUrl": "string",
"success": true
}
]
}

ErreurLien direct vers Erreur

400 MauvaiseDemande

{
"description": "string",
"errors": [
{
"code": "string",
"message": "string",
"value": {}
}
]
}

401 NonAutorisé

403 Interdit

{
"description": "string",
"errors": [
{
"code": "string",
"message": "string",
"value": {}
}
]
}

422 EntitéNonTraitée

{
"description": "string",
"errors": [
{
"code": "string",
"message": "string",
"value": {}
}
]
}

500 ErreurInterneDuServeur

{
"description": "string",
"errors": [
{
"code": "string",
"message": "string",
"value": {}
}
]
}

504 DélaiD'attentePasserelle

{
"description": "string",
"errors": [
{
"code": "string",
"message": "string",
"value": {}
}
]
}

POST Annuler un article achetéLien direct vers POST Annuler un article acheté

Permet au partenaire d'annuler un article précédemment acheté (confirmé). Rokt appellera le fournisseur concerné pour effectuer une annulation et transmettra sa réponse.

DescriptionLien direct vers Description

Exemple de requête

    POST /v1/confirmation/cancel
{
"itemReservationId": "rokt_item_reservation_id.63a94103-75da-4d71-8c14-84674d286b98"
}

RequêteLien direct vers Requête

Chemin

POST /v1/confirmation/cancel

Paramètres

NomDansDescriptionRequisExemple
rokt-api-keyheaderClé d'authentification APItrueskeletonkey
Content-TypeheaderType de média de la requête, 'application/json' est la seule valeur supportée pour le moment application/json
AcceptheaderType de média attendu de la réponse, 'application/json' est la seule valeur supportée pour le moment application/json
Accept-LanguageheaderLocale attendue du consommateur. Cela peut être la locale complète incluant la langue et le pays, ou une locale neutre qui ne contient que la langue. Lorsqu'une locale est spécifiée, seuls les placements et offres correspondant à la locale sont pris en compte. en-US

Corps de la requête

{
"itemReservationId": "string"
}

RéponseLien direct vers Réponse

200 OK

ErreurLien direct vers Erreur

400 BadRequest

{
"description": "string",
"errors": [
{
"code": "string",
"message": "string",
"value": {}
}
]
}

401 Unauthorized

403 Forbidden

{
"description": "string",
"errors": [
{
"code": "string",
"message": "string",
"value": {}
}
]
}

422 UnprocessableEntity

{
"description": "string",
"errors": [
{
"code": "string",
"message": "string",
"value": {}
}
]
}

500 InternalServerError

{
"description": "string",
"errors": [
{
"code": "string",
"message": "string",
"value": {}
}
]
}

504 GatewayTimeout

{
"description": "string",
"errors": [
{
"code": "string",
"message": "string",
"value": {}
}
]
}

POST Libérer les Articles du PanierLien direct vers POST Libérer les Articles du Panier

Permet au partenaire d'annuler une réservation sur un ensemble d'articles. Ceci est optionnel car les articles réservés qui ne sont pas confirmés sont automatiquement libérés après un délai d'expiration. Cela convient aux partenaires avec un trafic très variable nécessitant une libération rapide des articles réservés.

DescriptionLien direct vers Description

Lorsque l'utilisateur retire un article réservé de son panier ou annule complètement son panier/transaction. Les articles réservés du panier finiront par expirer et être automatiquement libérés, mais un partenaire peut vouloir accélérer ce processus s'il a un environnement à trafic élevé ou variable pour éviter une épuisement prématuré ou temporaire de l'approvisionnement.

Exemple de requête

 POST /v1/cart/release
{
"cartId": "1580265846172",
"items": [
{
"cartItemId": "30d0a389-5f63-4e20-9553-13ff40f8b11c",
"itemReservationId": "rokt_item_reservation_id.63a94103-75da-4d71-8c14-84674d286b98"
}
]
}

RequêteLien direct vers Requête

Chemin

POST /v1/cart/release

Paramètres

NomDansDescriptionRequisExemple
rokt-api-keyheaderClé d'authentification APItrueskeletonkey
Content-TypeheaderType de média de la requête, 'application/json' est la seule valeur supportée pour le moment application/json
AcceptheaderType de média attendu pour la réponse, 'application/json' est la seule valeur supportée pour le moment application/json
rokt-session-idheaderSessionId utilisé par Rokt en interne pour le suivi, la référence, la journalisation et le débogage.trueca75f48-ebbd-4d8e-83c3-fdd70893294d
rokt-tag-idheaderID de Tag Rokt uniquetrue253_439d21r21r21321
Accept-LanguageheaderLocale attendue du consommateur. Cela peut être la locale complète incluant la langue et le pays, ou une locale neutre qui ne contient que la langue. Lorsque la locale est spécifiée, seuls les emplacements et offres correspondant à la locale sont pris en compte. en-US

Corps de la requête

{
"cartId": "string",
"items": [
{
"cartItemId": "string",
"itemReservationId": "string"
}
],
"attributes": {
"attribute": "string"
}
}

RéponseLien direct vers Réponse

200 OK

{
"cartId": "string",
"items": [
{
"cartItemId": "string",
"itemReservationId": "string",
"success": true
}
]
}

ErreurLien direct vers Erreur

400 MauvaiseRequête

{
"description": "string",
"errors": [
{
"code": "string",
"message": "string",
"value": {}
}
]
}

401 NonAutorisé

403 Interdit

{
"description": "string",
"errors": [
{
"code": "string",
"message": "string",
"value": {}
}
]
}

422 EntitéNonTraitée

{
"description": "string",
"errors": [
{
"code": "string",
"message": "string",
"value": {}
}
]
}

500 ErreurInterneDuServeur

{
"description": "string",
"errors": [
{
"code": "string",
"message": "string",
"value": {}
}
]
}

504 TempsD'attentePasserelle

{
"description": "string",
"errors": [
{
"code": "string",
"message": "string",
"value": {}
}
]
}
Cet article vous a-t-il été utile ?