Repository navigation
Merchant API: CarrierService is never accepted #2675
Copy link
Copy link
Open
Description
Environment details
- OS: macOS Sequoia
- PHP version: 8.3
- Package name and version: "google/apiclient": "^2.15",
Objective
- Target is to sync shipping rates together with "warehouseBasedDeliveryTimes" to the Merchant Center.
$shoppingContentService = new ShoppingContent($client);
$shoppingContentService->shippingsettings->update(
merchantId: $merchantId,
accountId: $merchantId,
postBody: $payload
);Example Payload
{
"accountId": null,
"services": [
{
"active": true,
"currency": "EUR",
"deliveryCountry": "DE",
"eligibility": null,
"name": "Express Shipping DE",
"shipmentType": null,
"rateGroups": [
{
"applicableShippingLabels": null,
"name": null,
"mainTable": {
"name": null,
"rowHeaders": {
"numberOfItems": null,
"postalCodeGroupNames": null,
"weights": [
{ "unit": "kg", "value": "1" },
{ "unit": "kg", "value": "infinity" }
]
},
"rows": [
{
"cells": [
{
"flatRate": {
"currency": "EUR",
"value": "12.4"
}
}
]
},
{
"cells": [
{
"flatRate": {
"currency": "EUR",
"value": "12.4"
}
}
]
}
]
}
}
],
"deliveryTime": {
"maxHandlingTimeInDays": null,
"maxTransitTimeInDays": null,
"minHandlingTimeInDays": null,
"minTransitTimeInDays": null,
"warehouseBasedDeliveryTimes": [
{
"carrier": "DHL",
"carrierService": "ExpressEasy",
"originAdministrativeArea": "Berlin",
"originCity": "Berlin",
"originCountry": "DE",
"originPostalCode": "12345",
"originStreetAddress": "Street 1",
"warehouseName": "Warehouse 1"
}
]
}
}
]
}Issue
No matter what you insert as deliveryTime.warehouseBasedDeliveryTimes.carrierService, it will always be rejected. Setting the value via Merchant Center UI works.
❌ An error occurred:
Message: {
"error": {
"code": 400,
"message": "[services[0].deliveryTime.warehouseBasedDeliveryTimes[0].carrierService] Unknown carrier service: ExpressEasy for carrier: DHL",
"errors": [
{
"message": "[services[0].deliveryTime.warehouseBasedDeliveryTimes[0].carrierService] Unknown carrier service: ExpressEasy for carrier: DHL",
"domain": "global",
"reason": "invalid"
}
]
}
}
File: /app/vendor/google/apiclient/src/Http/REST.php on line 134How to find valid options?
$shoppingContentService = new ShoppingContent($client);
$response = $shoppingContentService->shippingsettings->getsupportedcarriers($merchantId);
$carriers = $response->getCarriers();Output:
...
{
"country": "DE",
"eddServices": [
"Paket Domestic",
"P\u00e4ckchen Domestic",
"ExpressEasy",
"Express 9am",
"Express Domestic",
"Express Envelope",
"Express 12pm"
],
"name": "DHL",
"services": [
"Paket",
"P\u00e4ckchen"
]
}
...Metadata
Metadata
Assignees
Labels
No labels
Activity
bshaffer commentedon Mar 18, 2026
Please try your request using the APIs explorer, and if you don't see the issue there as well, then the problem is in the client libraries. However, as these client libraries are generated from the API, the issue is probably in the way the request is being formed. This repository is only to support the client libraries themselves, not the APIs or their usage.