Download the PHP package prhost/systax-sdk without Composer

On this page you can find all versions of the php package prhost/systax-sdk. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package systax-sdk

Systax SDK — PHP

⚠️ Aviso: Este SDK é um projeto não oficial e não possui qualquer vínculo, endosso ou suporte da Systax. É fornecido sem garantias de qualquer tipo. Use por sua conta e risco.

SDK PHP para integração com a API Systax, cobrindo os recursos de NCM e CEST (v1 e v2).


Índice


Instalação

Requisitos: PHP 8.1+ e GuzzleHttp 7.x (instalado automaticamente como dependência).


Instanciação

Assinatura do construtor:


Autenticação

O SDK gerencia o token JWT automaticamente:

  1. Na primeira chamada a qualquer recurso, obtém o token via GET /auth/access-token com Basic Auth.
  2. O token é cacheado em memória pelo tempo de expires_in (retornado pela API).
  3. Quando o token está prestes a expirar (≤ 60 segundos), é renovado automaticamente via GET /auth/refresh-token.
  4. Se a renovação falhar, um novo token é obtido com Basic Auth.

Você não precisa gerenciar tokens manualmente. Se necessário:


Recurso: CEST v1

Endpoint: POST https://app.systax.com.br/cest

Retorna os códigos CEST para um NCM informado.

Criando itens de consulta

Consultando

Máximo de 100 itens por requisição.

Retorno: CestResult[]

Exemplo completo


Recurso: CEST v2

Endpoint: POST https://app.systax.com.br/cestv2

Versão 2 da API CEST. Adiciona:

Consultando

Retorno: CestV2Response

CestV2Result (estende CestResult)

Todos os campos de CestResult mais:

Exemplo: sincronização incremental


Recurso: NCM

Endpoint: GET https://app.systax.com.br/api/ncm

Lista NCMs da tabela TIPI da Systax.

Consultando

Assinatura completa:

Retorno: NcmResponse

NcmResult

Exemplo completo


DTOs de retorno

Classe Arquivo Descrição
CestItem DTO/CestItem.php Input: item de consulta CEST
CestResult DTO/CestResult.php Output CEST v1 por item
CestV2Result DTO/CestV2Result.php Output CEST v2 por item (estende CestResult)
CestV2Response DTO/CestV2Response.php Wrapper paginado CEST v2
NcmResult DTO/NcmResult.php Output NCM por item
NcmResponse DTO/NcmResponse.php Wrapper resposta NCM
TokenResponse DTO/TokenResponse.php Resposta da API de token

Tratamento de erros

Todas as exceções estendem Prhost\SystaxSdk\Exceptions\SystaxException (que estende RuntimeException).

Exceção Quando é lançada
AuthException HTTP 400/401 nas requisições de token ou recursos; credenciais inválidas; token expirado
ApiException Resposta HTTP 200, mas com codigo != 0 no item (ex: NCM inválida, NCM sem CEST)
SystaxException Base — captura qualquer erro do SDK

Códigos de erro da API CEST

Código Mensagem
0 Sucesso
1 NCM inválida
2 NCM sem CEST
3 UF inválida
4 EX TIPI inválida
5 Data inválida
6 ID inválido
7 Ponteiro inválido
8 Não existem atualizações

Exemplo de tratamento completo


Testes unitários

Os testes usam GuzzleHttp\Handler\MockHandler — nenhuma chamada real à API é feita. São 50 testes cobrindo todos os recursos, casos de sucesso e de erro.

Rodando os testes

Saída esperada:

Localização dos testes

Adicionando novos testes

Os testes usam GuzzleHttp\Handler\MockHandler para interceptar as requisições HTTP. Padrão a seguir:

A ordem das respostas no array do MockHandler corresponde à ordem das chamadas HTTP feitas pelo SDK (primeiro fetchToken, depois o recurso).


Estrutura de arquivos


Referências


Licença

MIT


Desenvolvido por Kallef Alexandre


All versions of systax-sdk with dependencies

PHP Build Version
Package Version
Requires php Version ^8.1
guzzlehttp/guzzle Version ^7.0
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package prhost/systax-sdk contains the following files

Loading the files please wait ...