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/abandonedEn-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
}