Skip to content

sapientpro/ebay-account-sdk-php

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Ebay Account API SDK for PHP

The Account API gives sellers the ability to configure their eBay seller accounts, including the seller's policies (eBay business policies and seller-defined custom policies), opt in and out of eBay seller programs, configure sales tax tables, and get account information.

For details on the availability of the methods in this API, see <a href="/api-docs/sell/account/overview.html#requirements">Account API requirements and restrictions.

This PHP package is automatically generated by the Swagger Codegen project:

  • API version: v1.9.0
  • Build package: io.swagger.codegen.v3.generators.php.PhpClientCodegen

Requirements

  • PHP 8.1 or later
  • ext-json and ext-curl extensions enabled

Installation & Usage

Install the package using composer:

composer require sapientpro/ebay-account-sdk-php

Example usage

Please follow the installation procedure and then run the following:

<?php
use SapientPro\EbayAccountSDK\Configuration;
use SapientPro\EbayAccountSDK\Api\CustomPolicyApi;
use SapientPro\EbayAccountSDK\Models\CustomPolicyCreateRequest;
use SapientPro\EbayAccountSDK\Enums\MarketplaceIdEnum;
use SapientPro\EbayAccountSDK\Enums\CustomPolicyTypeEnum;

// Configure OAuth2 access token for authorization: api_auth
$config = Configuration::getDefaultConfiguration()->setAccessToken('YOUR_ACCESS_TOKEN');

$apiInstance = new CustomPolicyApi(
    // If you want use custom http client, pass your client which implements `GuzzleHttp\ClientInterface`.
    // This is optional, `GuzzleHttp\Client` will be used as default.
    ebayClient:  GuzzleHttp\Client(),
    config: $config
);

// you can create and fill a Model class that implements EbayModelInterface using fromArray() method
// exception will be thrown if a property does not exist in the model class
$body = CustomPolicyCreateRequest::fromArray([
'description' => 'description_example',
'name' => 'name_example',
'label' => 'label_example',
'custom_policy_type_enum' => CustomPolicyTypeEnum::PRODUCT_COMPLIANCE,
]);

try {
    $result = $apiInstance->createCustomPolicy($body, MarketplaceIdEnum::EBAY_US);
    print_r($result);
// there is also a custom ApiException for non 2xx responses
} catch (Exception $e) {
    echo 'Exception when calling CustomPolicyApi->createCustomPolicy: ', $e->getMessage(), PHP_EOL;
}

Creating Models

Some SDK methods require $body variable as a parameter. It refers to a Model class that implements EbayModelInterface. There are several ways to create a Model class:

fromArray()

You can create a Model class using fromArray() method. It will throw an exception if a property does not exist in the model class.

If the model has a property of type that implements EbayModelInterface, you must create an instance of that class using fromArray() method. In this example, the property price is of type ConvertedAmount that also implements EbayModelInterface.

Item::fromArray([
    'price' => ConvertedAmount::fromArray([
        'value' => '6.90',
        'currency' => CurrencyCodeEnum::USD
    )]
])

fromPlainArray()

It is also possible to create a Model from plain associative array. The previous example can be rewritten as follows:

Item::fromPlainArray([
    'price' => [
        'value' => '6.90',
        'currency' => CurrencyCodeEnum::USD
    ]
])

fromJson()

It is also possible to create a Model from JSON string.

Item::fromJson('{"price": {"value": "6.90", "currency": "USD"}}')

Documentation for API Endpoints

All URIs are relative to https://api.ebay.com/sell/account/v1

Class Method HTTP request Description
CustomPolicyApi createCustomPolicy POST /custom_policy/
CustomPolicyApi getCustomPolicies GET /custom_policy/
CustomPolicyApi getCustomPolicy GET /custom_policy/{custom_policy_id}
CustomPolicyApi updateCustomPolicy PUT /custom_policy/{custom_policy_id}
FulfillmentPolicyApi createFulfillmentPolicy POST /fulfillment_policy/
FulfillmentPolicyApi deleteFulfillmentPolicy DELETE /fulfillment_policy/{fulfillmentPolicyId}
FulfillmentPolicyApi getFulfillmentPolicies GET /fulfillment_policy
FulfillmentPolicyApi getFulfillmentPolicy GET /fulfillment_policy/{fulfillmentPolicyId}
FulfillmentPolicyApi getFulfillmentPolicyByName GET /fulfillment_policy/get_by_policy_name
FulfillmentPolicyApi updateFulfillmentPolicy PUT /fulfillment_policy/{fulfillmentPolicyId}
KycApi getKYC GET /kyc
OnboardingApi getPaymentsProgramOnboarding GET /payments_program/{marketplace_id}/{payments_program_type}/onboarding
PaymentPolicyApi createPaymentPolicy POST /payment_policy
PaymentPolicyApi deletePaymentPolicy DELETE /payment_policy/{payment_policy_id}
PaymentPolicyApi getPaymentPolicies GET /payment_policy
PaymentPolicyApi getPaymentPolicy GET /payment_policy/{payment_policy_id}
PaymentPolicyApi getPaymentPolicyByName GET /payment_policy/get_by_policy_name
PaymentPolicyApi updatePaymentPolicy PUT /payment_policy/{payment_policy_id}
PaymentsProgramApi getPaymentsProgram GET /payments_program/{marketplace_id}/{payments_program_type}
PrivilegeApi getPrivileges GET /privilege
ProgramApi getOptedInPrograms GET /program/get_opted_in_programs
ProgramApi optInToProgram POST /program/opt_in
ProgramApi optOutOfProgram POST /program/opt_out
RateTableApi getRateTables GET /rate_table
ReturnPolicyApi createReturnPolicy POST /return_policy
ReturnPolicyApi deleteReturnPolicy DELETE /return_policy/{return_policy_id}
ReturnPolicyApi getReturnPolicies GET /return_policy
ReturnPolicyApi getReturnPolicy GET /return_policy/{return_policy_id}
ReturnPolicyApi getReturnPolicyByName GET /return_policy/get_by_policy_name
ReturnPolicyApi updateReturnPolicy PUT /return_policy/{return_policy_id}
SalesTaxApi createOrReplaceSalesTax PUT /sales_tax/{countryCode}/{jurisdictionId}
SalesTaxApi deleteSalesTax DELETE /sales_tax/{countryCode}/{jurisdictionId}
SalesTaxApi getSalesTax GET /sales_tax/{countryCode}/{jurisdictionId}
SalesTaxApi getSalesTaxes GET /sales_tax

Documentation For Models

Documentation For Authorization

api_auth

Author

Swagger Codegen team and SapientPro