Reference documentation and code samples for the Google Shopping Merchant Lfp V1beta Client class LfpInventoryServiceClient.
Service Description: Service for a LFP partner to submit local inventories for a merchant.
This class provides the ability to make remote calls to the backing service through method calls that map to API methods.
Many parameters require resource names to be formatted in a particular way. To assist with these names, this class includes a format method for each type of name, and additionally a parseName method to extract the individual identifiers contained within formatted names that are returned by the API.
Namespace
Google \ Shopping \ Merchant \ Lfp \ V1beta \ ClientMethods
__construct
Constructor.
Parameters | |
---|---|
Name | Description |
options |
array
Optional. Options for configuring the service API wrapper. |
↳ apiEndpoint |
string
The address of the API remote host. May optionally include the port, formatted as "
|
↳ credentials |
string|array|FetchAuthTokenInterface|CredentialsWrapper
The credentials to be used by the client to authorize API calls. This option accepts either a path to a credentials file, or a decoded credentials file as a PHP array. Advanced usage: In addition, this option can also accept a pre-constructed Google\Auth\FetchAuthTokenInterface object or Google\ApiCore\CredentialsWrapper object. Note that when one of these objects are provided, any settings in $credentialsConfig will be ignored. |
↳ credentialsConfig |
array
Options used to configure credentials, including auth token caching, for the client. For a full list of supporting configuration options, see Google\ApiCore\CredentialsWrapper::build() . |
↳ disableRetries |
bool
Determines whether or not retries defined by the client configuration should be disabled. Defaults to |
↳ clientConfig |
string|array
Client method configuration, including retry settings. This option can be either a path to a JSON file, or a PHP array containing the decoded JSON data. By default this settings points to the default client config file, which is provided in the resources folder. |
↳ transport |
string|TransportInterface
The transport used for executing network requests. May be either the string |
↳ transportConfig |
array
Configuration options that will be used to construct the transport. Options for each supported transport type should be passed in a key for that transport. For example: $transportConfig = [ 'grpc' => [...], 'rest' => [...], ]; See the Google\ApiCore\Transport\GrpcTransport::build() and Google\ApiCore\Transport\RestTransport::build() methods for the supported options. |
↳ clientCertSource |
callable
A callable which returns the client cert as a string. This can be used to provide a certificate and private key to the transport layer for mTLS. |
insertLfpInventory
Inserts a LfpInventory
resource for the given target merchant account. If
the resource already exists, it will be replaced. The inventory
automatically expires after 30 days.
The async variant is LfpInventoryServiceClient::insertLfpInventoryAsync() .
Parameters | |
---|---|
Name | Description |
request |
Google\Shopping\Merchant\Lfp\V1beta\InsertLfpInventoryRequest
A request to house fields associated with the call. |
callOptions |
array
Optional. |
↳ retrySettings |
RetrySettings|array
Retry settings to use for this call. Can be a Google\ApiCore\RetrySettings object, or an associative array of retry settings parameters. See the documentation on Google\ApiCore\RetrySettings for example usage. |
Returns | |
---|---|
Type | Description |
Google\Shopping\Merchant\Lfp\V1beta\LfpInventory |
use Google\ApiCore\ApiException;
use Google\Shopping\Merchant\Lfp\V1beta\Client\LfpInventoryServiceClient;
use Google\Shopping\Merchant\Lfp\V1beta\InsertLfpInventoryRequest;
use Google\Shopping\Merchant\Lfp\V1beta\LfpInventory;
/**
* @param string $formattedParent The LFP provider account.
* Format: `accounts/{account}`
* Please see {@see LfpInventoryServiceClient::accountName()} for help formatting this field.
* @param int $lfpInventoryTargetAccount The Merchant Center ID of the merchant to submit the inventory
* for.
* @param string $lfpInventoryStoreCode The identifier of the merchant's store. Either the store code
* inserted through `InsertLfpStore` or the store code in the Business
* Profile.
* @param string $lfpInventoryOfferId Immutable. A unique identifier for the product. If both
* inventories and sales are submitted for a merchant, this id should match
* for the same product.
*
* **Note**: if the merchant sells the same product new and used, they should
* have different IDs.
* @param string $lfpInventoryRegionCode The [CLDR territory
* code](https://github.com/unicode-org/cldr/blob/latest/common/main/en.xml)
* for the country where the product is sold.
* @param string $lfpInventoryContentLanguage The two-letter ISO 639-1 language code for the item.
* @param string $lfpInventoryAvailability Availability of the product at this store.
* For accepted attribute values, see the [local product inventory data
* specification](https://support.google.com/merchants/answer/3061342)
*/
function insert_lfp_inventory_sample(
string $formattedParent,
int $lfpInventoryTargetAccount,
string $lfpInventoryStoreCode,
string $lfpInventoryOfferId,
string $lfpInventoryRegionCode,
string $lfpInventoryContentLanguage,
string $lfpInventoryAvailability
): void {
// Create a client.
$lfpInventoryServiceClient = new LfpInventoryServiceClient();
// Prepare the request message.
$lfpInventory = (new LfpInventory())
->setTargetAccount($lfpInventoryTargetAccount)
->setStoreCode($lfpInventoryStoreCode)
->setOfferId($lfpInventoryOfferId)
->setRegionCode($lfpInventoryRegionCode)
->setContentLanguage($lfpInventoryContentLanguage)
->setAvailability($lfpInventoryAvailability);
$request = (new InsertLfpInventoryRequest())
->setParent($formattedParent)
->setLfpInventory($lfpInventory);
// Call the API and handle any network failures.
try {
/** @var LfpInventory $response */
$response = $lfpInventoryServiceClient->insertLfpInventory($request);
printf('Response data: %s' . PHP_EOL, $response->serializeToJsonString());
} catch (ApiException $ex) {
printf('Call failed with message: %s' . PHP_EOL, $ex->getMessage());
}
}
/**
* Helper to execute the sample.
*
* This sample has been automatically generated and should be regarded as a code
* template only. It will require modifications to work:
* - It may require correct/in-range values for request initialization.
* - It may require specifying regional endpoints when creating the service client,
* please see the apiEndpoint client configuration option for more details.
*/
function callSample(): void
{
$formattedParent = LfpInventoryServiceClient::accountName('[ACCOUNT]');
$lfpInventoryTargetAccount = 0;
$lfpInventoryStoreCode = '[STORE_CODE]';
$lfpInventoryOfferId = '[OFFER_ID]';
$lfpInventoryRegionCode = '[REGION_CODE]';
$lfpInventoryContentLanguage = '[CONTENT_LANGUAGE]';
$lfpInventoryAvailability = '[AVAILABILITY]';
insert_lfp_inventory_sample(
$formattedParent,
$lfpInventoryTargetAccount,
$lfpInventoryStoreCode,
$lfpInventoryOfferId,
$lfpInventoryRegionCode,
$lfpInventoryContentLanguage,
$lfpInventoryAvailability
);
}
insertLfpInventoryAsync
Parameters | |
---|---|
Name | Description |
request |
Google\Shopping\Merchant\Lfp\V1beta\InsertLfpInventoryRequest
|
optionalArgs |
array
|
Returns | |
---|---|
Type | Description |
GuzzleHttp\Promise\PromiseInterface<Google\Shopping\Merchant\Lfp\V1beta\LfpInventory> |
static::accountName
Formats a string containing the fully-qualified path to represent a account resource.
Parameter | |
---|---|
Name | Description |
account |
string
|
Returns | |
---|---|
Type | Description |
string |
The formatted account resource. |
static::lfpInventoryName
Formats a string containing the fully-qualified path to represent a lfp_inventory resource.
Parameters | |
---|---|
Name | Description |
account |
string
|
targetMerchant |
string
|
storeCode |
string
|
offer |
string
|
Returns | |
---|---|
Type | Description |
string |
The formatted lfp_inventory resource. |
static::parseName
Parses a formatted name string and returns an associative array of the components in the name.
The following name formats are supported: Template: Pattern
- account: accounts/{account}
- lfpInventory: accounts/{account}/lfpInventories/{target_merchant}~{store_code}~{offer}
The optional $template argument can be supplied to specify a particular pattern, and must match one of the templates listed above. If no $template argument is provided, or if the $template argument does not match one of the templates listed, then parseName will check each of the supported templates, and return the first match.
Parameters | |
---|---|
Name | Description |
formattedName |
string
The formatted name string |
template |
string
Optional name of template to match |
Returns | |
---|---|
Type | Description |
array |
An associative array from name component IDs to component values. |