betocampoy / jadlog-sdk
SDK PHP para integrar Jadlog (frete, pedidos, tracking, DACTE, PUDOs, QRCode)
Installs: 0
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 0
Forks: 0
Open Issues: 0
pkg:composer/betocampoy/jadlog-sdk
Requires
- php: >=8.2
- psr/log: ^3.0
- symfony/http-client: ^7.0
Requires (Dev)
- phpunit/phpunit: ^11.0
README
SDK PHP (compatível com Symfony 7.2+) para integração com a Jadlog:
- Cálculo de frete
- Criação e cancelamento de pedidos (ordens de coleta)
- Rastreamento (tracking completo e simples)
- DACTE XML
- PUDOs (pickup points)
- QRCode pickup/dropoff
🧩 Instalação
composer require betocampoy/jadlog-sdk
Ou durante testes locais (sem Packagist):
{
"repositories": [
{ "type": "path", "url": "../jadlog-sdk", "options": {"symlink": true} }
],
"require": {
"betocampoy/jadlog-sdk": "*@dev"
}
}
⚙️ Uso básico
use BetoCampoy\JadlogSdk\JadlogClient; use BetoCampoy\JadlogSdk\Builders\QuoteBuilder; $token = 'SEU_TOKEN_JADLOG'; $sdk = JadlogClient::create($token); $payload = QuoteBuilder::make() ->cepOrigem('14801000') ->cepDestino('04094002') ->modalidade(3) ->cnpj('00000000000000') ->conta('000000') ->peso(750) // em gramas ->valorDeclarado(120.00) ->build(); $result = $sdk->quote($payload, pesoEmGramas: true); print_r($result);
🔍 Métodos principais
| Método | Descrição |
|---|---|
quote($payload, pesoEmGramas=false) |
Cotação de frete |
createOrder($payload, pesoEmGramas=false) |
Inclusão de ordem de coleta |
cancelOrderByShipmentId($id) |
Cancela pedido pelo ShipmentId |
cancelOrderByCodigo($codigo) |
Cancela pedido pelo código Jadlog |
track($consulta, $simples=false) |
Consulta tracking |
getDacteXml($dacte) |
Retorna XML do DACTE |
listPudosByCep($cep) |
Lista PUDOs próximos |
getPickupDropoffQrCode($id) |
Retorna QRCode em base64 |
getLastRequestJson() |
Último request (JSON) |
getLastResponseRaw() |
Último response (texto) |
🧪 Testes
./vendor/bin/phpunit --testdox
🔄 Fallback e contingência
Cada endpoint tem um host principal e um backup.
Se o principal falhar (timeout, DNS, HTTP 5xx), o SDK tenta automaticamente o backup (.com → .com.br).
⚖️ Licença
MIT License © Beto Campoy