API : commandes
Vous pouvez rechercher vos commandes, récupérer une commande spécifique ou mettre à jour les informations relatives aux commandes via notre API.
GET /orders
Cette méthode retourne toutes les commandes qui ont été complétées.
URL de la ressource
GET https://app.snipcart.com/api/orders
En-têtes
Nom | Valeur | Obligatoire? | Description |
---|---|---|---|
Accept |
application/json |
Oui | Notre API n'accepte que le type de contenu application/json, vous devez donc toujours spécifier l'en-tête Accept: application/json dans chaque requête que vous effectuez. |
Paramètres
Nom | Nom | Type | Description |
---|---|---|---|
offset |
Oui | int |
Nombre de résultats à ignorer. La valeur par défaut est 0. |
limit |
Oui | int |
Nombre de résultats à récupérer. La valeur par défaut est 20. |
status |
Non | string |
Un critère d'état pour votre collection de commandes. Valeurs possibles : (InProgress , Processed , Disputed , Shipped , Delivered , Pending , Cancelled ) |
invoiceNumber |
Non | string |
Le numéro de facture de la commande à récupérer. |
productId |
Non | string |
Retourne uniquement les commandes contenant ce produit. **Notez qu'il doit s'agir de l'identifiant défini par l'utilisateur, et non de l'identifiant unique défini par Snipcart. |
placedBy |
Non | string |
Le nom de la personne qui a effectué l'achat. |
from |
Non | datetime |
Retourne uniquement les commandes passées après cette date. |
to |
Non | datetime |
Retourne uniquement les commandes passées avant cette date. |
isRecurringOrder |
Non | bool |
Retourne uniquement les commandes qui sont récurrentes ou non. |
Exemple de requête
curl -H "Accept: application/json" \
https://app.snipcart.com/api/orders?offset=0&limit=50&status=processed \
-u {API_KEY}:
Exemple de réponse
{
"totalItems": 10,
"offset": 0,
"limit": 50,
"items": [
{
"token": "d16e2f60-39f1-4a4c-b1c3-8a2e166d3f70",
"creationDate": "2013-10-21T20:36:26.46Z",
"modificationDate": "2013-10-21T20:36:26.46Z",
"status": "Processed",
"paymentMethod": "CreditCard",
"invoiceNumber": "SNIP-0001",
"email": "geeks@snipcart.com",
"cardHolderName": "Geeks Snipcart",
"creditCardLast4Digits": "4242",
"billingAddressName": "Geeks Snipcart",
"billingAddressCompanyName": "Snipcart",
"billingAddressAddress1": "4885 1ere Avenue",
"billingAddressAddress2": "",
"billingAddressCity": "Québec",
"billingAddressCountry": "CA",
"billingAddressProvince": "QC",
"billingAddressPostalCode": "G1H2T5",
"billingAddressPhone": "1-877-301-4813",
"notes": null,
"shippingAddressName": "Geeks Snipcart",
"shippingAddressCompanyName": "Snipcart",
"shippingAddressAddress1": "4885 1ere Avenue",
"shippingAddressAddress2": "",
"shippingAddressCity": "Québec",
"shippingAddressCountry": "CA",
"shippingAddressProvince": "QC",
"shippingAddressPostalCode": "G1H2T5",
"shippingAddressPhone": "1-877-301-4813",
"shippingAddressSameAsBilling": true,
"finalGrandTotal": 443,
"shippingFees": 0,
"shippingMethod": "Free shipping",
"items": [],
"taxes": [],
"promocodes": [],
"willBePaidLater": false,
"customFields": [],
"paymentTransactionId": "gateway_payment_id",
},
...
]
}
GET /orders/{token}
Cette méthode retourne une commande particulière avec tous les articles, codes de promotion et taxes qui ont été appliqués à cette commande.
URL de la ressource
GET https://app.snipcart.com/api/orders/{token}
En-têtes
Nom | Valeur | Obligatoire? | Description |
---|---|---|---|
Accept |
application/json |
Oui | Notre API n'accepte que le type de contenu application/json, vous devez donc toujours spécifier l'en-tête Accept: application/json dans chaque requête que vous effectuez. |
Paramètres
Nom | Nom | Type | Description |
---|---|---|---|
code |
Oui | guid |
Le jeton unique de la commande |
Exemple de requête
curl -H "Accept: application/json" \
https://app.snipcart.com/api/orders/d16e2f60-39f1-4a4c-b1c3-8a2e166d3f70 \
-u {API_KEY}:
Exemple de réponse
{
"token": "93c4604e-35ac-4db7-b3f1-2871476e9e6a",
"creationDate": "2013-10-22T20:54:40.377Z",
"modificationDate": "2013-10-22T20:55:45.617Z",
"status": "Processed",
"paymentMethod": "CreditCard",
"invoiceNumber": "SNIP-1427",
"email": "geeks@snipcart.com",
"cardHolderName": "Geeks Snipcart",
"creditCardLast4Digits": "4242",
"billingAddressName": "Geeks Snipcart",
"billingAddressCompanyName": "Snipcart",
"billingAddressAddress1": "4885 1ere Avenue",
"billingAddressAddress2": null,
"billingAddressCity": "Quebec",
"billingAddressCountry": "CA",
"billingAddressProvince": "QC",
"billingAddressPostalCode": "G1H2T5",
"billingAddressPhone": "1-877-301-4813",
"notes": null,
"shippingAddressName": "Geeks Snipcart",
"shippingAddressCompanyName": "Snipcart",
"shippingAddressAddress1": "4885 1ere Avenue",
"shippingAddressAddress2": null,
"shippingAddressCity": "Quebec",
"shippingAddressCountry": "CA",
"shippingAddressProvince": "QC",
"shippingAddressPostalCode": "G1H2T5",
"shippingAddressPhone": "1-877-301-4813",
"shippingAddressSameAsBilling": true,
"finalGrandTotal": 287.44,
"shippingFees": 10,
"shippingMethod": "Shipping",
"items": [
{
"uniqueId": "1aad3398-1260-419c-9af4-d18e6fe75fbf",
"id": "1",
"name": "Un poster",
"price": 300,
"quantity": 1,
"url": "http://snipcart.com",
"weight": 10,
"description": "Bacon",
"image": "",
"customFieldsJson": "[]",
"stackable": true,
"maxQuantity": null,
"totalPrice": 300,
"totalWeight": 10
},
...
],
"taxes": [
{
"taxName": "TPS",
"taxRate": 0.05,
"amount": 12.5,
"numberForInvoice": ""
},
{
"taxName": "TVQ",
"taxRate": 0.09975,
"amount": 24.94,
"numberForInvoice": ""
},
...
],
"rebateAmount": 0,
"subtotal": 310,
"itemsTotal": 300,
"grandTotal": 347.44,
"totalWeight": 10,
"hasPromocode": true,
"totalRebateRate": 20,
"promocodes": [
{
"code": "PROMO",
"name": "PROMO",
"type": "Rate",
"rate": 20,
},
...
],
"willBePaidLater": false,
"customFields": [
{
"name":"Slug",
"value": "An order"
},
...
],
"paymentTransactionId": null,
}
PUT /orders/{token}
Cette méthode permet de mettre à jour l'état de la commande spécifiée. Vous pouvez utiliser ce point de terminaison pour définir le numéro de suivi de la commande, modifier son état ou ajouter des informations de métadonnées utiles.
Passer l'état d'une commande de Pending
à Processed
et l'état du paiement de Authorized
à Paid
capturera un paiement. Cela s'applique uniquement aux paiements en deux étapes proposés par Stripe.
URL de la ressource
PUT https://app.snipcart.com/api/orders/{token}
En-têtes
Nom | Valeur | Obligatoire? | Description |
---|---|---|---|
Accept |
application/json |
Oui | Notre API n'accepte que le type de contenu application/json, vous devez donc toujours spécifier l'en-tête Accept: application/json dans chaque requête que vous effectuez. |
Content-Type |
application/json |
Oui | Assurez-vous de spécifier le bon Content-Type. Notre API est uniquement JSON, nous ne supportons pas et ne supporterons pas d'autres types de contenu tels que XML. |
Paramètres
Nom | Nom | Type | Description |
---|---|---|---|
token |
Oui | guid |
Le jeton unique de la commande. Ce paramètre doit être transmis par l'URL. |
status |
Oui | string |
L'état de la commande. Valeurs possibles : (InProgress , Processed , Disputed , Shipped , Delivered , Pending , Cancelled ) |
paymentStatus |
Non | string |
L'état du paiement de la commande. Valeurs possibles : (Paid , Deferred , PaidDeferred , ChargedBack , Refunded , Paidout , Failed , Pending , Expired , Cancelled , Open , Authorized ). |
trackingNumber |
Non | string |
Le numéro de suivi associé à la commande. |
trackingUrl |
Non | string |
L'URL où le client pourra suivre sa commande. |
metadata |
Non | object |
Un simple objet JSON qui peut contenir toutes les données associées à cette commande. { "internal_id": "12345", "external_user_id": "user_id_1" } |
Exemple de requête
curl https://app.snipcart.com/api/orders/c7af6278-1c06-411d-b009-22a839efda75 -X PUT \
-H "Content-Type: application/json" \
-H "Accept: application/json" -u {YOUR_API_KEY}: \
-d "{'status': 'Delivered'}"
Réponse
Exemple de réponse
{
"token": "c7af6278-1c06-411d-b009-22a839efda75",
"creationDate": "2013-10-22T20:54:40.377Z",
"modificationDate": "2013-10-22T20:55:45.617Z",
"status": "Delivered",
"paymentMethod": "CreditCard",
"invoiceNumber": "SNIP-1427",
"email": "geeks@snipcart.com",
"cardHolderName": "Geeks Snipcart",
"creditCardLast4Digits": "4242",
"billingAddressName": "Geeks Snipcart",
"billingAddressCompanyName": "Snipcart",
"billingAddressAddress1": "4885 1ere Avenue",
"billingAddressAddress2": null,
"billingAddressCity": "Quebec",
"billingAddressCountry": "CA",
"billingAddressProvince": "QC",
"billingAddressPostalCode": "G1H2T5",
"billingAddressPhone": "1-877-301-4813",
"notes": null,
"shippingAddressName": "Geeks Snipcart",
"shippingAddressCompanyName": "Snipcart",
"shippingAddressAddress1": "4885 1ere Avenue",
"shippingAddressAddress2": null,
"shippingAddressCity": "Quebec",
"shippingAddressCountry": "CA",
"shippingAddressProvince": "QC",
"shippingAddressPostalCode": "G1H2T5",
"shippingAddressPhone": "1-877-301-4813",
"shippingAddressSameAsBilling": true,
"finalGrandTotal": 287.44,
"shippingFees": 10,
"shippingMethod": "Shipping",
"items": [
{
"uniqueId": "1aad3398-1260-419c-9af4-d18e6fe75fbf",
"id": "1",
"name": "Un poster",
"price": 300,
"quantity": 1,
"url": "http://snipcart.com",
"weight": 10,
"description": "Bacon",
"image": "",
"customFieldsJson": "[]",
"stackable": true,
"maxQuantity": null,
"totalPrice": 300,
"totalWeight": 10
},
...
],
"taxes": [
{
"taxName": "TPS",
"taxRate": 0.05,
"amount": 12.5,
"numberForInvoice": ""
},
{
"taxName": "TVQ",
"taxRate": 0.09975,
"amount": 24.94,
"numberForInvoice": ""
},
...
],
"rebateAmount": 0,
"subtotal": 310,
"itemsTotal": 300,
"grandTotal": 347.44,
"totalWeight": 10,
"hasPromocode": true,
"totalRebateRate": 20,
"promocodes": [
{
"code": "PROMO",
"name": "PROMO",
"type": "Rate",
"rate": 20,
},
...
],
"willBePaidLater": false,
"customFields": [],
"paymentTransactionId": null,
}