matasarei/olx-api-client-v2

OLX API Client v2

Installs: 16 329

Dependents: 0

Suggesters: 0

Security: 0

Stars: 7

Watchers: 1

Forks: 6

Open Issues: 0

pkg:composer/matasarei/olx-api-client-v2

1.1.2 2025-11-08 20:30 UTC

This package is auto-updated.

Last update: 2025-11-08 20:33:17 UTC


README

CI workflow

This package implements PHP client for OLX Partner API.

Installation

To install the package to your project via Composer simply run:

composer require matasarei/olx-api-client-v2

Documentation

Official OLX API documentation and developers portal:

Check the troubleshooting section if you have any issues.

Usage

Basic Example

use Gentor\Olx\Api\Client;
use Gentor\Olx\Api\Credentials;

$credentials = new Credentials('your_client_id', 'your_client_secret');
$client = new Client($credentials, Client::OLX_UA);

// Create an advert
$response = $client->adverts()->create([
    'title' => 'My Product',
    'description' => 'Product description...',
    'category_id' => 123,
    // ... other required fields
]);

// Access the created advert data
$advertData = $response['data'];
echo "Created advert ID: " . $advertData['id'];
echo "Status: " . $advertData['status'];

Important: API Response Format

All OLX API responses wrap the actual data in a data key according to the official API specification:

// What you get from the API:
[
  'data' => [
    'id' => 905890605,
    'status' => 'active',
    // ... other advert fields
  ]
]

// Access the actual data:
$response = $client->adverts()->create($request);
$advertData = $response['data'];

This response format applies to advert-related endpoints, for example:

  • GET /adverts returns ['data' => [array of adverts]]
  • POST /adverts returns ['data' => {advert object}]
  • GET /adverts/{id} returns ['data' => {advert object}]
  • PUT /adverts/{id} returns ['data' => {advert object}]

Other endpoints may have different response structures. Please refer to the official OLX API documentation for details on the response format of each endpoint.

Testing and development

  1. Install vendors
docker run --rm -v $(pwd):/app -w /app composer:lts composer install
  1. Run tests
docker run --rm -v $(pwd):/app -w /app composer:lts vendor/bin/phpunit