API

Instância

Ciclo de vida da conexão WhatsApp: criar, QR, horário, settings, proxy, S3 e métricas.

Pairing

GET `/api/instance/connect/{instance}` devolve o QR em cache. POST com `?fresh=1` gera um novo e reinicia o listener (~3 min).

Não faça polling em POST — isso cancela o pairing. Reconnect reativa a sessão sem novo scan.

Logout despareia e mantém o registro. Delete é irreversível (sessão, token e dados).
POST/api/instance/new

Criar

TokenAccount. Body com instanceName e settings opcionais (webhook, proxy, S3, markAsRead, ignoreGroups, keepOnline, rejectCalls).

Auth: TokenAccount

Body

CampoTipoDescrição
instanceNamestringobrigatórioslug único na conta
markAsReadbooleanACK automático
ignoreGroupMessagesbooleanignora grupos no webhook
keepOnlineStatusbooleanpresença online
rejectCallsbooleanrejeita ligações

cURL

curl -X POST https://api.wagzap.com.br/api/instance/new \
  -H "token: $TOKEN_ACCOUNT" \
  -H "Content-Type: application/json" \
  -d '{
  "instanceName": "vendas"
}'
GET/api/instance/list

Listar

Instâncias visíveis para o token, com status e telefone.

Auth: TokenAccount

cURL

curl -X GET https://api.wagzap.com.br/api/instance/list \
  -H "token: $TOKEN_ACCOUNT"
GET/api/instance/connect/{instance}

QR / conectar

Devolve qrCode + base64. Não dispare POST em loop curto.

Auth: TokenInstance

Query

CampoTipoDescrição
fresh1só no POST — gera QR novo
POST/api/instance/reconnect/{instance}

Reconectar

Sem novo QR se a sessão existir. Incluso no crédito — não exige o módulo Horário.

Auth: TokenInstance

POST/api/instance/disconnect/{instance}

Desligar

Desconecta sem logout: sessão preservada e o cronômetro de crédito para. Incluso — não exige o módulo Horário.

Auth: TokenInstance

cURL

curl -X POST https://api.wagzap.com.br/api/instance/disconnect/{instance} \
  -H "token: $TOKEN_INSTANCE"
DELETE/api/instance/logout/{instance}

Logout

Despareia; o registro permanece. Depois precisa de QR novo.

Auth: TokenInstance

DELETE/api/instance/delete/{instance}

Deletar

Irreversível. Também aceita POST no mesmo path.

Auth: TokenAccount

GET/api/instance/schedule/{instance}

Horário

Agenda automática. Só com o módulo Horário pago (403 se não contratou). Desligar na mão é POST /disconnect, incluso.

Auth: TokenInstance

POST/api/instance/schedule/{instance}

Definir horário

mode: always | duration | daily | range. applyToAll grava o padrão da conta. 403 sem o módulo Horário pago. Fora da janela: disconnect, sem logout.

Auth: TokenInstance

Body

CampoTipoDescrição
modestringobrigatórioalways, duration, daily, range
hoursnumberduration: horas a partir de agora
startTimestringHH:MM
endTimestringHH:MM
startDatestringYYYY-MM-DD
endDatestringYYYY-MM-DD
applyToAllbooleanpadrão da conta

cURL

curl -X POST https://api.wagzap.com.br/api/instance/schedule/{instance} \
  -H "token: $TOKEN_INSTANCE" \
  -H "Content-Type: application/json" \
  -d '{
  "mode": "duration",
  "hours": 3
}'
POST/api/instance/settings/{instance}

Atualizar settings

markAsRead, ignoreGroups, keepOnline, rejectCalls, ignoreStatus, syncHistory.

Auth: TokenInstance

Body

CampoTipoDescrição
markAsReadbooleanACK automático
ignoreGroupMessagesbooleannão encaminha grupos
keepOnlineStatusbooleansempre online
rejectCallsbooleanrejeita ligações
GET/api/instance/settings/{instance}

Ler settings

Config atual.

Auth: TokenInstance

POST/api/instance/proxy/{instance}

Definir proxy

Proxy sticky por instância (host, porta, user, pass).

Auth: TokenInstance

GET/api/instance/proxy/{instance}

Ler proxy

Proxy configurado.

Auth: TokenInstance

POST/api/instance/s3/{instance}

Definir S3

Bucket de mídia da instância (endpoint, region, bucket, keys, publicBaseUrl).

Auth: TokenInstance

GET/api/instance/s3/{instance}

Ler S3

Config de armazenamento.

Auth: TokenInstance

GET/api/instance/metrics/{instance}

Métricas

Contadores de mensagens e status.

Auth: TokenInstance