ایجاد یک خط مشی بازگشت آنلاین، ایجاد یک خط مشی بازگشت آنلاین، ایجاد یک خط مشی بازگشت آنلاین، ایجاد یک خط مشی بازگشت آنلاین

نمونه کد API Merchant برای ایجاد خط مشی بازگشت آنلاین.

جاوا

// Copyright 2025 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//     https://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

package shopping.merchant.samples.accounts.onlinereturnpolicy.v1;

import com.google.api.gax.core.FixedCredentialsProvider;
import com.google.auth.oauth2.GoogleCredentials;
import com.google.shopping.merchant.accounts.v1.CreateOnlineReturnPolicyRequest;
import com.google.shopping.merchant.accounts.v1.OnlineReturnPolicy;
import com.google.shopping.merchant.accounts.v1.OnlineReturnPolicy.ItemCondition;
import com.google.shopping.merchant.accounts.v1.OnlineReturnPolicy.Policy;
import com.google.shopping.merchant.accounts.v1.OnlineReturnPolicy.Policy.Type;
import com.google.shopping.merchant.accounts.v1.OnlineReturnPolicy.ReturnMethod;
import com.google.shopping.merchant.accounts.v1.OnlineReturnPolicyServiceClient;
import com.google.shopping.merchant.accounts.v1.OnlineReturnPolicyServiceSettings;
import shopping.merchant.samples.utils.Authenticator;
import shopping.merchant.samples.utils.Config;

/**
 * This class demonstrates how to create an OnlineReturnPolicy for a given Merchant Center account.
 */
public class CreateOnlineReturnPolicySample {

  public static void createOnlineReturnPolicy(Config config) throws Exception {

    // Obtains OAuth token based on the user's configuration.
    GoogleCredentials credential = new Authenticator().authenticate();

    // Creates service settings using the credentials retrieved above.
    OnlineReturnPolicyServiceSettings onlineReturnPolicyServiceSettings =
        OnlineReturnPolicyServiceSettings.newBuilder()
            .setCredentialsProvider(FixedCredentialsProvider.create(credential))
            .build();

    // Creates parent to identify where to create the online return policy.
    String parent = "accounts/" + config.getAccountId().toString();

    // Calls the API and catches and prints any network failures/errors.
    try (OnlineReturnPolicyServiceClient onlineReturnPolicyServiceClient =
        OnlineReturnPolicyServiceClient.create(onlineReturnPolicyServiceSettings)) {

      // The name has the format: accounts/{account}/onlineReturnPolicies/{return_policy}
      CreateOnlineReturnPolicyRequest request =
          CreateOnlineReturnPolicyRequest.newBuilder()
              .setParent(parent)
              .setOnlineReturnPolicy(
                  OnlineReturnPolicy.newBuilder()
                      .setLabel("US Return Policy")
                      .setReturnPolicyUri("https://www.google.com/returnpolicy-sample")
                      .addCountries("US")
                      .setPolicy(Policy.newBuilder().setType(Type.LIFETIME_RETURNS).build())
                      .addItemConditions(ItemCondition.NEW)
                      .addReturnMethods(ReturnMethod.IN_STORE)
                      .setProcessRefundDays(10)
                      .build())
              .build();

      System.out.println("Sending create OnlineReturnPolicy request:");
      OnlineReturnPolicy response =
          onlineReturnPolicyServiceClient.createOnlineReturnPolicy(request);

      System.out.println("Retrieved OnlineReturnPolicy below");
      System.out.println(response);
    } catch (Exception e) {
      System.out.println(e);
    }
  }

  public static void main(String[] args) throws Exception {
    Config config = Config.load();

    createOnlineReturnPolicy(config);
  }
}

PHP

<?php
/**
 * Copyright 2025 Google LLC
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     https://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

require_once __DIR__ . '/../../../../vendor/autoload.php';
require_once __DIR__ . '/../../../Authentication/Authentication.php';
require_once __DIR__ . '/../../../Authentication/Config.php';

use Google\ApiCore\ApiException;
use Google\Shopping\Merchant\Accounts\V1\Client\OnlineReturnPolicyServiceClient;
use Google\Shopping\Merchant\Accounts\V1\CreateOnlineReturnPolicyRequest;
use Google\Shopping\Merchant\Accounts\V1\OnlineReturnPolicy;
use Google\Shopping\Merchant\Accounts\V1\OnlineReturnPolicy\ItemCondition;
use Google\Shopping\Merchant\Accounts\V1\OnlineReturnPolicy\Policy;
use Google\Shopping\Merchant\Accounts\V1\OnlineReturnPolicy\Policy\Type;
use Google\Shopping\Merchant\Accounts\V1\OnlineReturnPolicy\ReturnMethod;

/**
 * This class demonstrates how to create an OnlineReturnPolicy for a given
 * Merchant Center account.
 */
class CreateOnlineReturnPolicySample
{
    /**
     * A helper function to create the parent string.
     *
     * @param string $accountId The merchant account ID.
     *
     * @return string The parent has the format: `accounts/{account}`
     */
    private static function getParent(string $accountId): string
    {
        return sprintf('accounts/%s', $accountId);
    }

    /**
     * Creates an online return policy for your Merchant Center account.
     *
     * @param array $config The configuration data for authentication and account ID.
     */
    public static function createOnlineReturnPolicy(array $config): void
    {
        // Gets the OAuth credentials to make the request.
        $credentials = Authentication::useServiceAccountOrTokenFile();

        // Creates options containing credentials for the client to use.
        $options = ['credentials' => $credentials];

        // Creates a client.
        $onlineReturnPolicyServiceClient =
            new OnlineReturnPolicyServiceClient($options);

        // Creates the parent account resource name.
        $parent = self::getParent($config['accountId']);

        // Calls the API and catches and prints any network failures/errors.
        try {
            // Defines the policy details, such as the return window.
            $policy = new Policy(['type' => Type::LIFETIME_RETURNS]);

            // Constructs the full OnlineReturnPolicy object.
            $onlineReturnPolicy = new OnlineReturnPolicy([
                'label' => 'US Return Policy',
                'return_policy_uri' =>
                    'https://www.google.com/returnpolicy-sample',
                'countries' => ['US'],
                'policy' => $policy,
                'item_conditions' => [ItemCondition::PBNEW],
                'return_methods' => [ReturnMethod::IN_STORE],
                'process_refund_days' => 10,
            ]);

            // Creates the request object.
            $request = new CreateOnlineReturnPolicyRequest([
                'parent' => $parent,
                'online_return_policy' => $onlineReturnPolicy,
            ]);

            printf("Sending create OnlineReturnPolicy request:%s", PHP_EOL);
            $response = $onlineReturnPolicyServiceClient->createOnlineReturnPolicy(
                $request
            );

            printf("Retrieved OnlineReturnPolicy below%s", PHP_EOL);
            // The `serializeToJsonString()` method is chosen here for better
            // readability of the output.
            printf('%s%s', $response->serializeToJsonString(true), PHP_EOL);
        } catch (ApiException $e) {
            printf('%s%s', $e->getMessage(), PHP_EOL);
        }
    }

    /**
     * Helper to execute the sample.
     */
    public function callSample(): void
    {
        $config = Config::generateConfig();
        self::createOnlineReturnPolicy($config);
    }
}

// Runs the script.
$sample = new CreateOnlineReturnPolicySample();
$sample->callSample();

پایتون

# -*- coding: utf-8 -*-
# Copyright 2025 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

"""This is a sample for creating an online return policy."""


from examples.authentication import configuration
from examples.authentication import generate_user_credentials
from google.shopping.merchant_accounts_v1 import CreateOnlineReturnPolicyRequest
from google.shopping.merchant_accounts_v1 import OnlineReturnPolicy
from google.shopping.merchant_accounts_v1 import OnlineReturnPolicyServiceClient


_ACCOUNT = configuration.Configuration().read_merchant_info()
_PARENT = f"accounts/{_ACCOUNT}"


def create_online_return_policy() -> None:
  """Creates an online return policy."""

  # Gets OAuth Credentials.
  credentials = generate_user_credentials.main()

  # Creates a client.
  client = OnlineReturnPolicyServiceClient(credentials=credentials)

  # Creates an OnlineReturnPolicy and populates its attributes.
  online_return_policy = OnlineReturnPolicy()
  online_return_policy.label = "US Return Policy"
  online_return_policy.return_policy_uri = (
      "https://www.google.com/returnpolicy-sample"
  )
  online_return_policy.countries.append("US")
  online_return_policy.policy.type_ = (
      OnlineReturnPolicy.Policy.Type.LIFETIME_RETURNS
  )
  online_return_policy.item_conditions.append(
      OnlineReturnPolicy.ItemCondition.NEW
  )
  online_return_policy.return_methods.append(
      OnlineReturnPolicy.ReturnMethod.IN_STORE
  )
  online_return_policy.process_refund_days = 10

  # Creates the request.
  request = CreateOnlineReturnPolicyRequest(
      parent=_PARENT, online_return_policy=online_return_policy
  )

  # Makes the request and catches and prints any error messages.
  try:
    print("Sending create OnlineReturnPolicy request:")
    response = client.create_online_return_policy(request=request)
    print("Retrieved OnlineReturnPolicy below")
    print(response)
  except RuntimeError as e:
    print(e)


if __name__ == "__main__":
  create_online_return_policy()