amorvan/ebay-inventory-sdk-php

PHP SDK for Ebay Inventory API

v1.0.0 2024-03-10 21:23 UTC

This package is auto-updated.

Last update: 2024-04-10 21:43:28 UTC


README

The Inventory API is used to create and manage inventory, and then to publish and manage this inventory on an eBay marketplace. There are also methods in this API that will convert eligible, active eBay listings into the Inventory API model.

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

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

Requirements

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

Installation & Usage

Install the package using composer:

composer require sapientpro/ebay-account-sdk-php

Getting Started

Please follow the installation procedure and then run the following:

<?php
use SapientPro\EbayInventorySDK\Configuration;
use SapientPro\EbayInventorySDK\Api\InventoryItemApi;
use SapientPro\EbayInventorySDK\Models\BulkInventoryItem;

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

$apiInstance = new InventoryItemApi(
    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 = BulkInventoryItem::fromArray([]);

try {
    $result = $apiInstance->bulkCreateOrReplaceInventoryItem($body);
    print_r($result);
} catch (Exception $e) {
    echo 'Exception when calling InventoryItemApi->bulkCreateOrReplaceInventoryItem: ', $e->getMessage(), PHP_EOL;
}

Note: Some methods require $contentLanguage argument. It's value should be of string type and correspond to the LocaleEnum cases, but should be in kebab case: LocaleEnum::en_US -> 'en-US'

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/inventory/v1

Class Method HTTP request Description
InventoryItemApi bulkCreateOrReplaceInventoryItem POST /bulk_create_or_replace_inventory_item
InventoryItemApi bulkGetInventoryItem POST /bulk_get_inventory_item
InventoryItemApi bulkUpdatePriceQuantity POST /bulk_update_price_quantity
InventoryItemApi createOrReplaceInventoryItem PUT /inventory_item/{sku}
InventoryItemApi deleteInventoryItem DELETE /inventory_item/{sku}
InventoryItemApi getInventoryItem GET /inventory_item/{sku}
InventoryItemApi getInventoryItems GET /inventory_item
InventoryItemGroupApi createOrReplaceInventoryItemGroup PUT /inventory_item_group/{inventoryItemGroupKey}
InventoryItemGroupApi deleteInventoryItemGroup DELETE /inventory_item_group/{inventoryItemGroupKey}
InventoryItemGroupApi getInventoryItemGroup GET /inventory_item_group/{inventoryItemGroupKey}
ListingApi bulkMigrateListing POST /bulk_migrate_listing
LocationApi createInventoryLocation POST /location/{merchantLocationKey}
LocationApi deleteInventoryLocation DELETE /location/{merchantLocationKey}
LocationApi disableInventoryLocation POST /location/{merchantLocationKey}/disable
LocationApi enableInventoryLocation POST /location/{merchantLocationKey}/enable
LocationApi getInventoryLocation GET /location/{merchantLocationKey}
LocationApi getInventoryLocations GET /location
LocationApi updateInventoryLocation POST /location/{merchantLocationKey}/update_location_details
OfferApi bulkCreateOffer POST /bulk_create_offer
OfferApi bulkPublishOffer POST /bulk_publish_offer
OfferApi createOffer POST /offer
OfferApi deleteOffer DELETE /offer/{offerId}
OfferApi getListingFees POST /offer/get_listing_fees
OfferApi getOffer GET /offer/{offerId}
OfferApi getOffers GET /offer
OfferApi publishOffer POST /offer/{offerId}/publish/
OfferApi publishOfferByInventoryItemGroup POST /offer/publish_by_inventory_item_group/
OfferApi updateOffer PUT /offer/{offerId}
OfferApi withdrawOffer POST /offer/{offerId}/withdraw
OfferApi withdrawOfferByInventoryItemGroup POST /offer/withdraw_by_inventory_item_group
ProductCompatibilityApi createOrReplaceProductCompatibility PUT /inventory_item/{sku}/product_compatibility
ProductCompatibilityApi deleteProductCompatibility DELETE /inventory_item/{sku}/product_compatibility
ProductCompatibilityApi getProductCompatibility GET /inventory_item/{sku}/product_compatibility

Documentation For Models

Authorization

api_auth