EntrarComeçar
Voltar ao blog
Integração

SDK PHP

Uma classe, quatro métodos — issue, consult, cancel — tipados com enums e named arguments do PHP 8.1.

O SDK PHP oficial (composer require stackin-io/stackin-php-sdk) empacota a API REST um a um: uma classe Invoice com issue(), consult() e cancel() — nada mais pra instanciar. Cada item de linha é um Stackin\Br\Product tipado, com campos fiscais específicos do Brasil (ncm/cfop/cest...) exigidos só onde o autorizador realmente precisa.

Autentica do mesmo jeito que a API crua — uma única API key — então trocar entre SDK e chamadas HTTP diretas depois não muda como sua conta ou ambiente estão configurados.

Exige PHP 8.1+ pra usar DocumentType como um enum real (NFE/NFSE) em vez de uma string livre — um typo vira erro de import, não um 422 da API. Construção e toda chamada de método usam named arguments (new Invoice(apiKey: '...'), new Product(description: '...', unitPrice: 112.44, ncm: '...', cfop: '...')), então ordem de campo nunca importa.

Erros aparecem como três tipos distintos de exceção em vez de uma falha genérica: Stackin\Errors\ApiError carrega o código de status e o detalhe do próprio autorizador, Stackin\Errors\ConnectionFailedError cobre falha de rede/DNS/timeout antes de qualquer resposta voltar, e Stackin\Errors\InvoiceError pega problema de validação do lado cliente — items vazio, ou ncm/cfop faltando num item de NFE — antes mesmo da requisição ser enviada.

O SDK é construído sobre a mesma configuração .code_quality/ (phpcs/PSR-12, PHPStan nível 6) e formato de CI que todo outro SDK oficial da stackin, e o mesmo contrato universal de API, então uma integração PHP se lê igual à de Python ou Go assim que você conhece uma delas.

Veja a seção SDKs da referência da API pros comandos de instalação, ou o código no GitHub.