Como Criar um Usuário via API

Atualizado em

Neste tutorial, você vai criar um usuário usando a API REST. O processo consiste em enviar os dados do usuário, definir o tipo de perfil (profile_type) e vincular o membro a uma organização por organization_key. Para consultar a referência completa dos endpoints disponíveis, acesse a documentação oficial da API.

I – Definindo os dados do usuário

A requisição aceita um JSON no corpo. Os campos obrigatórios são user.email, profile_type e organization_member.organization_key.

{
  "user": {
    "first_name": "João",
    "last_name": "Silva",
    "email": "joao.silva@example.com",
    "password": "SenhaForte@123"
  },
  "profile_type": "oper",
  "is_active": true,
  "organization_member": {
    "organization_key": "org_abc123"
  }
}

Campos do corpo da requisição:

  • user.first_name (opcional): primeiro nome. Máximo de 150 caracteres.
  • user.last_name (opcional): último nome. Máximo de 150 caracteres.
  • user.email (obrigatório): e-mail de acesso do usuário.
  • user.password (opcional): senha inicial do usuário.
  • profile_type (obrigatório): tipo de membro. Valores permitidos:
ValorSignificado
operColaborador
ownerProprietário da conta
managerAdministrador
screenTela de Autoatendimento
oper-attColaborador - Somente Atendimento
monitorMonitor de chamadas
affiliateUsuário de conta afiliada
  • is_active (opcional): define se o membro será criado como ativo.
  • organization_member.organization_key (obrigatório): chave da organização a qual o membro pertence.

II – Enviando a requisição

Envie uma requisição HTTP POST para:

POST https://painel.meuatendimentovirtual.com.br/api/v1/usuarios/

Configure os seguintes cabeçalhos, usando a chave de API disponível nas configurações da plataforma:

  • accept: application/json
  • Authorization: Bearer <sua-chave-de-api>
  • Content-Type: application/json

Exemplo com cURL:

curl -X POST https://painel.meuatendimentovirtual.com.br/api/v1/usuarios/ \
-H "accept: application/json" \
-H "Authorization: Bearer ba08ab41bd58e9b9f82b4d2788b3cd9999ee9999" \
-H "Content-Type: application/json" \
-d '{
  "user": {
    "first_name": "João",
    "last_name": "Silva",
    "email": "joao.silva@example.com",
    "password": "SenhaForte@123"
  },
  "profile_type": "oper",
  "is_active": true,
  "organization_member": {
    "organization_key": "org_abc123"
  }
}'

Exemplo em Python:

import requests

url = "https://painel.meuatendimentovirtual.com.br/api/v1/usuarios/"
headers = {
    "accept": "application/json",
    "Authorization": "Bearer ba08ab41bd58e9b9f82b4d2788b3cd9999ee9999",
    "Content-Type": "application/json"
}
data = {
    "user": {
        "first_name": "João",
        "last_name": "Silva",
        "email": "joao.silva@example.com",
        "password": "SenhaForte@123"
    },
    "profile_type": "oper",
    "is_active": True,
    "organization_member": {
        "organization_key": "org_abc123"
    }
}

response = requests.post(url, json=data, headers=headers)
print(response.status_code)
print(response.json())

III – Verificando a resposta

Uma criação bem-sucedida retorna o status 201 Created com os dados do membro:

{
  "member_key": "19cdcce6-2630-4000-8aa6-9eb606bf0301",
  "user": {
    "first_name": "João",
    "last_name": "Silva",
    "email": "joao.silva@example.com"
  },
  "profile_type": "oper",
  "is_active": true,
  "organization_member": {
    "organization_key": "org_abc123",
    "organization_name": "Minha Organização"
  }
}

O campo member_key identifica o membro criado dentro da organização.

IV – Erros comuns

  • 400 Bad Request: verifique se user.email, profile_type e organization_member.organization_key foram enviados e se profile_type usa um valor permitido.
  • 401 Unauthorized: a chave de API está ausente ou incorreta no cabeçalho Authorization.

Para configurar usuários pela interface da plataforma, consulte Como Configurar Usuários do Sistema. Se você ainda está organizando serviços e telas antes de liberar acessos da equipe, veja Como Criar um Serviço via API e Como Criar um Totem de Autoatendimento via API.