codefit / wolt-api-client
PHP client for Wolt API integration
1.0.0
2025-06-12 09:39 UTC
Requires
- php: >=7.4
- ext-json: *
- guzzlehttp/guzzle: ^7.0
Requires (Dev)
- phpstan/phpstan: ^1.0
- phpunit/phpunit: ^9.0
README
PHP client for Wolt API integration. This package provides easy access to Wolt's Order API and Menu API.
Installation
composer require codefit/wolt-api-client
Usage
Authentication
First, you'll need to obtain your client credentials from Wolt. Then you can initialize the clients:
use Wolt\Api\OrderClient; use Wolt\Api\MenuClient; // Initialize Order client $orderClient = new OrderClient('your-client-id', 'your-client-secret'); // Initialize Menu client $menuClient = new MenuClient('your-client-id', 'your-client-secret');
Order API Examples
// Get order details $order = $orderClient->getOrder('order-id'); // Mark order as ready $orderClient->markOrderReady('order-id'); // Mark order as delivered $orderClient->markOrderDelivered('order-id'); // Reject order $orderClient->rejectOrder('order-id', 'Out of stock');
Menu API Examples
// Get menu for a venue $menu = $menuClient->getMenu('venue-id'); // Update menu $menuClient->updateMenu('venue-id', [ // Menu data structure ]); // Update item availability $menuClient->updateItemAvailability('venue-id', 'item-id', false); // Update item price $menuClient->updateItemPrice('venue-id', 'item-id', 9.99);
Error Handling
The client throws exceptions in case of errors:
use Wolt\Api\Exception\AuthenticationException; use GuzzleHttp\Exception\GuzzleException; try { $order = $orderClient->getOrder('order-id'); } catch (AuthenticationException $e) { // Handle authentication errors } catch (GuzzleException $e) { // Handle API request errors }
Requirements
- PHP 7.4 or higher
- Guzzle HTTP client
- JSON extension
License
MIT