Présentation des paramètres de livraison

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:

  1. Envoyez une requête GET pour récupérer les paramètres de livraison complets de votre compte.
  2. modifier les paramètres de livraison ;
  3. 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:

  1. Effectuez une requête GET pour récupérer tous vos shippingsettings et entrepôts existants.
  2. Copiez shippingsettings de la requête GET vers la requête UPDATE.

  3. Renseignez les entrepôts si vous souhaitez les utiliser dans la section warehouses pour la requête INSERT.

  4. Envoyez une requête UPDATE contenant des ressources shippingsettings et warehouses.

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.