tibee/otto-market-sdk

No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)

Installs: 2

Dependents: 0

Suggesters: 0

Security: 0

Stars: 0

Watchers: 0

Forks: 0

Open Issues: 0

pkg:composer/tibee/otto-market-sdk

dev-main 2025-09-15 14:34 UTC

This package is auto-updated.

Last update: 2025-12-15 15:22:47 UTC


README

Unofficial PHP SDK for the OTTO Market Partner API. This client is generated from the OpenAPI specification in this repository (openapi.yml) using OpenAPI Generator.

Installation & Usage

Requirements

  • PHP 7.2 or later
  • ext-curl, ext-json, ext-mbstring
  • A PSR-18 HTTP client and PSR-17 factories (e.g., Guzzle 7 with guzzle7-adapter)

Composer

Preferred (Packagist):

composer require tibee/otto-market-sdk

This library uses PSR-18 (HTTP Client) and PSR-17 (HTTP Factories). Install any compatible implementation. A common choice is Guzzle 7 with the HTTPlug adapter and factories:

composer require guzzlehttp/guzzle php-http/guzzle7-adapter http-interop/http-factory-guzzle

Alternatively (VCS): add this repository as a VCS source in your composer.json and require it:

{
  "repositories": [
    { "type": "vcs", "url": "https://github.com/tibee/otto-market-sdk.git" }
  ],
  "require": { "tibee/otto-market-sdk": "*@dev" }
}

Then run composer install.

Manual Installation

Download the files and include autoload.php:

<?php
require_once('./autoload.php');

Getting Started

Please follow the installation procedure and then run the following:

<?php
require_once(__DIR__ . '/vendor/autoload.php');



// Configure Bearer (JWT) authorization: bearerAuth
$config = Tibee\OttoMarketSdk\Configuration::getDefaultConfiguration()->setAccessToken('YOUR_ACCESS_TOKEN');


$apiInstance = new Tibee\OttoMarketSdk\Api\AvailabilityV1Api(
    // If you want use custom http client, pass your client which implements `Psr\Http\Client\ClientInterface`.
    // This is optional, `Psr18ClientDiscovery` will be used to find http client. For instance `GuzzleHttp\Client` implements that interface
    new GuzzleHttp\Client(),
    $config
);
$authorization = Bearer access_token; // string | Access Token
$limit = 200; // int | The maximum number of available quantities to be returned in each response.
$page = 0; // int | Page number (0..N)
$cursor = c2t1NDM=; // string | Cursor for paging requests. If a cursor is provided, the only other request parameter being considered is 'limit'. The cursor value is the last evaluted sku in the request response (Needs to be a valid sku value)

try {
    $result = $apiInstance->availabilityV1GetAvailableQuantities($authorization, $limit, $page, $cursor);
    print_r($result);
} catch (Exception $e) {
    echo 'Exception when calling AvailabilityV1Api->availabilityV1GetAvailableQuantities: ', $e->getMessage(), PHP_EOL;
}

API Endpoints

All URIs are relative to https://api.otto.market

Class Method HTTP request Description
AvailabilityV1Api availabilityV1GetAvailableQuantities GET /v1/availability/quantities Get quantities from a partner (up to 200 per request)
AvailabilityV1Api availabilityV1GetAvailableQuantityBySku GET /v1/availability/quantities/{sku} Get quantity for a sku
AvailabilityV1Api availabilityV1GetDeliveryInformationBySKU GET /v1/availability/product-delivery-information/{sku} Get product delivery information for a SKU
AvailabilityV1Api availabilityV1GetProductDeliveryInformation GET /v1/availability/product-delivery-information Get product delivery information from a partner
AvailabilityV1Api availabilityV1StoreAvailableQuantitiesUsingPOST POST /v1/availability/quantities Update quantities
AvailabilityV1Api availabilityV1StoreProductDeliveryInformationUsingPOST POST /v1/availability/product-delivery-information Update product delivery information
OrdersV4Api ordersV4CancelPartnerOrderPositionItems POST /v4/orders/{salesOrderId}/positionItems/{positionItemIds}/cancellation Cancel specific position items of an order
OrdersV4Api ordersV4CancelPartnerOrders POST /v4/orders/{salesOrderId}/cancellation Cancel all position items of an order
OrdersV4Api ordersV4FindPartnerOrders GET /v4/orders List of orders filtered by fulfillment state
OrdersV4Api ordersV4GetPartnerOrderByOrderNumber GET /v4/orders/{orderNumber} Get an order via order number
OrdersV4Api ordersV4GetPartnerOrderBySalesOrderId GET /v4/orders/{salesOrderId} Get an order via sales order id
PriceReductionsV1Api priceReductionsV1ApplyPriceReduction POST /v1/price-reductions Apply price reduction for a positionItemId
PriceReductionsV1Api priceReductionsV1GetAllReductionsForPartner GET /v1/price-reductions Get all priceReductions
ProductsV4Api productsV4CreateOrUpdateProductVariations POST /v4/products Create or update product variations
ProductsV4Api productsV4FailedByProcessId GET /v4/products/update-tasks/{processUuid}/failed List failed products of a product data delivery
ProductsV4Api productsV4GetActiveStatus GET /v4/products/active-status Read active status
ProductsV4Api productsV4GetBrands GET /v4/products/brands List of allowed brands
ProductsV4Api productsV4GetCategoryGroups GET /v4/products/categories Read product categories
ProductsV4Api productsV4GetContentChanges GET /v4/products/{sku}/content-changes Read content changes for a single product variation
ProductsV4Api productsV4GetContentChanges2 GET /v4/products/content-changes Read content changes within time period
ProductsV4Api productsV4GetMarketPlaceStatus GET /v4/products/{sku}/marketplace-status Read marketplace status for a single product variation
ProductsV4Api productsV4GetMarketPlaceStatusList GET /v4/products/marketplace-status Read marketplace status of product variations
ProductsV4Api productsV4GetPartnerProducts GET /v4/products Read product variations
ProductsV4Api productsV4GetProductVariation GET /v4/products/{sku} Read a single product variation
ProductsV4Api productsV4GetProductVariationPrice GET /v4/products/{sku}/prices Read a single product variation price
ProductsV4Api productsV4GetProductVariationPrices GET /v4/products/prices Read product variations prices
ProductsV4Api productsV4GetVariationActiveStatus GET /v4/products/{sku}/active-status Read the active status of a single product variation
ProductsV4Api productsV4ProgressByProcessId GET /v4/products/update-tasks/{processUuid} Request the results of a product data delivery
ProductsV4Api productsV4SucceededByProcessId GET /v4/products/update-tasks/{processUuid}/succeeded List succeeded products of a product data delivery
ProductsV4Api productsV4UnchangedByProcessId GET /v4/products/update-tasks/{processUuid}/unchanged List unchanged products of a product data delivery
ProductsV4Api productsV4UpdateActiveStatus POST /v4/products/active-status Update active status
ProductsV4Api productsV4UpdateProductVariationPrices POST /v4/products/prices Update product variation prices
ProductsV5Api productsV5CreateOrUpdateProductVariations POST /v5/products Create or update product variations
ProductsV5Api productsV5FailedByProcessId GET /v5/products/update-tasks/{processUuid}/failed List failed products of a product data delivery
ProductsV5Api productsV5GetActiveStatus GET /v5/products/active-status Read active status
ProductsV5Api productsV5GetBrands GET /v5/products/brands List of allowed brands
ProductsV5Api productsV5GetCategoryGroups GET /v5/products/categories Read product categories
ProductsV5Api productsV5GetContentChanges GET /v5/products/{sku}/content-changes Read content changes for a single product variation
ProductsV5Api productsV5GetContentChanges2 GET /v5/products/content-changes Read content changes within time period
ProductsV5Api productsV5GetMarketPlaceStatus GET /v5/products/{sku}/marketplace-status Read marketplace status for a single product variation
ProductsV5Api productsV5GetMarketPlaceStatusList GET /v5/products/marketplace-status Read marketplace status of product variations
ProductsV5Api productsV5GetPartnerProducts GET /v5/products Read product variations
ProductsV5Api productsV5GetProductVariation GET /v5/products/{sku} Read a single product variation
ProductsV5Api productsV5GetProductVariationPrice GET /v5/products/{sku}/prices Read a single product variation price
ProductsV5Api productsV5GetProductVariationPrices GET /v5/products/prices Read product variations prices
ProductsV5Api productsV5GetVariationActiveStatus GET /v5/products/{sku}/active-status Read the active status of a single product variation
ProductsV5Api productsV5ProgressByProcessId GET /v5/products/update-tasks/{processUuid} Request the results of a product data delivery
ProductsV5Api productsV5SucceededByProcessId GET /v5/products/update-tasks/{processUuid}/succeeded List succeeded products of a product data delivery
ProductsV5Api productsV5UnchangedByProcessId GET /v5/products/update-tasks/{processUuid}/unchanged List unchanged products of a product data delivery
ProductsV5Api productsV5UpdateActiveStatus POST /v5/products/active-status Update active status
ProductsV5Api productsV5UpdateProductVariationPrices POST /v5/products/prices Update product variation prices
ReceiptsV3Api receiptsV3GetReceiptPdfUsingGET3 GET /v3/receipts/{receiptNumber}.pdf Get the PDF document of a specific receipt
ReceiptsV3Api receiptsV3GetReceiptUsingGET5 GET /v3/receipts/{receiptNumber} Get the JSON object of a specific receipt
ReceiptsV3Api receiptsV3GetReceiptsUsingGET5 GET /v3/receipts Get receipts as list of JSON objects
ReturnShipmentsV1Api returnShipmentsV1ListReturnShipmentsUsingGET GET /v1/return-shipments Retrieve returnShipments.
ReturnShipmentsV1Api returnShipmentsV1ReturnShipmentByCarrierAndTrackingNumberUsingGET GET /v1/return-shipments/carriers/{carrier}/trackingnumbers/{trackingNumber} Retrieve returnShipment by carrier and tracking number.
ReturnShipmentsV1Api returnShipmentsV1ReturnShipmentUsingGET GET /v1/return-shipments/{returnShipmentId} Retrieve returnShipments by returnShipment ID.
ReturnsV3Api returnsV3GetPositionItemsForUsingGETV3 GET /v3/returns Get all the items filtered on return status
ReturnsV3Api returnsV3ReceiveAcceptedReturnsV3UsingPOSTV3 POST /v3/returns/acceptance Accept the return for a sent position item (up to 200 items per request)
ReturnsV3Api returnsV3ReceiveRejectedReturnsV3UsingPOSTV3 POST /v3/returns/rejection Reject the return for a sent position item (up to 200 items per request)
ReturnsWarehouseV2Api returnsWarehouseV2CreateReturnWarehouseAddress POST /v2/returns-warehouse/addresses create returnWarehouse address
ReturnsWarehouseV2Api returnsWarehouseV2CreateReturnsWarehouseCarrier POST /v2/returns-warehouse/addresses/{returnAddressId}/carriers create returnCarrier for returnWarehouse address
ReturnsWarehouseV2Api returnsWarehouseV2DeleteParcelReturnCarrier DELETE /v2/returns-warehouse/addresses/{returnAddressId}/carriers/{returnAddressCarrierId} delete returnCarrier for returnWarehouse address
ReturnsWarehouseV2Api returnsWarehouseV2DeleteReturnsWarehouseAddressById DELETE /v2/returns-warehouse/addresses/{returnAddressId} delete returnWarehouse address by returnAddressId
ReturnsWarehouseV2Api returnsWarehouseV2GetAllReturnsWarehouseAddresses GET /v2/returns-warehouse/addresses get all returnWarehouse addresses
ReturnsWarehouseV2Api returnsWarehouseV2GetReturnsWarehouseAddressById GET /v2/returns-warehouse/addresses/{returnAddressId} get returnWarehouse address by returnAddressId
ReturnsWarehouseV2Api returnsWarehouseV2GetReturnsWarehouseCarriersByReturnAddressId GET /v2/returns-warehouse/addresses/{returnAddressId}/carriers get returnWarehouse Carriers by returnAddressId
ReturnsWarehouseV2Api returnsWarehouseV2GetReturnsWarehouseCarriersByReturnAddressIdAndReturnAddressCarrierId GET /v2/returns-warehouse/addresses/{returnAddressId}/carriers/{returnAddressCarrierId} get returnWarehouse Carriers by returnAddressCarrierId
ReturnsWarehouseV2Api returnsWarehouseV2UpdateParcelReturnCarrier PUT /v2/returns-warehouse/addresses/{returnAddressId}/carriers/{returnAddressCarrierId} update returnCarrier for returnWarehouse address
ReturnsWarehouseV2Api returnsWarehouseV2UpdateReturnWarehouseAddress PUT /v2/returns-warehouse/addresses/{returnAddressId} update returnWarehouse address by returnAddressId
ShipmentsV1Api shipmentsV1AppendPositionItemsByCarrierAndTrackingNumberUsingPOST POST /v1/shipments/carriers/{carrier}/trackingnumbers/{trackingNumber}/positionitems Correct an existing shipment (add sent items) by carrier and tracking number.
ShipmentsV1Api shipmentsV1AppendPositionItemsUsingPOST POST /v1/shipments/{shipmentId}/positionitems Correct an existing shipment (add sent items) by shipment ID.
ShipmentsV1Api shipmentsV1CreatedAndSentMultiparcelShipmentUsingPOST POST /v1/multiparcel-shipments Create a multiparcel shipment and mark the position items as sent.
ShipmentsV1Api shipmentsV1CreatedAndSentShipmentUsingPOST POST /v1/shipments Create a shipment and mark the position items as sent.
ShipmentsV1Api shipmentsV1ListShipmentsUsingGET GET /v1/shipments Retrieve shipments.
ShipmentsV1Api shipmentsV1ShipmentByCarrierAndTrackingNumberUsingGET GET /v1/shipments/carriers/{carrier}/trackingnumbers/{trackingNumber} Retrieve shipment by carrier and tracking number.
ShipmentsV1Api shipmentsV1ShipmentUsingGET GET /v1/shipments/{shipmentId} Retrieve shipment by shipment ID.
ShippingProfilesV1Api shippingProfilesV1CreateShippingProfile POST /v1/shipping-profiles Create shipping profile
ShippingProfilesV1Api shippingProfilesV1DeleteShippingProfile DELETE /v1/shipping-profiles/{shippingProfileId} Delete shipping profile
ShippingProfilesV1Api shippingProfilesV1GetShippingProfileById GET /v1/shipping-profiles/{shippingProfileId} Get shipping profile by shipping profile id
ShippingProfilesV1Api shippingProfilesV1GetShippingProfiles GET /v1/shipping-profiles Get all shipping profiles from a partner
ShippingProfilesV1Api shippingProfilesV1UpdateShippingProfile PUT /v1/shipping-profiles/{shippingProfileId} Update shipping profile

Models

Authorization

bearerAuth

  • Type: Bearer authentication (JWT)

Regenerating the SDK

If the generated code is missing endpoints that exist in the upstream OTTO spec, regenerate the client using this workflow:

  1. Make sure you’re on a recent generator
openapi-generator-cli version
  1. Bundle the OTTO spec (resolves all $refs into one file)
npx @redocly/cli bundle https://api.otto.market/docs/openapi.yml -o otto.bundle.yaml --ext=yaml
  1. Quick sanity check: for example, are v5 endpoints in the bundle?
grep -n "/v5" otto.bundle.yaml | head
  1. Generate PHP client from the bundled file
openapi-generator-cli generate \
  -i otto.bundle.yaml -g php -o . \
  -c config.json

Tests

To run the tests, use:

composer install
vendor/bin/phpunit

Author

Tibor BALOGH tibee@tibee.hu

About this package

This PHP package is automatically generated by the OpenAPI Generator project:

  • API version: 1.0.0
    • Generator version: 7.14.0
  • Build package: org.openapitools.codegen.languages.PhpClientCodegen