PHP code example of somosyampi / yampi-php-sdk

1. Go to this page and download the library: Download somosyampi/yampi-php-sdk library. Choose the download type require.

2. Extract the ZIP file and open the index.php.

3. Add this code to the index.php.
    
        
<?php
require_once('vendor/autoload.php');

/* Start to develop here. Best regards https://php-download.com/ */

    

somosyampi / yampi-php-sdk example snippets




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 protected]', '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.
}

use Yampi\Api\AuthRequest;

// Seu JWT.
$JWT = 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9...';

// Configure seu JWT, seu ambiente e faz o login por JWT.
$yampiApi = AuthRequest::production()->setJwt($JWT);



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.
}

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

// 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

$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();

// ...
$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
bash
$ composer