somosyampi/yampi-php-sdk
最新稳定版本:2.0.7
Composer 安装命令:
composer require somosyampi/yampi-php-sdk
包简介
SDK oficial da API da plataforma de e-commerce Yampi.
README 文档
README
SDK oficial da plataforma de e-commerce Yampi.
Principais Recursos
- Recurso de Login com JWT e Tokens de usuário.
- Recurso de Requests.
Dependências
- PHP >= 7.1
Instalação via Composer
$ composer require somosyampi/yampi-php-sdk
Utilizando a SDK
Você pode autenticar sua aplicação utilizando JWT (JSON Web Tokens).
require 'vendor/autoload.php'; use Yampi\Api\AuthRequest; use Yampi\Api\Exceptions\RequestException; use Yampi\Api\Exceptions\ValidationException; // Configure seu ambiente. $yampiApi = AuthRequest::production(); // Configure sua loja. $yampiApi->setMerchant('aliasDeSuaLoja'); try { // Faz o login por credenciais. $auth = $yampiApi->login(['email' => 'email@sualoja.com.br', 'password' => 'senha']); $type = $auth->getAuthTokenType(); // bearer $JWT = $auth->getAuthToken(); //eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9... } catch (ValidationException $e) { // Erro de validação dos inputs // Mensagens de erros $errors = $e->getErrors(); } catch (RequestException $e) { // Credenciais inválidas. }
Caso você você já possua um JWT.
use Yampi\Api\AuthRequest; // Seu JWT. $JWT = 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9...'; // Configure seu JWT, seu ambiente e faz o login por JWT. $yampiApi = AuthRequest::production()->setJwt($JWT);
Outra maneira de autenticação é pelo token de usuário:
require 'vendor/autoload.php'; use Yampi\Api\AuthRequest; use Yampi\Api\Exceptions\RequestException; // Configure seu ambiente. $yampiApi = AuthRequest::production(); // Configure sua loja. $yampiApi->setMerchant('aliasDeSuaLoja'); // Configure seu token de usuário. $yampiApi->setUserToken('seuTokenDeUsuário'); try { // Requests... } catch (RequestException $e) { // Token de usuário inválido. }
Uma vez autenticado, você já pode consumir a API da Yampi utilizando este SDK.
use Yampi\Api\AuthRequest; // Busque seu JWT. $jwt = 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9...'; // Configure seu JWT, seu ambiente e sua loja. $yampiApi = AuthRequest::production() ->setJwt($jwt); ->setMerchant('aliasDeSuaLoja'); // Busca o catalogo de produtos da sua loja na Yampi. $response = $yampiApi->request('GET', '/catalog/products'); // Ou $response = $yampiApi->catalog()->products()->get(); $response->getData(); // array
Métodos que facilitam os recursos de pesquisa e filtros.
// Busque seu JWT. $jwt = 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9...'; // Configure seu JWT, seu ambiente e sua loja. $yampiApi = AuthRequest::production() ->setJwt($jwt) ->setMerchant('aliasDeSuaLoja'); // Filtra por página. $yampiApi->page(2); // Filtra por qualquer campo e altera o formato de busca dos campos sendo filtrados (LIKE). $yampiApi->search(['name' => 'Roupa de Cama']); $yampiApi->searchFields(['name' => 'like']); // Filtra por data de criação (created_at)... $yampiApi->period('2018-01-01', '2018-01-31'); // ...ou por qualquer campo de data. $yampiApi->period('2018-01-01', '2018-01-31', 'any_date_field'); // Ordena por qualquer campos e altera a direção de orderação dos campos sendo ordenados. $yampiApi->orderBy('name'); $yampiApi->sortedBy('desc'); // Altera o limite da paginação (máximo é 100). $yampiApi->limit(20); // Ignora o cache. $yampiApi->skipCache(); // Retorna os produtos do catálogo com os filtros aplicados $response = $yampiApi->request('GET', '/catalog/products'); // Ou $response = $yampiApi->catalog()->products()->get(); $response->getData(); // array
Se preferir, pode encadear todas as chamadas diretamente:
$catalogProducts = AuthRequest::production() ->setJwt($jwt) ->setMerchant('aliasDeSuaLoja') ->page(2) ->search(['name' => 'Roupa de Cama']) ->searchFields(['name' => 'like']) ->period('2018-01-01', '2018-01-31', 'created_at') ->orderBy('name') ->sortBy('desc') ->limit(20) ->skipCache() ->get();
Paginação
// ... $response = $response->getData(); $pagination = $response->pagination(); $pagination->getTotal(); // Retorna o total de registros $pagination->getPerPage(); // Retorna o total de registros por página $pagination->getCurrentPage(); // Retorna a página atual $pagination->getTotalPages(); // Retorna a quantidade total de páginas $pagination->getNextLink(); // Retorna a URL da próxima página $pagination->getPreviousLink(); // Retorna a URL da página anterior
Change Log
Consulte CHANGELOG para obter mais informações sobre o que mudou recentemente.
Contribuições
Consulte CONTRIBUTING para obter mais detalhes.
Segurança
Se você descobrir quaisquer problemas relacionados à segurança, envie um e-mail para security@yampi.com.br em vez de usar as issues.
统计信息
- 总下载量: 17.97k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 9
- 点击次数: 1
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2020-08-20