ricardomartins / brazilzipcode
Magento 2 module to use brazil zipcode search services. Forked from magedev/brazilzipcode
Fund package maintenance!
r-martins
m2-magedev
Installs: 3 496
Dependents: 1
Suggesters: 0
Security: 0
Stars: 1
Watchers: 2
Forks: 9
Open Issues: 0
Type:magento2-module
Requires
- ext-json: *
This package is auto-updated.
Last update: 2024-12-13 06:12:46 UTC
README
Sobre o Módulo
Módulo criado para utilização de serviços de consulta de CEP, já contendo de forma básica consulta pelo ViaCep e Correios.
Módulo originalmente criado por m2-magedev/BrazilZipCode.
Como instalar
Instalar via Composer (recomendado)
composer require ricardomartins/brazilzipcode
php bin/magento module:enable MageDev_BrazilZipCode
php bin/magento setup:upgrade
Configurações
Para configurar o módulo acesse: Lojas > Configurações > MageDev > Brazil ZipCode
Como usar a consulta
Em seu javascript (seja para qualquer área da loja que deseja consultar um CEP), faça uma chamada GET para o endpoint abaixo utilizando o cep com ou sem formatação:
URL_DA_LOJA/rest/V1/magedev-brazil-zipcode/search/CEP_A_SER_CONSULTADO
https://minhaloja.com.br/rest/V1/magedev-brazil-zipcode/search/08226-021
https://minhaloja.com.br/rest/V1/magedev-brazil-zipcode/search/08226021
Payload de retorno
{
"zip_code": "08226021",
"street": "Rua 18 de Abril",
"neighborhood": "Cidade Antônio Estevão de Carvalho",
"additional_info": "",
"city": "São Paulo",
"state": "SP",
"code": "3550308",
"data_source": "ViaCep",
"is_valid": true
}
Observações:
- Caso a funcionalidade de persistência no banco de dados esteja ativa, os dados serão armazenados no banco de dados e, em uma consulta posterior ao mesmo CEP, o dado será retornado do banco.
- Caso a funcionalidade de cache esteja ativa, o CEP sejá armazenado no cache, e em uma posterior consulta ao mesmo CEP, o dado será retornado do cache.
Limpando o cache apenas do módulo
php bin/magento cache:clean config_zipcode_search_api
Uso da consulta de CEP por serviços externos (Outras plataformas, sistemas ou postman)
Criar uma chave de integração no Magento e fazer uso do header de Authorization.
Adicionando novos serviços através do seu módulo
- Crie seu módulo
- Crie sua classe de serviço estendendo da classe MageDev\BrazilZipCode\Gateway\AbstractZipCodeService
- Sobrescreva os métodos getAddressData e validate
- Declare o xml brazil_zipcode_services.xml no etc de seu módulo com o seguinte conteúdo
<?xml version="1.0" ?>
<services xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="brazil_zipcode_services.xsd">
<service id="ID_UNICO_PARA_SEU_SERVICO">
<name>NOME_DO_SEU_SERVICO</name>
<class>VENDOR_DO_MODULO\NOME_DO_MODULO\Services\NOME_DA_CLASSE_SO_SEU_SERVICO</class>
</service>
</services>
- Instale seu módulo e limpe o cache.
- Obs: Caso deseje priorizar seu serviço, acesse as configurações do módulo BrazilZipCode no admin e adicione seu serviço como o primeiro da lista, assim seu serviço será o primeiro a ser acessado quando o CEP não for localizado no cache ou banco de dados.
Doações
Doe agora e ajude a manter o trabalho! ;)
Pode por PicPay através do usuário @walisson-ferreira ou via github para r-martins.