Instância
Nova instância
Provisiona uma nova instância e, opcionalmente, já configura webhook, WebSocket, Chatwoot, proxy, S3 e settings no mesmo request
POST
Nova instância
Auth:
Você pode corrigir as credenciais via
Exemplo de erro:
TokenAccount • Rate-limit: 20/min • Idempotente: não
Descrição
Cria uma nova instância de WhatsApp na sua conta. A instância nasce desconectada, o próximo passo é chamarGET /api/instance/connect/:instance para obter o QR code ou pairing code.
Durante a criação, você pode enviar, no mesmo body, a configuração inicial de proxy, webhook, WebSocket, integração Chatwoot, ajustes de comportamento e armazenamento S3. Cada bloco é independente: passe apenas o que precisar.
Exemplos
Mínimo
Cria a instância só com oname. O TokenInstance é gerado automaticamente pelo servidor e devolvido em instance.token na resposta, guarde-o para autenticar chamadas subsequentes.
Com Token personalizado
Define manualmente oTokenInstance no campo token em vez de deixar o servidor gerar. Útil para reutilizar um valor já cadastrado em outro sistema, o token precisa ser único na sua conta.
Com configurações personalizadas
Cria a instância já com o bloco desettings definido: rejeita chamadas automaticamente com mensagem padrão, mantém presença online, desativa sync de histórico e ignora stories. Equivale a chamar POST /api/instance/settings/:instance logo depois.
Com Proxy
Já provisiona a instância apontando para um proxy SOCKS5 autenticado. A senha é encriptada at-rest com AES-256-GCM e nunca volta na resposta.Com Webhook
Configura, no mesmo request, o webhookdefault recebendo apenas os eventos message.exchange e call.update, com Authorization custom para validar a origem. Mídias não vão em base64, o destino busca pela URL retornada.
Com Websocket
Habilita o broadcast em tempo real via WebSocket filtrando pelos eventosmessage.exchange e call.update. Útil para dashboards e bots que precisam de latência mínima sem expor um endpoint público para webhook.
Com S3
Já aponta o storage de mídia para um bucket AWS S3 (us-east-1), com prefixo media/ para organizar uploads. A s3SecretKey é encriptada at-rest e nunca aparece na resposta.
Com Chatwoot
Provisiona a instância já vinculada a um inbox Chatwoot (WhatsApp - Orion), com assinatura de agente ativa e reabertura automática de conversas resolvidas. Se a ativação do Chatwoot falhar, a instância é criada mesmo assim e o objeto chatwoot volta com status: "error".
Completo
Combina todos os blocos no mesmo request: token custom, proxy SOCKS5, webhook, WebSocket, integração Chatwoot, settings de comportamento e storage S3. Cada bloco continua independente, falhas em sub-blocos não abortam a criação da instância.Resposta de sucesso
A resposta inclui o TokenInstance gerado e o resumo de cada integração configurada (proxy, webhook, websocket, chatwoot, settings, s3). Guarde oinstance.token, é com ele que você autentica chamadas subsequentes da própria instância.
201 Created
O
chatwootApiToken não é retornado nesta resposta (é exposto em plaintext apenas em GET /api/chatwoot/list/:instance). O s3.secretKey e o proxy.password nunca são retornados por nenhum endpoint.Chatwoot com erro
Se o blocochatwoot* foi enviado mas a configuração falhou (ex.: token inválido), a instância é criada mesmo assim e o objeto chatwoot na resposta vem com status: "error" e uma error acionável:
POST /api/chatwoot/set/:instance sem precisar recriar a instância.
Headers
Seu TokenAccount.
application/jsonRequest body
Identificador da instância (usado nos paths
:instance em todos os outros endpoints). Não pode estar em branco e precisa ser único na sua conta. Recomenda-se kebab-case ou snake_case.Token custom para a instância. Se omitido, é gerado automaticamente (recomendado).
Bloco proxy (opcional)
Ativa uso de proxy específico para esta instância.
IP ou hostname do proxy.
Porta como string (ex.:
"8080").http, https ou socks5.Usuário do proxy (opcional).
Senha do proxy (opcional, encriptada at-rest com AES-256-GCM).
Bloco webhook (opcional)
Ativa o envio de eventos para uma URL.
URL para onde a RyzeAPI vai fazer POST dos eventos.
Valor que a RyzeAPI envia no header
Authorization de cada POST (útil para validar origem). Ex.: Bearer secret-key-123.Se
true, cada tipo de evento pode ter sua própria URL (padrão: false).Lista de eventos que a instância deve despachar. Ex.:
["message.exchange", "call.update"].Inclui mídia recebida em base64 dentro do corpo do webhook.
O bloco webhook cria um webhook com label
default. Para múltiplos webhooks por instância, use POST /api/events/webhook depois.Bloco WebSocket (opcional)
Ativa o broadcast de eventos via WebSocket para essa instância.
Lista de eventos que serão emitidos via WebSocket. Se vier vazio com
websocketEnabled=true, todos os eventos são emitidos.Inclui mídia recebida em base64 nos frames do WebSocket.
Bloco Chatwoot (opcional)
Ativa a integração Chatwoot.
URL da instalação Chatwoot (ex.:
https://chatwoot.example.com). Obrigatório se chatwootEnabled=true.ID numérico da conta Chatwoot. Obrigatório se
chatwootEnabled=true.API token da conta Chatwoot (
access_token do agente). Obrigatório se chatwootEnabled=true. Encriptado at-rest. Não é retornado nesta resposta, mas é exposto em plaintext em GET /api/chatwoot/list/:instance.Nome do inbox que será criado no Chatwoot (ex.:
"WhatsApp - Orion").Se
true, mensagens enviadas pela API são prefixadas com a assinatura do agente Chatwoot.Se
true, mensagens de grupos não viram conversas no Chatwoot.Se
true, conversas novas começam como pending em vez de open.Se
true, mensagens novas em conversas resolvidas reabrem-nas automaticamente.Bloco settings (opcional)
Rejeita chamadas recebidas automaticamente.
Mensagem automática enviada ao chamador quando a chamada é rejeitada.
Não processa mensagens de grupo (útil para bots 1-a-1).
Mantém a instância marcada como “online” no WhatsApp.
Marca automaticamente mensagens recebidas como lidas.
Padrão
true (histórico não é sincronizado na primeira conexão). Envie false se quiser receber o backlog.Ignora mensagens do tipo “status” (stories).
Bloco S3 (opcional, armazenamento de mídias)
Ativa upload de mídias recebidas para S3 ou MinIO.
Região (ex.:
us-east-1).Nome do bucket.
Access Key ID.
Secret Access Key (encriptada at-rest, nunca retornada).
Endpoint custom para MinIO ou DigitalOcean Spaces. Omita para AWS S3 oficial.
Prefixo de path (ex.:
media/).Erros
| HTTP | error.message | Quando |
|---|---|---|
| 400 | Invalid request body | JSON malformado |
| 400 | The 'name' field is required | name ausente ou em branco |
| 401 | Invalid token | TokenAccount inválido |
| 403 | Account instance quota exceeded | Cota de instâncias atingida |
| 409 | Instance or token already exists | Nome ou token já em uso |
| 429 | Rate limit exceeded. Try again later. | Mais de 20 criações por minuto |
| 500 | Failed to create instance | Erro interno |
Próximo
Conectar ao WhatsApp
Gere o QR code ou pairing code para vincular o número.
Verificar estado
Use
GET /api/instance/list?instanceName=<nome> para conferir o status atual.