Webhooks : livraison

Vous pouvez utiliser le webhook des tarifs de livraison lorsque vous souhaitez gérer vous-même le calcul des tarifs de livraison. Snipcart appellera votre application à l'URL spécifiée dans votre tableau de bord.

Dans votre tableau de bord, allez dans Store configurations → Shipping → Webhooks et entrez les informations de point de terminaison requises.

Snipcart fera une requête HTTP POST à l'URL spécifiée. Le corps de la demande contiendra tous les détails de la commande en cours.

Requête

Méthode POST

Content-Type application/json

Corps

{
  "eventName": "shippingrates.fetch",
  "mode": "Live",
  "createdOn": "2015-02-21T14:58:02.6738454Z",
  "content": {
    "token": "22808196-0eff-4a6e-b136-3e4d628b3cf5",
    "creationDate": "2015-02-21T14:58:02.6738454Z",
    "modificationDate": "2015-02-21T14:58:02.6738454Z",
    "status": "Processed",
    "currency": "USD",
    "lang": "en",
    "paymentMethod": "CreditCard",
    "email": "customer@snipcart.com",
    "cardHolderName": "Nicolas Cage",
    "billingAddressName": "Nicolas Cage",
    "billingAddressCompanyName": "Company name",
    "billingAddressAddress1": "888 The street",
    "billingAddressAddress2": "",
    "billingAddressCity": "Québec",
    "billingAddressCountry": "CA",
    "billingAddressProvince": "QC",
    "billingAddressPostalCode": "G1G 1G1",
    "billingAddressPhone": "(888) 888-8888",
    "shippingAddressName": "Nicolas Cage",
    "shippingAddressCompanyName": "Company name",
    "shippingAddressAddress1": "888 The street",
    "shippingAddressAddress2": "",
    "shippingAddressCity": "Québec",
    "shippingAddressCountry": "CA",
    "shippingAddressProvince": "QC",
    "shippingAddressPostalCode": "G1G 1G1",
    "shippingAddressPhone": "(888) 888-8888",
    "shippingAddressSameAsBilling": true,
    "finalGrandTotal": 310.00,
    "shippingAddressComplete": true,
    "creditCardLast4Digits": "4242",
    "shippingFees": 10.00,
    "shippingMethod": "Livraison",
    "items": [{
      "uniqueId": "eb4c9dae-e725-4dad-b7ae-a5e48097c831",
      "token": "22808196-0eff-4a6e-b136-3e4d628b3cf5",
      "id": "1",
      "name": "Movie",
      "price": 300.00,
      "originalPrice": 300.00,
      "quantity": 1,
      "url": "https://snipcart.com",
      "weight": 10.00,
      "description": "Something",
      "image": "http://placecage.com/50/50",
      "customFieldsJson": "[]",
      "stackable": true,
      "maxQuantity": null,
      "totalPrice": 300.0000,
      "totalWeight": 10.00,
      "shippable": true,
    }],
    "subtotal": 610.0000,
    "totalWeight": 20.00,
    "discounts": [],
    "willBePaidLater": false
  }
}

Réponse

Snipcart s'attend à recevoir un objet JSON contenant un tableau de taux de livraison.

Succès

Le code d'état de la réponse doit être 2XX pour indiquer que la demande a été traitée avec succès.

En-têtes HTTP obligatoires

Clé Valeur
Content-Type application/json

Contenu

{
  "rates": [{
    "cost": 10,
    "description": "10$ shipping"
    }, {
    "cost": 20,
    "description": "20$ shipping",
    "guaranteedDaysToDelivery": 5
    },
    ...
  ]
}

Erreur

Si vous voulez que Snipcart affiche un message d'erreur à vos clients, vous pouvez le faire en nous retournant un code d'état 2XX avec l'objet JSON suivant.

{
  "errors": [{
    "key": "invalid_postal_code",
    "message": "The postal code is invalid."
    },
    ...
  ]
}
fca37345","d28cbbcee6c3","/email-templates/payment-expired","1715da99d26b","Paiement expiré","/modeles-de-courriels/droit-retraction","Withdrawal Request","45d70ae82f09","ecca4862-0ee5-4b16-975d-06f27c1ad0c1","/modeles-de-courriels/types","7bb35654-89cb-427d-8258-29ee782ac59e","Template data","Données de modèle","c258b88ddf4f","Environnement de test","Environments","214c281fa06a","Passer en production","c6aa2e3c98d2","JavaScript SDK","07ed4fc79319","c9d7549b-e76a-4cf5-ac19-3b30d0546fec","/sdk/les-bases","/sdk/api-javascript","9236b78a583d","68402140-9983-4c48-a2f8-830ee69d7714","54cdfbea-f4d2-4b0f-8f11-d9e3f3d8ef49","/sdk/evenements","Événements","45f61a4c79fa","ed4e787c-ce0d-4f3d-8c74-77d9447ac74c","e2a01064-946e-46a5-ae7e-346b3fd40804","/sdk/storage","Storage","611bf27af5b9","SDK reference","Références","/sdk/reference-javascript","55fee6aea1d5","ecedaa7f-dabb-478b-a993-b1ce2d39dfb3","f7052c47b89e","Authentification","8e6026c77029","99ab9f71770f","Erreurs","Commandes","c6142a0c726a","f82fafc64f64","fff64f7424b5","Clients","b3cf1334eac9","6b7171634d0b","Sessions utilisateur","5a04d2c9899a","83b32a090ca5","ecfa221e4ac2","329c8f096272","Domaines","10d89b49262b","Méthodes de livraison personnalisées","API reference","5e1f73623353","6f17e77d-2888-433f-acb2-6344a979c618","/serveur-mcp/principes-de-base","8358ae9d1981","6f454707-7b02-4093-9215-a74586c66576","/serveur-mcp/installation","e96505ec-3ae4-4f5c-ba97-bb7f29b0c214","Tools reference","e067f19722f6","/serveur-mcp/reference-outils","/serveur-mcp/exemples-utilisation","71223d37-ce12-4669-804b-d33ac650f688","Usage examples","0a1c692c42f6","/serveur-mcp/cas-utilisation","Use cases","70f1d1d143b2","effe8117-cd64-47d2-bf4d-1bb543247b16","7e4ed0a0-67a0-4010-b5cb-8d5c8f83379f","Error handling","e0240fb33bd9","/serveur-mcp/gestion-erreurs","MCP Server","0c4bcf2adb14","Événements de commande","b0e5b196ce56","Événements d'abonnement","56ff41e20280","40a530dd-3f7b-4ee5-ae03-7a3086880611","8aa7b1f20ec8","c9af405c-e540-43b3-8076-030a293a337c","4e4ff387741f","Exemples","df4220ff1446","/webhooks/evenements-d-abonnement","Custom payment gateway","94c7836ce5f3","77889630-cd22-4ad6-b352-54040033c724","6027ba2be58f","3ba3026b-2bfb-40b8-b0e3-b1a29eb5d8cd","Merchant configuration","Configuration du commerçant","9214ffdcbab4","e6809589-d283-4b10-9e5c-a8ec15303cfb","b7d8c26b-e5f4-484b-a9ef-a5ca41f85393","Return payment methods","Retourner les méthodes de paiement","8046985b24d4","ec2a5724-5506-47b6-9c7a-d310bb4d0e09","Paiement externe","External checkout","136519945525","aa53add73259","bd87ce7d-0239-420a-9a18-862a9b6deb66","Server-side processing","Traitement côté serveur","4ed2a6ce8bd9","e2d6d233-29ec-4b16-ab36-56f868588988","Rediriger les clients vers Snipcart","Redirect customers","Paiements des remboursements","Refund payments","e1b66edceecc","6a85e846-fa51-410b-9709-7ff8cdd89f41","Tutorial: Google Pay","Tutoriel : Google Pay","569a37399012","9af20347-1724-4fac-8db6-adc33da0c35e","Référence technique","Technical reference","98ab29c4ef61","1b6b88cc-39a0-486e-90d3-ede9e872b9f2","00236eb3-2e88-418a-92f5-e662094e5c3f","Recette","1e255eb98b77","/passerelle-de-paiement-personnalisee","/passerelle-de-paiement-personnalisee/configuration-du-commercant","/passerelle-de-paiement-personnalisee/api","/passerelle-de-paiement-personnalisee/retourner-les-methodes-de-paiement","/passerelle-de-paiement-personnalisee/ecran-de-paiement","/passerelle-de-paiement-personnalisee/traitement-cote-serveur","/passerelle-de-paiement-personnalisee/confirmation-de-redirection-de-commande","/passerelle-de-paiement-personnalisee/paiements-des-remboursements","/passerelle-de-paiement-personnalisee/tutoriel","/passerelle-de-paiement-personnalisee/reference-technique","/passerelle-de-paiement-personnalisee/recette","b024edbeb039","a1d79bb2-ed0b-4d69-9307-4dc381de6e60","f0b1bed30c4e","f63e3ad3-382f-4ac2-9935-f1275b7ae6c3","48f4c95f530f","c41c5d4f-4381-4c68-9d0c-fb3a7d329f0d","e6ad3d4da679","db83302dc1f0","47fdea683c65","de84dce9-5f6a-4813-a2d7-37c28b99d69d","103ea81a8c8f","e4dfbc3a-02ae-4604-a259-5b5189d531e8","51b6515636bc","aee4dd92-711c-4254-95b2-ed2e3012cc96","666201e04a04","00c8e043-a3f7-40e5-96df-719df51e57e8","c419b3e240bf","HBxfZOxl1RmLVzwxamPFr1","986ab3a92333","936f652a-6bcb-4efd-b400-2ae02fa7b8bb","ba3536c135b9","bacf339a-603c-4f88-a66d-8fcd3fbce00a","43ecdf47ca2c","cd7ba04f-a8fe-468d-9fca-1725eaf6a7fd","19b188bc1a55","ddf7d726-dc4f-4b43-a4bc-9c49819e71a9","f9086567414b","c8b716de8866","f850a03b5f01","a5afe2c4-05fb-4178-8085-7abac24cc7db","39809dc73095","9b3097d5-6456-427f-abde-3f4a0ba89fa4","b5e0d2ec1f25","HBxfZOxl1RmLVzwxamPqeS","5d9b9c748755","c1c4e307dd2a","aa824bbbe90d","6e0066de927f","b09130bd2488","62ceaaea8d3a","551c7a0a47a1","e6157c641659","d6c3c5a0-b539-4c31-9d87-3214d28e9a2b","594a93ba7710","HBxfZOxl1RmLVzwxamPkCY","2c2884a584d0","fe313fdf8bd1","2f0bdbc6ef59","0dacdbeb4268","07ac02a70ccb","7e82126553e8","330206f64118","c6934077f49d","d9c0a229f193","bbf5d766d79a","6b7887281cf8","daec53f67df3","76f6cdbdc745","Javascript API","3909b2163ee3","dec5aedf-b3f4-4f94-9baa-ce3fc6bf0f88","8fbb322c-10b3-4952-a3a9-34b62cca514a","589889f37a6b","858b7845c741","0c133347-9483-4a0e-85bb-427c0526c23d","5ee89489ffee","2496927b-dbd3-47e5-9bd4-b3d9f160ac60","Custom validation","4890b4ff36c8","35e4f0d2-1047-4369-bfb0-4a1c8d5dbd47","4513cd33faee","14b10ee600d6","a7235b09213a","8215d5e00da1","9081f539df33","7122087a-ff6f-4389-a335-c526cfdde0ad","c51838d9467f","1923fd982292","9c2a598a3fbe","5e7e2599977f","35740d4f7ac7","8aa326c13f44","0f1f116d43ff","151c7d49f3a4","0db1a7e14b66","9050fb6daa4d","59ca8bcefd5a","f89bcde7d5e1","bd1a1711f21b","3sYNYFvrwfDcNEuzyd6xxc","bd052759fc05","9c7942dcc6c7","1003dc63c5d9","fbdfe3e2-2ae3-4976-9e43-adb9c7d9fea0")