ภาพรวมของการตั้งค่าการจัดส่ง

ทรัพยากร shippingsettings ช่วยให้คุณเรียกข้อมูลและอัปเดตการตั้งค่าการจัดส่งของบัญชีได้

Google จะอัปเดตเวลานำส่งโดยประมาณสำหรับผลิตภัณฑ์บางรายการได้โดยอัตโนมัติ ดูข้อมูลเพิ่มเติมได้ที่เปิดใช้การปรับปรุงอัตโนมัติ

อ่าน เขียน หรืออัปเดตการตั้งค่าการจัดส่ง

หากต้องการใช้บริการจัดส่ง Merchant API ให้ทำตามขั้นตอนต่อไปนี้

  1. ส่งคำขอ GET เพื่อเรียกข้อมูลการตั้งค่าการจัดส่งทั้งหมดของบัญชี
  2. แก้ไขการตั้งค่าการจัดส่ง
  3. ส่งคำขอINSERTที่มีการแก้ไขการตั้งค่าการจัดส่ง

ETag

Etag คือโทเค็นที่เข้ารหัสเพื่อหลีกเลี่ยงการอัปเดตแบบไม่พร้อมกัน อีแท็กจะเปลี่ยนแปลงไป เมื่อข้อมูลการตั้งค่าการจัดส่งมีการเปลี่ยนแปลง ผู้ใช้ต้องคัดลอกแท็กที่ได้รับจากคำขอ GET ไปยังเนื้อหาคำขอ INSERT

หากข้อมูลการตั้งค่าการจัดส่งมีการเปลี่ยนแปลงระหว่างคำขอ GET และคำขอ INSERT คุณจะได้รับข้อความแสดงข้อผิดพลาดที่ขอคำขอ GET อีกรายการหนึ่งเพื่อเรียกโทเค็น eTag ล่าสุด คุณต้องเรียกใช้คำขอ GET เพื่อเรียกโทเค็น eTag ใหม่และคัดลอกโทเค็น eTag ใหม่ไปยังเนื้อหาคำขอ INSERT

เพิ่มการตั้งค่าการจัดส่ง

ใช้ shippingsettings.insert เพื่อเพิ่มหรืออัปเดตการตั้งค่าการจัดส่งสำหรับบัญชี นี่คือตัวอย่างคำขอที่อัปเดต maxTransitDays เป็น 7 สำหรับบริการจัดส่งที่เรียกว่า การจัดส่งของ GA - จัดส่งฟรีเมื่อซื้อครบ $49.99 ภายใต้บัญชี 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"
        }
      ]
    }
  ]
}

ตั้งค่าคลังสินค้า

ตัวอย่าง JSON ต่อไปนี้แสดงวิธีใช้บริการการตั้งค่าการจัดส่งของผู้ขายเพื่อจัดการข้อมูลคลังสินค้าสำหรับบัญชีผู้ขาย

"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"
      ]
    }
  }
]

แทนที่รายการต่อไปนี้

  • {street_address}: ส่วนระดับถนนของที่อยู่คลังสินค้า
  • {city}: เมืองหรือชุมชนที่คลังสินค้าตั้งอยู่
  • {administrative_area}: หน่วยงานย่อยด้านการดูแลระบบของประเทศ เช่น รัฐ
  • {postal_code}: รหัสไปรษณีย์
  • {region_code}: รหัสประเทศในสตริง
  • {minutes}: นาทีที่เป็นส่วนหนึ่งของเวลาปิดรับคำสั่งซื้อจนกว่าคลังสินค้าจะต้องประมวลผลคำสั่งซื้อในวันเดียวกัน
  • {handling_days}: ระยะเวลาที่คลังสินค้าใช้ในการบรรจุและจัดส่งสินค้า

ทรัพยากร warehouses คือรายการคลังข้อมูล คลังสินค้าแต่ละแห่งจะอ้างอิงโดยใช้เวลานำส่งตามคลังสินค้าของบริการจัดส่งจนถึงวันที่ warehouse.name

จัดการคลังสินค้า

วิธีใช้ Merchant API เพื่อจัดการคลังสินค้ามีดังนี้

  1. สร้างคำขอ GET เพื่อเรียกข้อมูล shippingsettings และคลังสินค้าที่มีอยู่ทั้งหมด
  2. คัดลอก shippingsettings จากคำขอ GET ไปยังคำขอ UPDATE

  3. ป้อนข้อมูลคลังสินค้าหากต้องการใช้ในส่วน warehouses สำหรับคำขอ INSERT

  4. สร้างคำขอ UPDATE ที่มีทรัพยากร shippingsettings และ warehouses

ต่อไปนี้คือตัวอย่างเนื้อหาคำขอ INSERT ที่มีคลังสินค้าสำหรับ Warehouse 1 ที่อัปเดตจากนิวยอร์กเป็นเมาน์เทนวิว

{
  "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"
        }
      ]
    }
  ]
}

เพิ่มการนำส่งวันเดียวกัน

คุณใช้ Content API for Shopping เพื่อกำหนดค่าบริการจัดส่งวันเดียวกันหากมีสินค้าคงคลังในร้านได้ บริการจัดส่งวันเดียวกันมี local_delivery เท่ากับshipment_type ในตอนนี้ บริการจัดส่งของ local_delivery ทั้งหมดถือเป็นการนำส่งวันเดียวกัน

คุณเปลี่ยนข้อมูล delivery_time สำหรับการจัดส่งในพื้นที่ไม่ได้ ใช้ shippingsettings.insert เพื่อตั้งค่าการนำส่งวันเดียวกันสำหรับผลิตภัณฑ์สินค้าคงคลังในร้าน

ต่อไปนี้คือเนื้อหาคำขอตัวอย่างที่เพิ่มบริการนำส่งวันเดียวกันให้กับร้านค้าทั้งหมดในบัญชีของคุณ

{
  "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"
        }
      }
    }
  ]
}

เพิ่มการนำส่งในวันถัดไป

โดยค่าเริ่มต้น คำสั่งซื้อที่สั่งซื้อหลังจากเวลาสุดท้ายที่รับการนำส่งวันเดียวกันจะกำหนดเวลานำส่งวันถัดไป หากต้องการปิดการนำส่งในวันถัดไป ให้ตั้งค่าช่อง no_delivery_post_cutoff เป็น "จริง" หากคุณปิดการนำส่งในวันถัดไป บริการจัดส่งของคุณจะแสดงก่อนเวลาปิดรับคำสั่งซื้อในแต่ละวันเท่านั้น

บริการจัดส่งในวันถัดไปจะพร้อมให้บริการเมื่อวันshipment_type คือ local_delivery เท่านั้น