Imagem pronta
O jeito mais rápido: a imagem direto do GHCR.
WhatsApp
docker pull ghcr.io/instituto-ama/whatsapp-mock:latest
docker run -d -p 3010:3010 ghcr.io/instituto-ama/whatsapp-mock:latest
Painel e API em localhost:3010
Mailpit, a caixa dos e-mails ao pagador
docker run -d -p 8025:8025 axllent/mailpit:v1.31.4
Caixa de entrada em localhost:8025
Asaas
docker pull ghcr.io/instituto-ama/asaas-mock:latest
docker run -d -p 45445:45445 -e CLOCK_MODE=VIRTUAL_FLOWING \
ghcr.io/instituto-ama/asaas-mock:latest
Painel e API em localhost:45445, com o relógio virtual ligado. O Asaas acha o WhatsApp, o SMS e o Mailpit sozinho: cada cobrança já avisa o pagador nos três.
No seu docker-compose
Para subir junto com a sua aplicação, no compose dela. Nada para ligar: o Asaas acha o WhatsApp, o SMS e o Mailpit pelo nome do serviço.
services:
asaas:
image: ghcr.io/instituto-ama/asaas-mock:0.11.0
ports:
- '45445:45445'
environment:
ASAAS_API_KEY: '$$aact_hmlg_local' # `$$` é um `$` literal no compose
CLOCK_MODE: VIRTUAL_FLOWING
depends_on: [whatsapp, mailpit, sms]
volumes:
- asaas-data:/data
whatsapp:
image: ghcr.io/instituto-ama/whatsapp-mock:0.5.0
ports:
- '3010:3010'
environment:
WEBHOOK_URL: http://minha-app:4000/webhooks/whatsapp # a sua aplicação
MOCK_ALLOWED_HOSTS: whatsapp # a sua aplicação chama por este nome
volumes:
- whatsapp-data:/app/data
mailpit:
image: axllent/mailpit:v1.31.4
ports:
- '8025:8025'
sms:
image: ghcr.io/instituto-ama/sms-mock:0.2.0
ports:
- '8899:8899'
volumes:
asaas-data:
whatsapp-data:
Da sua aplicação: http://asaas:45445/v3 e http://whatsapp:3010/v23.0. Os avisos ao pagador em localhost:8025 (e-mail), localhost:3010 (WhatsApp) e localhost:8899 (SMS).
Gerar do código
Para rodar a partir do código-fonte, ou depois de alterar um mock.
git clone https://github.com/Instituto-AMA/ama4devs.git
cd ama4devs
WhatsApp
docker build -t whatsapp-mock mocks/whatsapp
docker run -d -p 3010:3010 whatsapp-mock
Asaas
docker build -t asaas-mock mocks/asaas
docker run -d -p 45445:45445 -e CLOCK_MODE=VIRTUAL_FLOWING asaas-mock
Com o WhatsApp, o SMS e o Mailpit no ar, o Asaas acha os três sozinho, como na imagem pronta.
Subir tudo junto
Os mocks e o Mailpit, já conectados. Toda cobrança do Asaas avisa o pagador por e-mail (no Mailpit), por um template de WhatsApp (no mock do WhatsApp) e, para quem tem celular cadastrado, por SMS (no mock de SMS).
git clone https://github.com/Instituto-AMA/ama4devs.git
cd ama4devs
make setup # sobe tudo e grava os endereços no .env
| Serviço | Endereço | O que você abre ali |
| Mock do WhatsApp | localhost:3010 | Conversas, templates, números, ligações; a API em /v23.0 |
| Mock do Asaas | localhost:45445 | O painel do simulador e o relógio; a API em /v3 |
| Mock do SMS | localhost:8899 | As mensagens enviadas aos pagadores |
| Mailpit | localhost:8025 | Os e-mails enviados aos pagadores |
Para apontar o seu projeto: grave os endereços no .env dele e troque as URLs base.
make setup TARGET_ENV=../meu-app/.env
- https://graph.facebook.com/v23.0
+ http://localhost:3010/v23.0
- https://api-sandbox.asaas.com/v3
+ http://localhost:45445/v3