leonid74 / wildberries-api-php
带有请求节流功能的 Wildberries REST API 统计客户端库
1.0.1
2022-02-04 17:38 UTC
Requires
- php: >=7.4
- ext-curl: *
- ext-json: *
- josantonius/httpstatuscode: ^1.1
Requires (Dev)
This package is auto-updated.
Last update: 2024-09-05 01:19:36 UTC
README
带有请求节流功能的 Wildberries REST API 统计客户端库
(俄语) 下面的俄语描述
一个简单的 Wildberries REST API 统计客户端库,带有请求节流功能(例如,根据 API 规则,每秒不超过 10 个请求)和 PHP 示例。当收到 http 响应代码 "429: too many requests" 时,支持自动重发请求。
统计 API 文档 Wildberries REST API 统计文档
新 API 文档 Wildberries REST API 文档
安装
通过 Composer
composer require Leonid74/wildberries-api-php
使用
<?php require 'vendor/autoload.php'; // Without Composer (and instead of "require 'vendor/autoload.php'"): // require("your-path/wildberries-api-php/src/WbApiInterface.php"); // require("your-path/wildberries-api-php/src/WbApiClient.php"); use Leonid74\Wildberries\WbApiClient; require_once 'vendor/autoload.php'; $token = '<you token x64>'; $dateFrom = '01-01-2022'; $dateTo = '19-01-2022'; try { // Create new client $WbApiClient = new WbApiClient( $token ); // DEBUG level can be one of: DEBUG_NONE (default) or DEBUG_URL, DEBUG_HEADERS, DEBUG_CONTENT // no debug // $WbApiClient->debugLevel = WbApiClient::DEBUG_NONE; // only URL level debug // $WbApiClient->debugLevel = WbApiClient::DEBUG_URL; // only URL and HEADERS level debug // $WbApiClient->debugLevel = WbApiClient::DEBUG_HEADERS; // max level of debug messages to STDOUT // $WbApiClient->debugLevel = WbApiClient::DEBUG_CONTENT; $WbApiClient->debugLevel = WbApiClient::DEBUG_URL; // set the trottling of HTTP requests to 2 per second $WbApiClient->throttle = 2; } catch ( Exception $e ) { die( "Critical exception when creating ApiClient: ({$e->getCode()}) " . $e->getMessage() ); } /* * Example: Get the sales */ $sales = $WbApiClient->sales( $dateFrom ); if ( isset( $sales->is_error ) ) { echo "\nError: " . implode( '; ', $sales->errors ); } else { var_dump( $sales ); } /* * Example: Get the report detail by period */ $reportDetailByPeriod = $WbApiClient->reportDetailByPeriod( $dateFrom, $dateTo ); if ( isset( $reportDetailByPeriod->is_error ) ) { echo "\nError: " . implode( '; ', $reportDetailByPeriod->errors ); } else { var_dump( $reportDetailByPeriod ); } // You can set a common date (dateFrom) via the setDateFrom() function and then access other functions // without passing the date $WbApiClient->setDateFrom( $dateFrom ); $sales = $WbApiClient->sales(); $incomes = $WbApiClient->incomes();
作者
Leonid74 (https://github.com/Leonid74)
许可
本软件根据 BSD 3-Clause 许可协议条款进行分发。
带有请求节流功能的 Wildberries REST API 统计客户端库
一个简单的 Wildberries REST API 统计客户端库,带有请求节流功能(例如,根据 API 规则,每秒不超过 10 个请求)和 PHP 示例。当收到 http 响应代码 "429: too many requests" 时,支持自动重发请求。
统计 API 描述 Wildberries REST API 统计
新 API 描述 Wildberries REST API
安装
通过 Composer
composer require Leonid74/wildberries-api-php
使用
<?php require 'vendor/autoload.php'; // Без Composer можно подключить вот так (вместо "require 'vendor/autoload.php'"): // require("your-path/wildberries-api-php/src/WbApiInterface.php"); // require("your-path/wildberries-api-php/src/WbApiClient.php"); use Leonid74\Wildberries\WbApiClient; require_once 'vendor/autoload.php'; $token = '<Ваш токен партнера x64>'; $dateFrom = '01-01-2022'; $dateTo = '19-01-2022'; try { // Создаем новый клиент $WbApiClient = new WbApiClient( $token ); // Уровень DEBUG может быть одним из: DEBUG_NONE (по умолчанию) или DEBUG_URL, DEBUG_HEADERS, DEBUG_CONTENT // без вывода отладочной информации // $WbApiClient->debugLevel = WbApiClient::DEBUG_NONE; // выводим только URL запросов/ответов // $WbApiClient->debugLevel = WbApiClient::DEBUG_URL; // выводим только URL и заголовки запросов/ответов // $WbApiClient->debugLevel = WbApiClient::DEBUG_HEADERS; // выводим URL, заголовки и всю остальную информацию запросов/ответов в STDOUT // $WbApiClient->debugLevel = WbApiClient::DEBUG_CONTENT; $WbApiClient->debugLevel = WbApiClient::DEBUG_URL; // Устанавливаем троттлинг в 2 запроса в секунду $WbApiClient->throttle = 2; } catch ( Exception $e ) { die( "Критическая ошибка при создании ApiClient: ({$e->getCode()}) " . $e->getMessage() ); } /* * Пример: Получаем продажи */ $sales = $WbApiClient->sales( $dateFrom ); if ( isset( $sales->is_error ) ) { echo "\nError: " . implode( '; ', $sales->errors ); } else { var_dump( $sales ); } /* * Пример: Получаем отчет о продажах по реализации */ $reportDetailByPeriod = $WbApiClient->reportDetailByPeriod( $dateFrom, $dateTo ); if ( isset( $reportDetailByPeriod->is_error ) ) { echo "\nError: " . implode( '; ', $reportDetailByPeriod->errors ); } else { var_dump( $reportDetailByPeriod ); } // Можно задать общую дату (dateFrom) через функцию setDateFrom() и затем обращаться к другим функциям, // не передавая дату $WbApiClient->setDateFrom( $dateFrom ); $sales = $WbApiClient->sales(); $incomes = $WbApiClient->incomes();
作者
Leonid74 (https://github.com/Leonid74)
许可
本软件根据 BSD 3-Clause 许可协议进行分发