API : méthodes de livraison personnalisées
Ce point de terminaison de l'API REST vous permet de créer des méthodes de livraison personnalisées.
- Obtenir toutes les méthodes de livraison
- Obtenir une méthode de livraison spécifique
- Créer une méthode de livraison
- Mettre à jour une méthode de livraison
- Supprimer une méthode de livraison
GET /api/shipping_methods
Cette méthode retourne la liste des méthodes de livraison existantes.
URL de la ressource
https://app.snipcart.com/api/shipping_methods
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. |
Exemple de requête
curl -H "Accept: application/json" \
https://app.snipcart.com/api/shipping_methods
-u {API_KEY}:
Exemple de réponse
[
{
"name": "International shipping",
"guaranteedEstimatedDelivery": {
"minimumDaysForDelivery": 10,
"maximumDaysForDelivery": null
},
"location": {
"country": null,
"province": null
},
"rates": [
{
"cost": 20,
"weight": {
"to": 1000
}
},
{
"cost": 30,
"weight": {
"from": 1000,
"to": 2000
}
},
{
"cost": 60,
"weight": {
"from": 3000
}
}
],
"id": "e4aba83a-8ff5-41f1-b9f6-a3e3aea3fdde",
"creationDate": "2017-04-04T15:04:53.377Z",
"modificationDate": "2017-04-04T15:04:53.377Z"
},
{
"postalCodeRegex": "G1K.*",
"name": "Local shipping",
"guaranteedEstimatedDelivery": {
"minimumDaysForDelivery": 2,
"maximumDaysForDelivery": null
},
"location": {
"country": "CA",
"province": "QC"
},
"rates": [
{
"cost": 0,
"weight": {
"to": 1000
}
},
{
"cost": 5,
"weight": {
"from": 1000,
"to": 2000
}
},
{
"cost": 7.5,
"weight": {
"from": 2000
}
}
],
"id": "1391ecc9-3f1b-4a85-bc8e-beb745e4c6d2",
"creationDate": "2017-04-04T15:06:31.967Z",
"modificationDate": "2017-04-04T15:06:31.967Z"
},
{
"postalCodeRegex": "G1K.*",
"name": "Domestic shipping",
"guaranteedEstimatedDelivery": {
"minimumDaysForDelivery": 5,
"maximumDaysForDelivery": null
},
"location": {
"country": "CA",
"province": null
},
"rates": [
{
"cost": 5,
"weight": {
"to": 1000
}
},
{
"cost": 10,
"weight": {
"from": 1000,
"to": 2000
}
},
{
"cost": 20,
"weight": {
"from": 2000
}
}
],
"id": "0222da02-ab21-4c4c-ad4e-c06f89f3c966",
"creationDate": "2017-04-04T15:05:42.873Z",
"modificationDate": "2017-04-04T15:05:42.873Z"
}
]
GET /api/shipping_methods/{id}
Cette méthode retourne les informations d'une méthode de livraison spécifique.
URL de la ressource
https://app.snipcart.com/api/shipping_methods/{id}
Paramètres d'URL
Nom | Obligatoire? | Type | Description |
---|---|---|---|
id |
Oui | guid |
L'identifiant unique de la méthode de livraison. |
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. |
Exemple de requête
curl -H "Accept: application/json" \
https://app.snipcart.com/api/shipping_methods/0222da02-ab21-4c4c-ad4e-c06f89f3c966
-u {API_KEY}:
Exemple de réponse
{
"postalCodeRegex": "G1K.*",
"name": "Domestic shipping",
"guaranteedEstimatedDelivery": {
"minimumDaysForDelivery": 5,
"maximumDaysForDelivery": null
},
"location": {
"country": "CA",
"province": null
},
"rates": [
{
"cost": 5,
"weight": {
"to": 1000
}
},
{
"cost": 10,
"weight": {
"from": 1000,
"to": 2000
}
},
{
"cost": 20,
"weight": {
"from": 2000
}
}
],
"id": "0222da02-ab21-4c4c-ad4e-c06f89f3c966",
"creationDate": "2017-04-04T15:05:42.873Z",
"modificationDate": "2017-04-04T15:05:42.873Z"
}
POST /api/shipping_methods
Cette méthode vous permet de créer une méthode de livraison personnalisée.
URL de la ressource
https://app.snipcart.com/api/shipping_methods
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 | Spécifie le type de contenu du corps de la demande. |
Paramètres de la méthode de livraison personnalisée
Nom | Obligatoire | Type | Description |
---|---|---|---|
name |
Oui | string |
Le nom de la méthode de livraison |
location |
Non | object |
Le lieu où la méthode de livraison est disponible. Peut être spécifié avec les propriétés country et province . Vous devez utiliser le code du pays et le code de la province. Exemple : { "country": "CA", "province": "QC" } Si location n'est pas précisé, la méthode de livraison sera proposée pour n'importe quelle adresse de livraison. |
guaranteedEstimatedDelivery |
Non | object |
Le nombre de jours estimés pour la livraison. Exemple : { "minimumDaysForDelivery": 1, "maximumDaysForDelivery": 5 } Vous pouvez définir uniquement la valeur minimale ou maximale si nécessaire. |
rates |
Oui | object[] |
Les taux associés à cette méthode de livraison. Reportez-vous à la section suivante pour définir un objet rate . |
Paramètres des taux
Nom | Obligatoire | Type | Description |
---|---|---|---|
cost |
Oui | decimal |
Le coût du taux de livraison. Doit être une valeur décimale valide. |
weight |
Non | object |
La plage de poids à laquelle le taux est applicable. Exemple : { "from": 10, "to": 100 } L'unité doit être spécifiée en grammes. S'il n'est pas spécifié, le taux de livraison sera disponible quel que soit le poids total de la commande. |
location |
Non | object |
Si elle est spécifiée, le taux ne sera disponible que si l'adresse de livraison de la commande correspond à cette localisation. Exemple : { "country": "CA", "province": "QC" } |
Exemple de payload de requête
{
"postalCodeRegex": "G1K.*",
"name": "Domestic shipping",
"guaranteedEstimatedDelivery": {
"minimumDaysForDelivery": 5,
"maximumDaysForDelivery": null
},
"location": {
"country": "CA",
"province": null
},
"rates": [
{
"cost": 5,
"weight": {
"to": 1000
}
},
{
"cost": 10,
"weight": {
"from": 1000,
"to": 2000
}
},
{
"cost": 20,
"weight": {
"from": 2000
}
}
]
}
Exemple de réponse
{
"postalCodeRegex": "G1K.*",
"name": "Domestic shipping",
"guaranteedEstimatedDelivery": {
"minimumDaysForDelivery": 5,
"maximumDaysForDelivery": null
},
"location": {
"country": "CA",
"province": null
},
"rates": [
{
"cost": 5,
"weight": {
"to": 1000
}
},
{
"cost": 10,
"weight": {
"from": 1000,
"to": 2000
}
},
{
"cost": 20,
"weight": {
"from": 2000
}
}
],
"id": "0222da02-ab21-4c4c-ad4e-c06f89f3c966",
"creationDate": "2017-04-04T15:05:42.873Z",
"modificationDate": "2017-04-04T15:05:42.873Z"
}
PUT /api/shipping_methods/{id}
Cette méthode vous permet de mettre à jour une méthode de livraison personnalisée existante.
URL de la ressource
https://app.snipcart.com/api/shipping_methods/{id}
Paramètres d'URL
Nom | Obligatoire? | Type | Description |
---|---|---|---|
id |
Oui | guid |
L'identifiant unique de la méthode de livraison. |
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 | Spécifie le type de contenu du corps de la demande. |
Paramètres de la méthode de livraison personnalisée
Nom | Obligatoire | Type | Description |
---|---|---|---|
name |
Oui | string |
Le nom de la méthode de livraison |
location |
Non | object |
Le lieu où la méthode de livraison est disponible. Peut être spécifié avec les propriétés country et province . Vous devez utiliser le code du pays et le code de la province. Exemple : { "country": "CA", "province": "QC" } Si location n'est pas précisé, la méthode de livraison sera proposée pour n'importe quelle adresse de livraison. |
guaranteedEstimatedDelivery |
Non | object |
Le nombre de jours estimés pour la livraison. Exemple : { "minimumDaysForDelivery": 1, "maximumDaysForDelivery": 5 } Vous pouvez définir uniquement la valeur minimale ou maximale si nécessaire. |
rates |
Oui | object[] |
Les taux associés à cette méthode de livraison. Reportez-vous à la section suivante pour définir un objet rate . |
Paramètres des taux
Nom | Obligatoire | Type | Description |
---|---|---|---|
cost |
Oui | decimal |
Le coût du taux de livraison. Doit être une valeur décimale valide. |
weight |
Non | object |
La plage de poids à laquelle le taux est applicable. Exemple : { "from": 10, "to": 100 } L'unité doit être spécifiée en grammes. S'il n'est pas spécifié, le taux de livraison sera disponible quel que soit le poids total de la commande. |
location |
Non | object |
Si elle est spécifiée, le taux ne sera disponible que si l'adresse de livraison de la commande correspond à cette localisation. Exemple : { "country": "CA", "province": "QC" } |
Exemple de payload de requête
{
"id": "0222da02-ab21-4c4c-ad4e-c06f89f3c966",
"postalCodeRegex": "G1K.*",
"name": "Domestic shipping",
"guaranteedEstimatedDelivery": {
"minimumDaysForDelivery": 5,
"maximumDaysForDelivery": null
},
"location": {
"country": "CA",
"province": null
},
"rates": [
{
"cost": 5,
"weight": {
"to": 1000
}
},
{
"cost": 10,
"weight": {
"from": 1000,
"to": 2000
}
},
{
"cost": 20,
"weight": {
"from": 2000
}
}
]
}
Exemple de réponse
{
"postalCodeRegex": "G1K.*",
"name": "Domestic shipping",
"guaranteedEstimatedDelivery": {
"minimumDaysForDelivery": 5,
"maximumDaysForDelivery": null
},
"location": {
"country": "CA",
"province": null
},
"rates": [
{
"cost": 5,
"weight": {
"to": 1000
}
},
{
"cost": 10,
"weight": {
"from": 1000,
"to": 2000
}
},
{
"cost": 20,
"weight": {
"from": 2000
}
}
],
"id": "0222da02-ab21-4c4c-ad4e-c06f89f3c966",
"creationDate": "2017-04-04T15:05:42.873Z",
"modificationDate": "2017-04-04T15:10:42.873Z"
}
DELETE /api/shipping_methods/{id}
Cette méthode vous permet de supprimer une méthode de livraison personnalisée. En cas de succès, elle retourne une réponse 204 No Content
avec un corps vide.
URL de la ressource
https://app.snipcart.com/api/shipping_methods/{id}
Paramètres d'URL
Nom | Obligatoire? | Type | Description |
---|---|---|---|
id |
Oui | guid |
L'identifiant unique de la méthode de livraison. |
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. |