Grupos

Criar e administrar grupos, participantes e convites.

Basehttps://app.onzap.io/v1/instances/{instanceId}AuthX-Instance-Token: SEU_TOKEN

Criar grupo

POST/v1/instances/{instanceId}/groups
API OnZap

Corpo (JSON)

namestringobrigatório
participantsarray de objectobrigatório
participants[].idstringobrigatório
Requisição
curl -X POST "https://app.onzap.io/v1/instances/SUA_INSTANCIA/groups" \
  -H "X-Instance-Token: $ONZAP_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Equipe Vendas",
    "participants": [
      {
        "id": "123456789@c.us"
      }
    ]
  }'
Resposta

Sucesso

Listar grupos

GET/v1/instances/{instanceId}/groups
API OnZap

Parâmetros de query

sortBystringopcional
Sort by field
sortOrderstringopcional
Sort order - descending (Z => A, New first) or ascending (A => Z, Old first)
limitnumberopcional
offsetnumberopcional
excludearray de stringopcional
Exclude fields
Requisição
curl "https://app.onzap.io/v1/instances/SUA_INSTANCIA/groups" \
  -H "X-Instance-Token: $ONZAP_TOKEN"
Resposta
{}

Dados do grupo antes de entrar

GET/v1/instances/{instanceId}/groups/join-info
API OnZap

Parâmetros de query

codestringobrigatório
Group code (123) or url (https://chat.whatsapp.com/123)
Requisição
curl "https://app.onzap.io/v1/instances/SUA_INSTANCIA/groups/join-info?code=https%3A%2F%2Fchat.whatsapp.com%2F1234567890abcdef" \
  -H "X-Instance-Token: $ONZAP_TOKEN"
Resposta
{}

Entrar no grupo por convite

POST/v1/instances/{instanceId}/groups/join
API OnZap

Corpo (JSON)

codestringobrigatório
Group code (123) or url (https://chat.whatsapp.com/123)
Requisição
curl -X POST "https://app.onzap.io/v1/instances/SUA_INSTANCIA/groups/join" \
  -H "X-Instance-Token: $ONZAP_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "code": "https://chat.whatsapp.com/1234567890abcdef"
  }'
Resposta
{
  "id": "123@g.us"
}

Quantidade de grupos

GET/v1/instances/{instanceId}/groups/count
API OnZap
Requisição
curl "https://app.onzap.io/v1/instances/SUA_INSTANCIA/groups/count" \
  -H "X-Instance-Token: $ONZAP_TOKEN"
Resposta
{
  "count": 0
}

Atualizar grupos do servidor

POST/v1/instances/{instanceId}/groups/refresh
API OnZap
Requisição
curl -X POST "https://app.onzap.io/v1/instances/SUA_INSTANCIA/groups/refresh" \
  -H "X-Instance-Token: $ONZAP_TOKEN"
Resposta

Sucesso

Dados do grupo

GET/v1/instances/{instanceId}/groups/{groupId}
API OnZap

Parâmetros do caminho

groupIdstringobrigatório
Group ID
Requisição
curl "https://app.onzap.io/v1/instances/SUA_INSTANCIA/groups/123123123@g.us" \
  -H "X-Instance-Token: $ONZAP_TOKEN"
Resposta

Sucesso

Sair do grupo

POST/v1/instances/{instanceId}/groups/{groupId}/leave
API OnZap

Parâmetros do caminho

groupIdstringobrigatório
Group ID
Requisição
curl -X POST "https://app.onzap.io/v1/instances/SUA_INSTANCIA/groups/123123123@g.us/leave" \
  -H "X-Instance-Token: $ONZAP_TOKEN"
Resposta

Sucesso

Foto do grupo

GET/v1/instances/{instanceId}/groups/{groupId}/picture
API OnZap

Parâmetros do caminho

groupIdstringobrigatório
Group ID

Parâmetros de query

refreshbooleanopcional
Refresh the picture from the server (24h cache by default). Do not refresh if not needed, you can get rate limit error
Requisição
curl "https://app.onzap.io/v1/instances/SUA_INSTANCIA/groups/123123123@g.us/picture" \
  -H "X-Instance-Token: $ONZAP_TOKEN"
Resposta
{
  "url": "https://exemplo.com.br/arquivos/pedido.jpg"
}

Alterar foto do grupo

PUT/v1/instances/{instanceId}/groups/{groupId}/picture
API OnZap

Parâmetros do caminho

groupIdstringobrigatório
Group ID

Corpo (JSON)

fileobjectobrigatório
Requisição
curl -X PUT "https://app.onzap.io/v1/instances/SUA_INSTANCIA/groups/123123123@g.us/picture" \
  -H "X-Instance-Token: $ONZAP_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "file": {}
  }'
Resposta
{
  "success": true
}

Remover foto do grupo

DELETE/v1/instances/{instanceId}/groups/{groupId}/picture
API OnZap

Parâmetros do caminho

groupIdstringobrigatório
Group ID
Requisição
curl -X DELETE "https://app.onzap.io/v1/instances/SUA_INSTANCIA/groups/123123123@g.us/picture" \
  -H "X-Instance-Token: $ONZAP_TOKEN"
Resposta
{
  "success": true
}

Alterar descrição do grupo

PUT/v1/instances/{instanceId}/groups/{groupId}/description
API OnZap

Parâmetros do caminho

groupIdstringobrigatório
Group ID

Corpo (JSON)

descriptionstringobrigatório
Requisição
curl -X PUT "https://app.onzap.io/v1/instances/SUA_INSTANCIA/groups/123123123@g.us/description" \
  -H "X-Instance-Token: $ONZAP_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "description": "Atendimento de segunda a sexta, das 9h às 18h."
  }'
Resposta

Sucesso

Alterar nome do grupo

PUT/v1/instances/{instanceId}/groups/{groupId}/subject
API OnZap

Parâmetros do caminho

groupIdstringobrigatório
Group ID

Corpo (JSON)

subjectstringobrigatório
Requisição
curl -X PUT "https://app.onzap.io/v1/instances/SUA_INSTANCIA/groups/123123123@g.us/subject" \
  -H "X-Instance-Token: $ONZAP_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "subject": "Equipe Vendas"
  }'
Resposta

Sucesso

Só admins editam dados do grupo

PUT/v1/instances/{instanceId}/groups/{groupId}/settings/security/info-admin-only
API OnZap

Parâmetros do caminho

groupIdstringobrigatório
Group ID

Corpo (JSON)

adminsOnlybooleanobrigatório
Requisição
curl -X PUT "https://app.onzap.io/v1/instances/SUA_INSTANCIA/groups/123123123@g.us/settings/security/info-admin-only" \
  -H "X-Instance-Token: $ONZAP_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "adminsOnly": true
  }'
Resposta

Sucesso

Consultar: só admins editam dados

GET/v1/instances/{instanceId}/groups/{groupId}/settings/security/info-admin-only
API OnZap

Parâmetros do caminho

groupIdstringobrigatório
Group ID
Requisição
curl "https://app.onzap.io/v1/instances/SUA_INSTANCIA/groups/123123123@g.us/settings/security/info-admin-only" \
  -H "X-Instance-Token: $ONZAP_TOKEN"
Resposta
{
  "adminsOnly": true
}

Só admins enviam mensagens

PUT/v1/instances/{instanceId}/groups/{groupId}/settings/security/messages-admin-only
API OnZap

Parâmetros do caminho

groupIdstringobrigatório
Group ID

Corpo (JSON)

adminsOnlybooleanobrigatório
Requisição
curl -X PUT "https://app.onzap.io/v1/instances/SUA_INSTANCIA/groups/123123123@g.us/settings/security/messages-admin-only" \
  -H "X-Instance-Token: $ONZAP_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "adminsOnly": true
  }'
Resposta

Sucesso

Consultar: só admins enviam mensagens

GET/v1/instances/{instanceId}/groups/{groupId}/settings/security/messages-admin-only
API OnZap

Parâmetros do caminho

groupIdstringobrigatório
Group ID
Requisição
curl "https://app.onzap.io/v1/instances/SUA_INSTANCIA/groups/123123123@g.us/settings/security/messages-admin-only" \
  -H "X-Instance-Token: $ONZAP_TOKEN"
Resposta
{
  "adminsOnly": true
}

Quem pode adicionar membros

PUT/v1/instances/{instanceId}/groups/{groupId}/settings/security/member-add-mode
API OnZap

Parâmetros do caminho

groupIdstringobrigatório
Group ID

Corpo (JSON)

membersCanAddNewMemberbooleanobrigatório
Requisição
curl -X PUT "https://app.onzap.io/v1/instances/SUA_INSTANCIA/groups/123123123@g.us/settings/security/member-add-mode" \
  -H "X-Instance-Token: $ONZAP_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "membersCanAddNewMember": true
  }'
Resposta

Sucesso

Consultar quem pode adicionar membros

GET/v1/instances/{instanceId}/groups/{groupId}/settings/security/member-add-mode
API OnZap

Parâmetros do caminho

groupIdstringobrigatório
Group ID
Requisição
curl "https://app.onzap.io/v1/instances/SUA_INSTANCIA/groups/123123123@g.us/settings/security/member-add-mode" \
  -H "X-Instance-Token: $ONZAP_TOKEN"
Resposta
{
  "membersCanAddNewMember": true
}

Exigir aprovação de novos membros

PUT/v1/instances/{instanceId}/groups/{groupId}/settings/security/membership-approval
API OnZap

Parâmetros do caminho

groupIdstringobrigatório
Group ID

Corpo (JSON)

newMembersApprovalRequiredbooleanobrigatório
Requisição
curl -X PUT "https://app.onzap.io/v1/instances/SUA_INSTANCIA/groups/123123123@g.us/settings/security/membership-approval" \
  -H "X-Instance-Token: $ONZAP_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "newMembersApprovalRequired": false
  }'
Resposta
false

Consultar aprovação de novos membros

GET/v1/instances/{instanceId}/groups/{groupId}/settings/security/membership-approval
API OnZap

Parâmetros do caminho

groupIdstringobrigatório
Group ID
Requisição
curl "https://app.onzap.io/v1/instances/SUA_INSTANCIA/groups/123123123@g.us/settings/security/membership-approval" \
  -H "X-Instance-Token: $ONZAP_TOKEN"
Resposta
{
  "newMembersApprovalRequired": false
}

Pedidos pendentes para entrar

GET/v1/instances/{instanceId}/groups/{groupId}/participants/join-requests
API OnZap

Parâmetros do caminho

groupIdstringobrigatório
Group ID
Requisição
curl "https://app.onzap.io/v1/instances/SUA_INSTANCIA/groups/123123123@g.us/participants/join-requests" \
  -H "X-Instance-Token: $ONZAP_TOKEN"
Resposta
[
  {
    "addedById": "123456789@c.us",
    "parentGroupId": "123456789@g.us",
    "requestMethod": "invite_link",
    "requesterId": "123456789@c.us",
    "requesterPn": "123456789@c.us",
    "timestamp": 1666943582
  }
]

Aprovar pedidos para entrar

POST/v1/instances/{instanceId}/groups/{groupId}/participants/join-requests/approve
API OnZap

Parâmetros do caminho

groupIdstringobrigatório
Group ID

Corpo (JSON)

participantsarray de objectobrigatório
participants[].idstringobrigatório
Requisição
curl -X POST "https://app.onzap.io/v1/instances/SUA_INSTANCIA/groups/123123123@g.us/participants/join-requests/approve" \
  -H "X-Instance-Token: $ONZAP_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "participants": [
      {
        "id": "123456789@c.us"
      }
    ]
  }'
Resposta
[
  {
    "error": 404,
    "requesterId": "123456789@c.us",
    "success": true
  }
]

Rejeitar pedidos para entrar

POST/v1/instances/{instanceId}/groups/{groupId}/participants/join-requests/reject
API OnZap

Parâmetros do caminho

groupIdstringobrigatório
Group ID

Corpo (JSON)

participantsarray de objectobrigatório
participants[].idstringobrigatório
Requisição
curl -X POST "https://app.onzap.io/v1/instances/SUA_INSTANCIA/groups/123123123@g.us/participants/join-requests/reject" \
  -H "X-Instance-Token: $ONZAP_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "participants": [
      {
        "id": "123456789@c.us"
      }
    ]
  }'
Resposta
[
  {
    "error": 404,
    "requesterId": "123456789@c.us",
    "success": true
  }
]

Código de convite do grupo

GET/v1/instances/{instanceId}/groups/{groupId}/invite-code
API OnZap

Parâmetros do caminho

groupIdstringobrigatório
Group ID
Requisição
curl "https://app.onzap.io/v1/instances/SUA_INSTANCIA/groups/123123123@g.us/invite-code" \
  -H "X-Instance-Token: $ONZAP_TOKEN"
Resposta
"texto"

Revogar código de convite

POST/v1/instances/{instanceId}/groups/{groupId}/invite-code/revoke
API OnZap

Parâmetros do caminho

groupIdstringobrigatório
Group ID
Requisição
curl -X POST "https://app.onzap.io/v1/instances/SUA_INSTANCIA/groups/123123123@g.us/invite-code/revoke" \
  -H "X-Instance-Token: $ONZAP_TOKEN"
Resposta
"texto"

Participantes do grupo

GET/v1/instances/{instanceId}/groups/{groupId}/participants
API OnZap

Parâmetros do caminho

groupIdstringobrigatório
Group ID
Requisição
curl "https://app.onzap.io/v1/instances/SUA_INSTANCIA/groups/123123123@g.us/participants" \
  -H "X-Instance-Token: $ONZAP_TOKEN"
Resposta

Sucesso

Participantes do grupo (v2)

GET/v1/instances/{instanceId}/groups/{groupId}/participants/v2
API OnZap

Parâmetros do caminho

groupIdstringobrigatório
Group ID
Requisição
curl "https://app.onzap.io/v1/instances/SUA_INSTANCIA/groups/123123123@g.us/participants/v2" \
  -H "X-Instance-Token: $ONZAP_TOKEN"
Resposta
[
  {
    "id": "123456789@lid",
    "pn": "123456789@c.us",
    "role": "participant"
  }
]

Adicionar participantes

POST/v1/instances/{instanceId}/groups/{groupId}/participants/add
API OnZap

Parâmetros do caminho

groupIdstringobrigatório
Group ID

Corpo (JSON)

participantsarray de objectobrigatório
participants[].idstringobrigatório
Requisição
curl -X POST "https://app.onzap.io/v1/instances/SUA_INSTANCIA/groups/123123123@g.us/participants/add" \
  -H "X-Instance-Token: $ONZAP_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "participants": [
      {
        "id": "123456789@c.us"
      }
    ]
  }'
Resposta

Sucesso

Remover participantes

POST/v1/instances/{instanceId}/groups/{groupId}/participants/remove
API OnZap

Parâmetros do caminho

groupIdstringobrigatório
Group ID

Corpo (JSON)

participantsarray de objectobrigatório
participants[].idstringobrigatório
Requisição
curl -X POST "https://app.onzap.io/v1/instances/SUA_INSTANCIA/groups/123123123@g.us/participants/remove" \
  -H "X-Instance-Token: $ONZAP_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "participants": [
      {
        "id": "123456789@c.us"
      }
    ]
  }'
Resposta

Sucesso

Promover a admin

POST/v1/instances/{instanceId}/groups/{groupId}/admin/promote
API OnZap

Parâmetros do caminho

groupIdstringobrigatório
Group ID

Corpo (JSON)

participantsarray de objectobrigatório
participants[].idstringobrigatório
Requisição
curl -X POST "https://app.onzap.io/v1/instances/SUA_INSTANCIA/groups/123123123@g.us/admin/promote" \
  -H "X-Instance-Token: $ONZAP_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "participants": [
      {
        "id": "123456789@c.us"
      }
    ]
  }'
Resposta

Sucesso

Remover de admin

POST/v1/instances/{instanceId}/groups/{groupId}/admin/demote
API OnZap

Parâmetros do caminho

groupIdstringobrigatório
Group ID

Corpo (JSON)

participantsarray de objectobrigatório
participants[].idstringobrigatório
Requisição
curl -X POST "https://app.onzap.io/v1/instances/SUA_INSTANCIA/groups/123123123@g.us/admin/demote" \
  -H "X-Instance-Token: $ONZAP_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "participants": [
      {
        "id": "123456789@c.us"
      }
    ]
  }'
Resposta

Sucesso