Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feat: Adicionei suporte para obter o Catálogos de Produtos e as Coleções de Produtos para a versão 2.2.3 #1201

Merged
merged 2 commits into from
Feb 4, 2025

Conversation

wayre
Copy link

@wayre wayre commented Feb 4, 2025

🛍️ Adição de suporte para recuperar o catálogo e coleções de produtos do WhatsApp Business

🌟 Motivação

Percebi que a API Evolution ainda não oferecia suporte para obter o catálogo de produtos e as coleções de uma conta WhatsApp Business. Como isso pode ser útil para quem deseja integrar automações ou exibir os produtos via API, resolvi fazer esse fork e implementar essa funcionalidade.

Estou abrindo este PR com a intenção de contribuir e, caso faça sentido para o projeto, fico à disposição para ajustes ou melhorias! 😊

✨ O que foi adicionado?

  • 📌 Uma nova rota para buscar o catálogo de produtos
  • 📌 Uma nova rota para obter as coleções de produtos associadas à conta
  • 📌 Resposta estruturada no seguinte formato:

Collections

Requisição:

curl --location 'http://localhost:8080/chat/fetchCollections/instancia01' \
--header 'Content-Type: application/json' \
--header 'apikey: ••••••' \
--data '{
"number": "5511988888888"
}'

Saída

{
    "wuid": "[email protected]",
    "name": "Fulano da Silva",
    "numberExists": true,
    "isBusiness": true,
    "catalogLength": 10,
    "catalogCollections": [
        {
            "id": "1393760778678595",
            "name": "linha 16",
            "products": [
                {
                    "id": "4716667278401015",
                    "imageUrls": {
                        "requested": "https://example.com/image1.jpg",
                        "original": "https://example.com/image2.jpg"
                    },
                    "reviewStatus": {
                        "whatsapp": "APPROVED"
                    },
                    "availability": "in stock",
                    "name": "16 pro max 256 natural novo lacrado",
                    "description": "1 ano garantia fabricante\nParcelas a partir de 470,00 no cartão crédito\nÀ vista pix ou dinheiro",
                    "price": 7990000,
                    "currency": "BRL",
                    "isHidden": false
                }
            ]
        }
    ]
}

Catálogos

### Requisição:

curl --location 'http://localhost:8080/chat/fetchCatalog/instancia01' \
--header 'Content-Type: application/json' \
--header 'apikey: 429683C4C977415CDSAAAE10F7D57E11' \
--data '{
    "number": "551198888888",
    "limit": 20
}'

Saída

{
  "wuid": "[email protected]",
  "name": "Fulano da Silva",
  "numberExists": true,
  "isBusiness": true,
  "catalogLength": 20,
  "catalog": [
    {
      "id": "4716662348401015",
      "imageUrls": {
        "requested": "https://media-ord5-1.cdn.whatsapp.net/v/t45.5328-4/475553146_507488685255896_4025307031280341321_n.jpg?stp=dst-jpg_p100x100_tt6&ccb=1-7&_nc_sid=657aed&_nc_ohc=wERMjhnyTCgQ7kNvgE712F4&_nc_ad=z-m&_nc_cid=0&_nc_zt=23&_nc_ht=media-ord5-1.cdn.whatsapp.net&_nc_gid=Aa9Y8JgLdQ_Lxj9YzMc6Olh&oh=01_Q5AaIIkytdatcCiqq3XGCsvOvdAJ8YFGKThQBQnlaSBl_h3f&oe=67A78873",
        "original": "https://media-ord5-1.cdn.whatsapp.net/v/t45.5328-4/475553146_507488685255896_4025307031280341321_n.jpg?ccb=1-7&_nc_sid=657aed&_nc_ohc=wERMjhnyTCgQ7kNvgE712F4&_nc_ad=z-m&_nc_cid=0&_nc_zt=23&_nc_ht=media-ord5-1.cdn.whatsapp.net&_nc_gid=Aa9Y8JgLdQ_Lxj9YzMc6Olh&oh=01_Q5AaIBgtbU-DMznae5BJl8u8ruYwRrmadfR_bh0H-vITx6Ja&oe=67A78873"
      },
      "reviewStatus": {
        "whatsapp": "APPROVED"
      },
      "availability": "in stock",
      "name": "16 pro max 256 natural novo lacrado",
      "description": "1 ano garantia fabricante \nParcelas a partir de 470,00 no cartão crédito\nA vista pix ou pinheiro",
      "price": 7990000,
      "currency": "BRL",
      "isHidden": false
    }  
 ]
}

🛠️ Como funciona?

A API agora consegue recuperar todos os produtos do catálogo e suas respectivas coleções, trazendo informações como nome, descrição, preço, disponibilidade e imagens.

🤝 Contribuição

Se essa melhoria for útil para o projeto, ficarei feliz em ajudar com qualquer ajuste necessário. Caso haja algo que possa ser melhorado ou adaptado para seguir os padrões da API Evolution, estou aberto a sugestões! 😃

Agradeço desde já pelo tempo de revisão e pelo trabalho incrível que fazem com essa API! 🚀

…{baseUrl}}/chat/fetchCatalogs' and '{{baseUrl}}/chat/fetchCollections'
@DavidsonGomes
Copy link
Collaborator

Excelente!

Por favor para manter a qualidade ajuste o eslint ok?

comando: npm run lint

@wayre
Copy link
Author

wayre commented Feb 4, 2025

Certo. Eslint aplicado.

@DavidsonGomes DavidsonGomes merged commit b143363 into EvolutionAPI:develop Feb 4, 2025
1 check passed
@wayre wayre deleted the catalogProducts branch February 4, 2025 13:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants