La ressource ShippingSettings
vous permet de récupérer et de mettre à jour les paramètres de livraison de votre compte.
Google peut automatiquement mettre à jour le délai de livraison estimé pour certains produits. Pour en savoir plus, consultez la page Activer les améliorations automatiques.
Lire, écrire ou modifier les paramètres de livraison
Pour utiliser le service de livraison de l'API Merchant API, procédez comme suit:
- Envoyez une requête
GET
pour récupérer les paramètres de livraison complets de votre compte. - modifier les paramètres de livraison ;
- Envoyez une requête
INSERT
avec les paramètres de livraison modifiés.
ETag
L'élément Etag est un jeton encodé qui permet d'éviter les mises à jour asynchrones. L'étiquette change lorsque l'une des données des paramètres de livraison change. Les utilisateurs doivent copier l'etag obtenu à partir de la requête GET
dans le corps de la requête INSERT
.
Si les données des paramètres de livraison changent entre la requête GET
et la requête INSERT
, un message d'erreur vous invite à effectuer une autre requête GET
pour récupérer le jeton etag le plus récent. Vous devez appeler la requête GET
pour récupérer le nouveau jeton etag et le copier dans le corps de la requête INSERT
.
Ajouter vos paramètres de livraison
Utilisez shippingsettings.insert
pour ajouter ou mettre à jour les paramètres de livraison de votre compte. Voici un exemple de requête qui met à jour maxTransitDays
sur 7 pour un service de livraison appelé GSA Shipping - Free Ship Over $49.99, sous le compte 10.
POST https://merchantapi.googleapis.com/accounts/v1beta/accounts/{accountId}/shippingSettings/
{
"services": [
{
"name": "FedEx",
"active": true,
"deliveryCountries": ["US"],
"currencyCode": "USD",
"deliveryTime": {
"minTransitDays": 4,
"maxTransitDays": 6,
"minHandlingDays": 0,
"maxHandlingDays": 0
},
"rateGroups": [
{
"singleValue": {
"flatRate": {
"amountMicros": 5990000,
"currencyCode": "USD"
}
},
"name": "All products"
}
]
},
{
"name": "GSA Shipping - Free Ship Over $49.99",
"active": true,
"deliveryCountries": "US",
"currencyCode": "USD",
"deliveryTime": {
"minTransitDays": 3,
"maxTransitDays": 7,
"minHandlingDays": 1,
"maxHandlingDays": 2
},
"rateGroups": [
{
"mainTable": {
"rowHeaders": {
"prices": [
{
"amountMicros": 49990000,
"currencyCode": "USD"
},
{
"amountMicros": -1,
"currencyCode": "USD"
}
]
},
"rows": [
{
"cells": [
{
"flatRate": {
"amountMicros": 6990000,
"currencyCode": "USD"
}
}
]
},
{
"cells": [
{
"flatRate": {
"amountMicros": 0,
"currencyCode": "USD"
}
}
]
}
]
},
"name": "Free Ship Over $49.99"
}
]
}
]
}
Définir des entrepôts
L'exemple JSON suivant montre comment utiliser le service de paramètres de livraison du marchand pour gérer les informations sur l'entrepôt de votre compte marchand:
"warehouses": [
{
"name": "warehouse 1",
"shippingAddress": {
"streetAddress": {street_address},
"city": {city},
"administrativeArea": {administrative_area},
"postalCode": {postal_code},
"regionCode": {region_code}
},
"cutoffTime": {
"minutes": {minutes}
},
"handlingDays": {handling_days},
"businessDaysConfig": {
"businessDays": [
"MONDAY", "SUNDAY"
]
}
}
]
Remplacez les éléments suivants :
- {street_address}: partie de l'adresse de l'entrepôt au niveau de la rue.
- {city}: ville, commune ou localité où se trouve l'entrepôt.
- {administrative_area}: subdivision administrative du pays. Par exemple, l'État.
- {postal_code}: code postal.
- {region_code}: code pays sous forme de chaîne.
- {minutes}: partie des minutes de l'heure limite jusqu'à laquelle une commande doit être passée pour être traitée le même jour par l'entrepôt.
- {handling_days}: nombre de jours nécessaires à cet entrepôt pour emballer et expédier un article.
La ressource warehouses
est une liste d'entrepôts. Chaque entrepôt peut être référencé par le délai de livraison basé sur l'entrepôt du service de livraison via warehouse.name
.
Gérer vos entrepôts
Voici comment utiliser Merchant API pour gérer vos entrepôts:
- Effectuez une requête
GET
pour récupérer tous vosshippingsettings
et entrepôts existants. Copiez
shippingsettings
de la requêteGET
vers la requêteUPDATE
.Renseignez les entrepôts si vous souhaitez les utiliser dans la section
warehouses
pour la requêteINSERT
.Envoyez une requête
UPDATE
contenant des ressourcesshippingsettings
etwarehouses
.
Voici un exemple de corps de requête INSERT
avec l'entrepôt de l'entrepôt 1, qui est passé de New York à Mountain View:
{
"services": [
{
"name": "Standard Shipping",
"active": true,
"deliveryCountries": ["US", "UK"],
"currencyCode": "USD",
"deliveryTime": {
"minHandlingDays": 0,
"maxHandlingDays": 1,
"warehouseBasedDeliveryTimes": [
{"carrier": "Fedex"
"carrierService": "ground"
"warehouse": "Warehouse 1"
},
{"carrier": "Fedex"
"carrierService": "2 days"
"warehouse": "Warehouse 2"
}
]
},
"rateGroups": [
{
"singleValue": {
"flatRate": {
"amountMicros": 0,
"currencyCode": "USD"
}
},
"name": "Standard Shipping"
}
],
},
{
"name": "Expedited",
"flatRate": {
"amountMicros": 9990000,
"currencyCode": "USD"
}
},
"name": "Expedited"
}
],
}
],
"warehouses": [
{
"name": "Warehouse1",
"shippingAddress": [
{
"streetAddress": "1111 shoreline street"
"city": "Mountain View",
"administrativeArea": "CA"
}
]
},
{
"name": "Warehouse 2",
"country": "US",
"postalCodeRanges": [
{
"streetAddress": "1111 5th avenue"
"city": "New York",
"administrativeArea": "NY"
}
]
}
]
}
Ajouter la livraison le même jour
Content API for Shopping vous permet de configurer des services de livraison le même jour si vous disposez d'un inventaire en magasin. Pour les services de livraison le même jour, la valeur shipment_type
est définie sur local_delivery
. Actuellement, tous les services de livraison local_delivery
sont considérés comme des livraisons le même jour.
Vous ne pouvez pas modifier les informations delivery_time
des livraisons locales. Utilisez shippingsettings.insert
pour configurer la livraison le même jour pour les produits de votre inventaire en magasin.
Voici un exemple de corps de requête qui ajoute un service de livraison le même jour à tous les magasins de votre compte:
{
"name": "accounts/accountId/shippingSettings",
"services": [
{
"name": "Local Delivery",
"active": true,
"shipmentType": "local_delivery",
"deliveryCountries": "US",
"currencyCode": "USD",
"rateGroups": [
{
"singleValue": {
"flatRate": {
"amountMicros": 0,
"currencyCode": "USD"
}
}
}
],
"storeConfig": {
"storeServiceType": "all stores",
"storeCodes": [],
"cutoffConfig": {
"storeCloseOffsetHours": 2,
"noDeliveryPostCutoff": true
},
"serviceRadius": {
"value": 4,
"unit": "Miles"
}
}
}
]
}
Ajouter la livraison le lendemain
Les commandes passées après l'heure limite pour la livraison le même jour sont programmées pour être livrées le jour suivant par défaut. Pour désactiver la livraison le jour suivant, définissez le champ no_delivery_post_cutoff
sur "true". Si vous désactivez la livraison le jour suivant, vos services de livraison ne sont visibles qu'avant l'heure limite pour commander chaque jour.
La livraison le jour suivant n'est disponible que lorsque shipment_type
est défini sur local_delivery
.
En savoir plus
Pour en savoir plus sur la migration depuis Content API for Shopping, consultez Migrer la gestion des paramètres de livraison.