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
Suggests
None
Provides
None
Conflicts
None
Replaces
None
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