Go SDK for integrating with Evolution API.
This repository organizes the project modules by responsibility (API client, tests, helper scripts), with a focus on:
- ease of use for WhatsApp integrations
- strong typing for HTTP contracts
- contract and integration tests
- incremental evolution based on Evolution API upstream contracts
The goal of this project is to provide a Go layer for consuming Evolution API endpoints with local payload validation, typed responses, and test mocks.
Main SDK module.
Includes:
- HTTP client and configuration (
NewEvolutionClient) - domain services (instance, message, chat, group, settings, etc.)
- request/response models
- mocks for unit tests
- test suite (contract + integration)
Full module documentation: api/README.md
Helper scripts for development workflows.
Currently:
find-affected-services.sh: helps identify services affected by changes
go.work: defines active Go modules in the workspaceapi/go.mod: dependencies and Go version for theapimodule
Prerequisites:
- Go 1.26+
Install dependencies for the API module:
cd api
go mod tidyRun contract/unit tests:
go test ./... -count=1Integration tests in the api module use Docker (testcontainers) and environment variables.
See:
Typical run:
cd api
go test ./... -run Integration -v -count=1- Evolution API documentation: https://doc.evolution-api.com/v2/
- Official Evolution repository: https://github.com/evolution-foundation/evolution-api