API : rabais
Si notre système de rabais habituel ne suffit pas, vous pouvez tirer parti de notre API REST pour pousser les choses plus loin.
GET /discounts
Cette méthode retourne tous les rabais de votre compte.
URL de la ressource
GET https://app.snipcart.com/api/discounts
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/discounts \
-u {API_KEY}:
Exemple de réponse
[
{
"id": "2223490d-84c1-480c-b713-50cb0b819313",
"name": "Discount name",
"trigger": "Code",
"code": "SNIP",
"itemId": "",
"totalToReach": null,
"type": "Rate",
"rate": 30,
"amount": null,
"alternatePrice": null,
"maxNumberOfUsages": 100,
"expires": null,
"numberOfUsages": 0,
"numberOfUsagesUncompleted": 0,
"shippingDescription": null,
"shippingCost": null,
"shippingGuaranteedDaysToDelivery": null,
},
...
]
GET /discounts/{id}
Cette méthode retourne un rabais particulier.
URL de la ressource
GET https://app.snipcart.com/api/discounts/{id}
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 | Obligatoire? | Type | Description |
---|---|---|---|
id |
Oui | guid | L'identifiant unique du rabais. |
Exemple de requête
curl -H "Accept: application/json" \
https://app.snipcart.com/api/discounts/2223490d-84c1-480c-b713-50cb0b819313 \
-u {API_KEY}:
Exemple de réponse
{
"id": "2223490d-84c1-480c-b713-50cb0b819313",
"name": "Discount name",
"trigger": "Code",
"code": "SNIP",
"itemId": "",
"totalToReach": null,
"type": "Rate",
"rate": 30,
"amount": null,
"alternatePrice": null,
"maxNumberOfUsages": 100,
"expires": null,
"numberOfUsages": 0,
"numberOfUsagesUncompleted": 0,
"shippingDescription": null,
"shippingCost": null,
"shippingGuaranteedDaysToDelivery": null,
}
POST /discounts
Cette méthode crée un nouveau rabais.
URL de la ressource
POST https://app.snipcart.com/api/discounts
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 | Le corps de la requête doit être JSON et nous spécifions donc le type de contenu |
Paramètres
Nom | Obligatoire? | Type | Description |
---|---|---|---|
name |
Oui | string | Le nom amical du rabais. |
expires |
Non | datetime | La date à laquelle ce rabais doit expirer. Si elle est nulle, le rabais n'expirera jamais. |
maxNumberOfUsages |
Non | int | Le nombre maximum d'utilisations pour le rabais, si null, les clients pourront utiliser ce rabais indéfiniment. |
trigger |
Oui | string |
Condition qui déclenchera le rabais. Valeurs possibles :
|
code |
Lorsque le déclencheur est Code |
string | Le code qui devra être saisi par le client. |
totalToReach |
Lorsque le déclencheur est Total |
decimal | Le montant minimum de la commande. |
itemId |
Lorsque le déclencheur est Product |
string | L'Identifiant unique de votre produit défini avec data-item-id . |
type |
Oui | string |
Le type d'action auquel le rabais s'appliquera. Valeurs possibles :
|
amount |
Lorsque le type est FixedAmount ou AmountOnSubscription |
decimal | Le montant qui sera déduit du total de la commande. |
productIds |
Lorsque le type est FixedAmountOnItems |
string | Une liste séparée par des virgules d'identifiants uniques de vos produits définis avec data-item-id . Le montant fixe sera déduit de chaque produit correspondant. |
rate |
Lorsque le type est Rate ou RateOnSubscription |
decimal | Le taux en pourcentage qui sera déduit du total de la commande. |
alternatePrice |
Lorsque le type est AlternatePrice |
string | Le nom de la liste de prix alternative à utiliser. |
shippingDescription |
Lorsque le type est Shipping |
string | Le nom de la méthode de livraison qui sera affichée à vos clients. |
shippingCost |
Lorsque le type est Shipping |
decimal | Le montant de la livraison qui sera disponible pour vos clients. |
shippingGuaranteedDaysToDelivery |
Non | int | Le nombre de jours que prendra l'expédition, vous pouvez le laisser à nul. |
combinable |
Non | boolean | Ceci indique si ce rabais peut être appliqué lorsque d'autres rabais se trouvent dans le panier. De plus, lorsqu'un panier contient un rabais qui n'est pas combinable, aucun autre rabais ne peut être ajouté. |
Exemple de requête
curl https://app.snipcart.com/api/discounts \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-u {YOUR_API_KEY}: \
-d "{ name: 'Free shipping',
trigger: 'Total',
totalToReach: 150,
type: 'Shipping',
shippingDescription: 'Free shipping',
shippingCost: 0,
shippingGuaranteedDaysToDelivery: 10 }"
Exemple de réponse
{
"id": "19a8d615-09f5-4808-80c2-96cd32d141f3",
"name": "Free shipping",
"trigger": "Total",
"code": null,
"itemId": null,
"totalToReach": 150,
"type": "Shipping",
"rate": null,
"amount": null,
"alternatePrice": null,
"maxNumberOfUsages": null,
"expires": null,
"numberOfUsages": 0,
"numberOfUsagesUncompleted": 0,
"shippingDescription": "Free shipping",
"shippingCost": 0,
"shippingGuaranteedDaysToDelivery": 10,
}
PUT /discounts/{id}
Cette méthode met à jour un rabais existant.
URL de la ressource
PUT https://app.snipcart.com/api/discounts/{id}
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 | Le corps de la requête doit être JSON et nous spécifions donc le type de contenu |
Paramètres
Nom | Obligatoire? | Type | Description |
---|---|---|---|
id |
Oui | guid | L'identifiant unique du rabais. |
name |
Oui | string | Le nom amical du rabais. |
expires |
Non | datetime | La date à laquelle ce rabais doit expirer. Si elle est nulle, le rabais n'expirera jamais. |
archived |
Non | boolean | Si le rabais est archivé ou non |
combinable |
Non | boolean | Ceci indique si ce rabais peut être appliqué lorsque d'autres rabais se trouvent dans le panier. De plus, lorsqu'un panier contient un rabais qui n'est pas combinable, aucun autre rabais ne peut être ajouté. |
maxNumberOfUsages |
Non | int | Le nombre maximum d'utilisations pour le rabais, si nul, les clients pourront utiliser ce rabais indéfiniment. |
trigger |
Oui | string |
Condition qui déclenchera le rabais. Valeurs possibles :
|
code |
Lorsque le déclencheur est Code |
string | Le code qui devra être saisi par le client. |
totalToReach |
Lorsque le déclencheur est Total |
decimal | Le montant minimum de la commande. |
itemId |
Lorsque le déclencheur est Product |
string | L'Identifiant unique de votre produit défini avec data-item-id . |
type |
Oui | string |
Le type d'action auquel le rabais s'appliquera. Valeurs possibles :
|
amount |
Lorsque le type est FixedAmount |
decimal | Le montant qui sera déduit du total de la commande. |
rate |
Lorsque le type est Rate |
decimal | Le taux en pourcentage qui sera déduit du total de la commande. |
alternatePrice |
Lorsque le type est AlternatePrice |
string | Le nom de la liste de prix alternative à utiliser. |
shippingDescription |
Lorsque le type est Shipping |
string | Le nom de la méthode de livraison qui sera affichée à vos clients. |
shippingCost |
Lorsque le type est Shipping |
decimal | Le montant de la livraison qui sera disponible pour vos clients. |
shippingGuaranteedDaysToDelivery |
Non | int | Le nombre de jours que prendra l'expédition, vous pouvez le laisser à nul. |
Exemple de requête
curl https://app.snipcart.com/api/discounts/19a8d615-09f5-4808-80c2-96cd32d141f3 \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-u {YOUR_API_KEY}: \
-X PUT \
-d "{ name: 'Free shipping',
trigger: 'Total',
totalToReach: 150,
type: 'Shipping',
shippingDescription: 'Free shipping',
shippingCost: 0,
shippingGuaranteedDaysToDelivery: 10 }"
Exemple de réponse
{
"id": "19a8d615-09f5-4808-80c2-96cd32d141f3",
"name": "Free shipping",
"trigger": "Total",
"code": null,
"itemId": null,
"totalToReach": 150,
"type": "Shipping",
"rate": null,
"amount": null,
"alternatePrice": null,
"maxNumberOfUsages": null,
"expires": null,
"numberOfUsages": 0,
"numberOfUsagesUncompleted": 0,
"shippingDescription": "Free shipping",
"shippingCost": 0,
"shippingGuaranteedDaysToDelivery": 10,
}
DELETE /discounts/{id}
Cette méthode permet de supprimer un rabais existant. Veuillez noter que vous ne pouvez pas supprimer un rabais qui a déjà été utilisé dans une commande complétée.
URL de la ressource
DELETE https://app.snipcart.com/api/discounts/{id}
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 | Obligatoire? | Type | Description |
---|---|---|---|
id |
Oui | guid | L'identifiant unique du rabais. |
Exemple de requête
curl https://app.snipcart.com/api/discounts/19a8d615-09f5-4808-80c2-96cd32d141f3 \
-H "Accept: application/json" \
-u {YOUR_API_KEY}: \
-X DELETE