API : paniers abandonnés

L'API des paniers abandonnés vous permet de récupérer les paniers que les clients ont commencés mais n'ont jamais complétés (statut InProgress). Les requêtes sont authentifiées avec votre clé API secrète, transmise comme nom d'utilisateur en authentification HTTP Basic avec un mot de passe vide. Avec curl : -u {API_KEY}:. Voir Authentification pour plus de détails. Chaque requête doit envoyer Accept: application/json.

Ces points de terminaison partagent la famille de routes carts/{status} avec les paniers complétés; pour les paniers abandonnés, le segment {status} est toujours abandoned. L'accès nécessite que la fonctionnalité Paniers abandonnés soit activée sur votre compte.

Table des matières

GET /carts/abandoned

Retourne une liste paginée des paniers abandonnés de votre compte. Les résultats sont paginés avec une limite par défaut de 20 par page. La pagination est par curseur : chaque réponse inclut un booléen hasMoreResults et, lorsqu'il existe d'autres résultats, un continuationToken à passer dans la requête suivante.

URL de la ressource

GET https://app.snipcart.com/api/carts/abandoned

En-têtes

Nom Obligatoire? Description
Accept Oui Doit être application/json. Notre API ne sert que du JSON.

Paramètres de requête

Nom Obligatoire? Type Description
limit Non long Nombre maximum de paniers à retourner par page. La valeur par défaut est 20.
continuationToken Non string Curseur retourné par une requête antérieure (dans le champ continuationToken). Passez-le pour récupérer la page suivante de la même requête.
timeRange Non string Restreint les résultats aux paniers abandonnés à l'intérieur d'une fenêtre. L'une des valeurs Anytime, LessThan4Hours, LessThanADay, LessThanAWeek, LessThanAMonth.
minimalValue Non decimal Exclut les paniers dont le total est inférieur à cette valeur.
email Non string Retourne uniquement les paniers associés à cette adresse de courriel.
productId Non string Retourne uniquement les paniers contenant le produit ayant cet identifiant.
campaignId Non string Retourne uniquement les paniers associés à cette campagne de récupération.

⚠️ Important : La pagination est par curseur, et non par décalage. Il n'y a pas de paramètre offset — utilisez continuationToken pour parcourir les pages.

Exemple de requête

curl -H "Accept: application/json" \
    "https://app.snipcart.com/api/carts/abandoned?limit=50&timeRange=LessThan4Hours" \
    -u {API_KEY}:

Exemple de réponse

{
  "continuationToken": "Cart|9rZW4iOiIrUklEOkVsaG1BTjRFel...",
  "hasMoreResults": true,
  "items": [
    {
      "id": "5e6e8393-c02c-4a44-a054-6dc8356bab66",
      "token": "5e6e8393-c02c-4a44-a054-6dc8356bab66",
      "mode": "Test",
      "email": "customer@example.com",
      "status": "InProgress",
      "creationDate": "2016-11-08T17:10:00Z",
      "modificationDate": "2016-11-08T17:15:12Z",
      "shipToBillingAddress": true,
      "billingAddress": {
        "fullName": "Jane Doe",
        "firstName": "Jane",
        "name": "Doe",
        "company": "Snipcart",
        "address1": "226 Rue Saint-Joseph Est",
        "address2": "",
        "city": "Québec",
        "country": "CA",
        "postalCode": "G1K3A9",
        "province": "QC",
        "phone": "(555) 555-5555"
      },
      "shippingAddress": {
        "fullName": "Jane Doe",
        "name": "Doe",
        "address1": "226 Rue Saint-Joseph Est",
        "city": "Québec",
        "country": "CA",
        "postalCode": "G1K3A9",
        "province": "QC"
      },
      "completionDate": null,
      "shippingInformation": {
        "fees": 10,
        "method": "Fast custom shipping"
      },
      "summary": {
        "subtotal": 20,
        "taxableTotal": 20,
        "total": 30,
        "payableNow": 30,
        "paymentMethod": null,
        "taxes": []
      },
      "items": [
        {
          "uniqueId": "0fe3b1d4-3334-4d34-9722-a4d59f529190",
          "token": "5e6e8393-c02c-4a44-a054-6dc8356bab66",
          "id": "42",
          "name": "The Geek Shirt",
          "price": 20,
          "description": "Be the coolest geek in town with this awesome shirt.",
          "url": "https://example.com/products/geek-shirt",
          "image": "https://example.com/images/geek-shirt.png",
          "quantity": 1,
          "stackable": true,
          "shippable": true,
          "taxable": true,
          "taxes": [],
          "customFields": [],
          "duplicatable": false,
          "alternatePrices": {},
          "dimensions": {
            "weight": 20
          },
          "unitPrice": 20,
          "totalPrice": 20,
          "addedOn": "2016-11-08T17:15:13Z"
        },
        ...
      ],
      "discounts": [],
      "customFields": [],
      "refunds": [],
      "currency": "cad",
      "totalWeight": 20,
      "itemsTotal": 20,
      "total": 30
    },
    ...
  ]
}

GET /carts/abandoned/{token}

Retourne un seul panier abandonné à partir de son jeton. Le panier doit toujours être abandonné (statut InProgress); demander un jeton qui a depuis été complété retourne 404 Not Found.

URL de la ressource

GET https://app.snipcart.com/api/carts/abandoned/{token}

En-têtes

Nom Obligatoire? Description
Accept Oui Doit être application/json. Notre API ne sert que du JSON.

Paramètres de chemin

Nom Obligatoire? Type Description
token Oui guid Le jeton unique du panier à récupérer.

Exemple de requête

curl -H "Accept: application/json" \
    https://app.snipcart.com/api/carts/abandoned/35cb24c1-00d5-4b26-a16d-4a99bcde8ea3 \
    -u {API_KEY}:

Exemple de réponse

{
  "id": "35cb24c1-00d5-4b26-a16d-4a99bcde8ea3",
  "token": "35cb24c1-00d5-4b26-a16d-4a99bcde8ea3",
  "mode": "Test",
  "email": "customer@example.com",
  "status": "InProgress",
  "creationDate": "2016-11-08T17:40:00Z",
  "modificationDate": "2016-11-08T17:48:23Z",
  "shipToBillingAddress": true,
  "billingAddress": {
    "fullName": "Jane Doe",
    "firstName": "Jane",
    "name": "Doe",
    "company": "Snipcart",
    "address1": "226 Rue Saint-Joseph Est",
    "address2": "",
    "city": "Québec",
    "country": "CA",
    "postalCode": "G1K3A9",
    "province": "QC",
    "phone": "(555) 555-5555"
  },
  "shippingAddress": {
    "fullName": "Jane Doe",
    "name": "Doe",
    "address1": "226 Rue Saint-Joseph Est",
    "city": "Québec",
    "country": "CA",
    "postalCode": "G1K3A9",
    "province": "QC"
  },
  "completionDate": null,
  "shippingInformation": {
    "fees": 10,
    "method": "Fast custom shipping"
  },
  "summary": {
    "subtotal": 20,
    "taxableTotal": 20,
    "total": 30,
    "payableNow": 30,
    "paymentMethod": null,
    "taxes": []
  },
  "items": [
    {
      "uniqueId": "27ab2f3e-1a03-4b23-9407-65d940b182ea",
      "token": "35cb24c1-00d5-4b26-a16d-4a99bcde8ea3",
      "id": "42",
      "name": "The Geek Shirt",
      "price": 20,
      "description": "Be the coolest geek in town with this awesome shirt.",
      "url": "https://example.com/products/geek-shirt",
      "image": "https://example.com/images/geek-shirt.png",
      "quantity": 1,
      "stackable": true,
      "shippable": true,
      "taxable": true,
      "taxes": [],
      "customFields": [],
      "duplicatable": false,
      "alternatePrices": {},
      "dimensions": {
        "weight": 20
      },
      "unitPrice": 20,
      "totalPrice": 20,
      "addedOn": "2016-11-08T17:48:25Z"
    },
    ...
  ],
  "discounts": [],
  "customFields": [],
  "refunds": [],
  "currency": "cad",
  "totalWeight": 20,
  "itemsTotal": 20,
  "total": 30
}