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 section Activer les améliorations automatiques.

Lire, modifier ou modifier les paramètres de livraison

Pour utiliser le service de livraison de l'API Merchant Center, procédez comme suit:

  1. Envoyez une requête GET pour récupérer tous les paramètres de livraison de votre compte.
  2. Modifiez les paramètres de livraison.
  3. Envoyez une requête INSERT avec les paramètres de livraison modifiés.

ETag

Etag est un jeton encodé pour éviter les mises à jour asynchrones. L'ETag 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, vous recevez un message d'erreur demandant 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 le paramètre maxTransitDays avec la valeur 7 pour un service de livraison appelé Livraison GSA - Livraison gratuite à partir de 49,99 $, pour 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 des paramètres de livraison du marchand pour gérer les informations de 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 au niveau de la rue de l'adresse de l'entrepôt.
  • {city}: ville ou commune où se trouve l'entrepôt.
  • {administrative_area}: subdivision administrative du pays. Par exemple, l'État.
  • {postal_code}: code postal.
  • {region_code}: code pays dans la chaîne.
  • {minutes}: 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 désigné par le délai de livraison du service de livraison basé sur l'entrepôt jusqu'au warehouse.name.

Gérez vos entrepôts

Voici comment utiliser l'API Merchant Center 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 l'élément shippingsettings de la requête GET dans la requête UPDATE.

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

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

Voici un exemple de corps de requête INSERT avec un entrepôt pour l'entrepôt 1 mis à jour 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, l'attribut shipment_type est défini sur local_delivery. Pour le moment, 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 pour les 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 jour suivant

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.