La risorsa
ShippingSettings
consente di recuperare e aggiornare le impostazioni di spedizione del tuo account.
Google può aggiornare automaticamente il tempo di consegna stimato per alcuni prodotti. Per saperne di più, consulta Attivare i miglioramenti automatici.
Leggere, scrivere o aggiornare le impostazioni di spedizione
Per utilizzare il servizio di spedizione dell'API Merchant:
- Invia una richiesta
GETper recuperare le impostazioni di spedizione complete del tuo account. - Modifica le impostazioni di spedizione.
- Invia una richiesta
INSERTcon le impostazioni di spedizione modificate.
ETag
L'Etag è un token codificato per evitare aggiornamenti asincroni. L'etag cambia quando
vengono modificati i dati delle impostazioni di spedizione. Gli utenti devono copiare l'etag ottenuto dalla richiesta GET nel corpo della richiesta INSERT.
Se i dati delle impostazioni di spedizione cambiano tra la richiesta GET e la richiesta INSERT, ricevi un messaggio di errore che richiede un'altra richiesta GET per
recuperare il token ETag più recente. Devi chiamare la richiesta GET per recuperare il nuovo token etag e copiarlo nel corpo della richiesta INSERT.
Aggiungere le impostazioni di spedizione
Utilizza shippingsettings.insert per aggiungere o aggiornare le impostazioni di spedizione per il tuo account. Ecco una richiesta di esempio che aggiorna maxTransitDays a 7 per un
servizio di spedizione chiamato GSA Shipping - Free Ship Over $49.99, nell'account
10.
POST https://merchantapi.googleapis.com/accounts/v1/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"
}
]
}
]
}
Ecco un esempio che puoi utilizzare per inserire un'impostazione di spedizione:
Python
from examples.authentication import configuration
from examples.authentication import generate_user_credentials
from google.shopping.merchant_accounts_v1 import GetShippingSettingsRequest
from google.shopping.merchant_accounts_v1 import ShippingSettingsServiceClient
_ACCOUNT = configuration.Configuration().read_merchant_info()
_PARENT = f"accounts/{_ACCOUNT}"
def get_shipping_settings():
"""Gets the ShippingSettings for a given Merchant Center account."""
# Gets OAuth Credentials.
credentials = generate_user_credentials.main()
# Creates a client.
client = ShippingSettingsServiceClient(credentials=credentials)
# Creates the Shipping Settings name
name = _PARENT + "/shippingSettings"
# Creates the request.
request = GetShippingSettingsRequest(name=name)
# Makes the request and prints the retrieved ShippingSettings.
try:
response = client.get_shipping_settings(request=request)
print("Retrieved ShippingSettings below")
print(response)
except RuntimeError as e:
print(e)
if __name__ == "__main__":
get_shipping_settings()
Impostare i magazzini
Il seguente esempio JSON mostra come utilizzare il servizio Impostazioni di spedizione di Merchant per gestire le informazioni sul magazzino per il tuo account Merchant Center:
"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"
]
}
}
]
Sostituisci quanto segue:
- {street_address}: la parte dell'indirizzo del magazzino a livello stradale.
- {city}: Città, paese o comune in cui si trova il magazzino.
- {administrative_area}: la suddivisione amministrativa del paese. Ad esempio, uno stato.
- {postal_code}: il codice postale.
- {region_code}: il codice paese in formato stringa.
- {minutes}: la parte dei minuti dell'orario limite entro il quale deve essere effettuato un ordine per essere elaborato nello stesso giorno dal magazzino.
- {handling_days}: il numero di giorni necessari a questo magazzino per imballare e spedire un articolo.
La risorsa warehouses è un elenco di magazzini. A ogni magazzino può essere
fatto riferimento tramite i tempi di consegna basati sul magazzino del servizio di spedizione tramite
warehouse.name.
Gestire i magazzini
Ecco come utilizzare l'API Merchant per gestire i tuoi magazzini:
- Invia una richiesta
GETper recuperare tutti i tuoishippingsettingse magazzini esistenti. Copia
shippingsettingsdalla richiestaGETalla richiestaUPDATE.Compila i magazzini se vuoi utilizzarli nella sezione
warehousesper la richiestaINSERT.Invia una richiesta
UPDATEche contenga le risorseshippingsettingsewarehouses.
Ecco un esempio di corpo della richiesta INSERT con il warehouse Warehouse 1 aggiornato
da New York a 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"
}
]
}
]
}
Aggiungere la consegna in giornata
Se hai un inventario locale, puoi utilizzare l'API Content for Shopping per configurare i servizi di spedizione con consegna in giornata. I servizi di spedizione con consegna in giornata hanno
local_delivery come shipment_type. Al momento, tutti i servizi di spedizione local_delivery sono considerati consegne in giornata.
Non puoi modificare le informazioni delivery_time per le consegne locali. Utilizza
shippingsettings.insert per configurare la consegna in giornata per i tuoi prodotti
con inventario locale.
Ecco un corpo della richiesta di esempio che aggiunge un servizio di consegna in giornata a tutti i negozi per il tuo account:
{
"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"
}
}
}
]
}
Aggiungi la consegna il giorno successivo
Gli ordini effettuati dopo l'orario limite per la consegna in giornata vengono programmati per la consegna il giorno successivo per impostazione predefinita. Per disattivare la consegna il giorno successivo, imposta il
campo no_delivery_post_cutoff su true. Se disattivi la consegna il giorno successivo, i tuoi
servizi di spedizione sono visibili solo prima dell'orario limite di ogni giorno.
La consegna il giorno successivo è disponibile solo quando shipment_type è
local_delivery.
Scopri di più
Per scoprire di più sulla migrazione dall'API Content for Shopping, consulta la pagina Migrazione della gestione delle impostazioni di spedizione.