Admin API e Webservice no PrestaShop 9: quando usar cada uma
O PrestaShop 9 estreia uma API de administração moderna, mas o Webservice de sempre continua lá. Ajudamo-lo a escolher para a sua integração.
Durante mais de uma década, a forma de falar com o PrestaShop a partir de fora foi o Webservice: uma API REST com XML (ou JSON) e uma chave por integração. O PrestaShop 9 introduz uma Admin API nova, construída sobre API Platform e com autenticação OAuth2. Convivem, e convém saber qual usar.
O Webservice clássico
- Ativa-se em Parâmetros avançados > Webservice, criando uma chave com permissões por recurso.
- Autenticação básica com a chave como utilizador.
- Cobre quase todo o modelo de dados: produtos, combinações, encomendas, clientes, stock…
- Baseia-se nos
ObjectModeldo núcleo: o que guarda passa pelas mesmas validações que o back office antigo.
curl -u CLAVE: "https://tienda.com/api/products/12?output_format=JSON"
A Admin API
- Autenticação OAuth2 com client credentials: pede um token de acesso e usa-o no cabeçalho
Authorization: Bearer. - JSON nativo, documentação gerada automaticamente e permissões por scopes.
- As suas operações reutilizam os comandos e consultas (CQRS) do novo back office, por isso a lógica é a mesma dos ecrãs em Symfony.
- A cobertura cresce versão a versão; nas primeiras versões do PrestaShop 9 não chega a todos os recursos que o Webservice tem.
Qual escolho?
| Situação | Recomendação |
|---|---|
| Integração nova com recursos que a Admin API já cobre | Admin API |
| Precisa de um recurso que a Admin API ainda não tem | Webservice |
| Loja em PrestaShop 8 ou anterior | Webservice |
| ERP que já fala com o Webservice e funciona | Não o mude sem motivo |
Conselhos para qualquer integração
- Uma chave ou um cliente por integração, com as permissões mínimas. Se uma for divulgada, revoga-se sem tocar nas outras.
- Sempre por HTTPS.
- Paginação e filtros: não peça todas as encomendas da história em cada chamada.
- Registo de chamadas do seu lado: quando algo não bater certo, saberá o que foi enviado e quando.
Queres aplicá-lo na tua loja? A Rekire ajuda-te: desenvolvimento de módulos PrestaShop à medida e suporte técnico PrestaShop com pacotes de horas.