La risorsa
ShippingSettings
ti 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 a
GET
per recuperare le impostazioni di spedizione complete del tuo account. - Modifica le impostazioni di spedizione.
- Invia una richiesta
INSERT
con le impostazioni di spedizione modificate.
ETag
L'Etag è un token codificato per evitare aggiornamenti asincroni. L'etag cambia quando viene modificato uno dei 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
, viene visualizzato 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
.
Aggiungi 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
su 7 per un servizio di spedizione denominato 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 di impostazioni di spedizione per i commercianti 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}: 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 stringa.
- {minutes}: parte in minuti dell'orario limite entro il quale deve essere effettuato un ordine affinché venga elaborato lo stesso giorno dal magazzino.
- {handling_days}: il numero di giorni necessari per imballare e spedire un articolo in questo magazzino.
La risorsa warehouses
è un elenco di magazzini. Ogni magazzino può essere indicato tramite il tempo di consegna basato sul magazzino del servizio di spedizione tramite warehouse.name
.
Gestire i magazzini
Ecco come utilizzare l'API Merchant per gestire i magazzini:
- Invia una richiesta
GET
per recuperare tutti i tuoishippingsettings
e i magazzini esistenti. Copia
shippingsettings
dalla richiestaGET
alla richiestaUPDATE
.Compila i magazzini se vuoi utilizzarli nella sezione
warehouses
per la richiestaINSERT
.Fai una richiesta
UPDATE
contenente risorseshippingsettings
ewarehouses
.
Ecco un corpo della richiesta INSERT
di esempio con il magazzino per Magazzino 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"
}
]
}
]
}
Aggiungi 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 in giornata hanno come shipment_type
local_delivery
. Al momento, tutti i local_delivery
servizi di spedizione
vengono 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 prodotti del tuo
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
Per impostazione predefinita, gli ordini effettuati dopo l'orario limite per la consegna in giornata vengono programmati per la consegna il giorno successivo. Per disattivare la consegna il giorno successivo, imposta il campo no_delivery_post_cutoff
su true. Se disattivi la consegna il giorno successivo, i servizi di spedizione sono visibili solo prima dell'orario limite di ogni giorno.
La consegna il giorno successivo è disponibile solo se shipment_type
è
local_delivery
.
Scopri di più
Per scoprire di più sulla migrazione dall'API Content for Shopping, consulta Eseguire la migrazione della gestione delle impostazioni di spedizione.