VenddorDocumentação API
API atualAPI legada
Guia rápidoReferência completa
Carregando índice…
API atual/Referência completa/Conta do seller

Equipe da loja

Lista, adiciona, edita e remove as pessoas que acessam o painel do seller, e os grupos que o dono pode conceder.

A equipe é o conjunto de pessoas que acessam o painel de uma mesma loja. O dono monta a equipe: cria o acesso de um funcionário, escolhe o papel (manager ou member) e concede grupos de usuários, que são o que de fato dá permissões. Qualquer pessoa da equipe com permissão de configuração pode ler a lista; só o dono altera.

Sem grupo, sem acesso

Um membro (manager ou member) sem nenhum grupo de usuários é negado em tudo. Sempre envie usergroup_ids com pelo menos um grupo de GET /api/v1/vendor/team/usergroups.

GET/api/v1/vendor/teamSeller

Listar a equipe da loja

Devolve todas as pessoas com acesso à loja do token, incluindo o dono. is_owner diz se quem chama é o dono, para a interface mostrar ou esconder os botões de edição.

Cabeçalhos

Authorizationstringobrigatório
Bearer $TOKEN. Token de acesso do usuário (veja Tokens).

Exemplo de requisição

bash
curl -X GET "$BASE_URL/api/v1/vendor/team" \
  -H "Authorization: Bearer $TOKEN"

Resposta

200Equipe
json
{
  "members": [
    {
      "user_id": "2c8c0f6e-5d1a-4b7e-9a3f-6e0d1b4a7c52",
      "vendor_id": "94bd7e9a-fdad-4d01-8fc2-ba9d677d8b36",
      "role": "owner",
      "first_name": "Ana",
      "last_name": "Lima",
      "email": "ana.lima@example.com",
      "created_at": "2026-09-14T13:22:05Z",
      "status": "A",
      "email_verified": true
    },
    {
      "user_id": "9b1f4a52-3c7e-4d0b-8a61-2f5d7c9e0a14",
      "vendor_id": "94bd7e9a-fdad-4d01-8fc2-ba9d677d8b36",
      "role": "manager",
      "first_name": "Carlos",
      "last_name": "Pereira",
      "email": "carlos.pereira@example.com",
      "created_at": "2026-09-14T13:22:05Z",
      "status": "A",
      "email_verified": true
    }
  ],
  "is_owner": true
}

Campos da resposta

membersobject[]

Pessoas da equipe.

members[].user_iduuid
Id do usuário.
members[].vendor_iduuid
Id do seller.
members[].rolestring
ownermanagermember
Papel na loja.
members[].first_namestring
Nome.
members[].last_namestring
Sobrenome.
members[].emailstring
E-mail de login.
members[].created_atstring
Quando entrou na equipe, RFC 3339 em UTC.
members[].statusstring
Situação da conta do usuário; A é ativa.
members[].email_verifiedboolean
Se o e-mail já foi confirmado.
is_ownerboolean
true quando quem chama é o dono.

Erros

StatusQuandoCorpo de exemplo
401Token ausente, inválido, expirado ou revogado.{"error":"invalid or expired token"}
403Falta ao usuário todos os privilégios de configuração do seller (vendor_settings e afins).{"error":"insufficient vendor privileges","privilege_required_any":["vendor_settings","vendor_view_settings","..."]}
404Usuário sem seller vinculado.{"error":"vendor_not_found"}
500Falha ao listar.{"error":"list_team_failed","detail":"..."}
GET/api/v1/vendor/team/usergroupsSeller

Listar grupos que o dono pode conceder

Devolve os grupos de usuários de seller que a plataforma liberou para o dono conceder à equipe. É a lista exata que usergroup_ids aceita; qualquer outro id é recusado.

Cabeçalhos

Authorizationstringobrigatório
Bearer $TOKEN. Token de acesso do usuário (veja Tokens).

Exemplo de requisição

bash
curl -X GET "$BASE_URL/api/v1/vendor/team/usergroups" \
  -H "Authorization: Bearer $TOKEN"

Resposta

200Grupos concedíveis
json
{
  "usergroups": [
    {
      "id": "5a0e6d3c-1b2f-4c84-9d17-7e3a8f2b6c90",
      "name": "Operador de pedidos",
      "description": "Acompanha e despacha pedidos",
      "type": "V",
      "status": "A",
      "vendor_manageable": true,
      "members_count": 3,
      "created_at": "2026-08-02T12:00:00Z",
      "updated_at": "2026-08-02T12:00:00Z",
      "internal_code": ""
    }
  ],
  "total": 1
}

Campos da resposta

usergroupsobject[]

Grupos disponíveis.

usergroups[].iduuid
Id do grupo, o valor de usergroup_ids.
usergroups[].namestring
Nome do grupo.
usergroups[].descriptionstring
Descrição.
usergroups[].typestring
Tipo do grupo; aqui sempre V (seller).
usergroups[].statusstring
Situação; aqui sempre A (ativo).
usergroups[].vendor_manageableboolean
Sempre true aqui: o grupo pode ser concedido pelo dono.
usergroups[].members_countinteger
Quantas pessoas estão no grupo.
totalinteger
Quantidade de grupos.

Erros

StatusQuandoCorpo de exemplo
401Token ausente, inválido, expirado ou revogado.{"error":"invalid or expired token"}
403Falta ao usuário todos os privilégios de configuração do seller (vendor_settings e afins).{"error":"insufficient vendor privileges","privilege_required_any":["vendor_settings","vendor_view_settings","..."]}
404Usuário sem seller vinculado.{"error":"vendor_not_found"}
500Falha ao listar os grupos.{"error":"usergroups_failed","detail":"..."}
POST/api/v1/vendor/teamSeller

Adicionar pessoa à equipe

Só o dono pode chamar. Cria a conta de seller (ou reaproveita uma existente), vincula à loja com o papel dado e concede os grupos. Os grupos são validados antes de qualquer coisa ser criada: se um deles não for permitido, nada é criado.

Cabeçalhos

Authorizationstringobrigatório
Bearer $TOKEN. Token de acesso do usuário (veja Tokens).

Corpo da requisição

emailstringobrigatório
E-mail do novo membro. Se já existir uma conta de seller com esse e-mail, ela é apenas vinculada à loja.
first_namestring
Nome. Usado só quando a conta é criada.
last_namestring
Sobrenome. Usado só quando a conta é criada.
passwordstring
Senha inicial. Obrigatória quando o e-mail ainda não tem conta; ignorada se a conta já existe.
rolestringpadrão: member
managermember
Papel na equipe. owner não pode ser criado por aqui.
usergroup_idsuuid[]
Grupos a conceder, tirados de GET /api/v1/vendor/team/usergroups. Sem nenhum, a pessoa não consegue fazer nada.

Exemplo de requisição

bash
curl -X POST "$BASE_URL/api/v1/vendor/team" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
  "email": "carlos.pereira@example.com",
  "first_name": "Carlos",
  "last_name": "Pereira",
  "password": "SenhaForte#2026",
  "role": "manager",
  "usergroup_ids": [
    "5a0e6d3c-1b2f-4c84-9d17-7e3a8f2b6c90"
  ]
}'

Resposta

201Membro adicionado
json
{
  "user_id": "9b1f4a52-3c7e-4d0b-8a61-2f5d7c9e0a14",
  "members": [
    {
      "user_id": "9b1f4a52-3c7e-4d0b-8a61-2f5d7c9e0a14",
      "vendor_id": "94bd7e9a-fdad-4d01-8fc2-ba9d677d8b36",
      "role": "manager",
      "first_name": "Carlos",
      "last_name": "Pereira",
      "email": "carlos.pereira@example.com",
      "created_at": "2026-09-14T13:22:05Z",
      "status": "A",
      "email_verified": true
    }
  ]
}

Campos da resposta

user_iduuid
Id do usuário adicionado.
membersobject[]
A equipe completa depois da inclusão (mesmos campos da listagem).

Erros

StatusQuandoCorpo de exemplo
401Token ausente, inválido, expirado ou revogado.{"error":"invalid or expired token"}
403Falta ao usuário todos os privilégios de configuração do seller (vendor_settings e afins).{"error":"insufficient vendor privileges","privilege_required_any":["vendor_settings","vendor_view_settings","..."]}
403Quem chama não é o dono.{"error":"owner_only","detail":"only the store owner can manage administrators"}
403Algum usergroup_ids não pode ser concedido por esta loja.{"error":"usergroup_not_grantable","detail":"usergroup is not grantable by this vendor"}
400email ausente.{"error":"email_required","detail":"email is required"}
400role diferente de manager e member.{"error":"invalid_role","detail":"role must be 'manager' or 'member'"}
400E-mail novo sem password.{"error":"password_required","detail":"a password is required to create a new vendor administrator"}
409O e-mail já pertence a uma conta que não é de seller.{"error":"email_in_use","detail":"this email already belongs to a non-vendor account"}
400Falha ao criar a conta ou vincular à loja (a mensagem de detalhe explica).{"error":"user_create_failed","detail":"..."}
Grupo que falha em silêncio

Depois que a pessoa é vinculada, cada grupo é concedido em sequência e uma falha individual é ignorada sem erro. Confira o resultado em me/privileges do novo usuário.

PUT/api/v1/vendor/team/{userId}Seller

Editar membro da equipe

Só o dono pode chamar, e só sobre membros da própria loja. Atualiza dados da pessoa, o papel e, opcionalmente, concede grupos. Não promove ninguém a administrador da plataforma e não edita o dono.

Cabeçalhos

Authorizationstringobrigatório
Bearer $TOKEN. Token de acesso do usuário (veja Tokens).

Parâmetros de caminho

userIduuidobrigatório
Id do membro (user_id da listagem).

Corpo da requisição

first_namestring
Nome.
last_namestring
Sobrenome.
emailstring
E-mail de login. Se já estiver em uso, a resposta é 400.
phonestring
Telefone.
statusstring
Situação da conta do membro (por exemplo, para desativá-lo).
languagestring
Idioma preferido.
rolestring
managermember
Novo papel.
usergroup_idsuuid[]
Grupos a conceder. Acrescenta aos que a pessoa já tem; não remove nenhum.

Os campos de cadastro do usuário não listados aqui (moeda, fuso, comunicação, etc.) também são aceitos e seguem as regras da edição de usuários. user_type e is_root são sempre ignorados.

Exemplo de requisição

bash
curl -X PUT "$BASE_URL/api/v1/vendor/team/9b1f4a52-3c7e-4d0b-8a61-2f5d7c9e0a14" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
  "first_name": "Carlos",
  "phone": "+55 11 91234-5678",
  "role": "member",
  "usergroup_ids": [
    "5a0e6d3c-1b2f-4c84-9d17-7e3a8f2b6c90"
  ]
}'

Resposta

200Membro atualizado
json
{
  "user": {
    "id": "9b1f4a52-3c7e-4d0b-8a61-2f5d7c9e0a14",
    "first_name": "Carlos",
    "last_name": "Pereira",
    "email": "carlos.pereira@example.com",
    "phone": "+55 11 91234-5678",
    "user_type": "vendor",
    "status": "A"
  },
  "members": [
    {
      "user_id": "9b1f4a52-3c7e-4d0b-8a61-2f5d7c9e0a14",
      "vendor_id": "94bd7e9a-fdad-4d01-8fc2-ba9d677d8b36",
      "role": "manager",
      "first_name": "Carlos",
      "last_name": "Pereira",
      "email": "carlos.pereira@example.com",
      "created_at": "2026-09-14T13:22:05Z",
      "status": "A",
      "email_verified": true
    }
  ]
}

Campos da resposta

userobject
O registro atualizado do usuário (campos de usuário, resumidos no exemplo).
membersobject[]
A equipe completa, mesmos campos da listagem.

Erros

StatusQuandoCorpo de exemplo
401Token ausente, inválido, expirado ou revogado.{"error":"invalid or expired token"}
403Falta ao usuário todos os privilégios de configuração do seller (vendor_settings e afins).{"error":"insufficient vendor privileges","privilege_required_any":["vendor_settings","vendor_view_settings","..."]}
403Quem chama não é o dono.{"error":"owner_only","detail":"only the store owner can manage administrators"}
403O alvo é o dono.{"error":"cannot_edit_owner","detail":"the store owner is edited from account settings"}
403Grupo não concedível por esta loja.{"error":"usergroup_not_grantable","detail":"usergroup is not grantable by this vendor"}
404A pessoa não é da equipe desta loja.{"error":"not_team_member","detail":"user is not a member of your team"}
400E-mail em uso, valor inválido ou role fora de manager e member.{"error":"email already in use"}
500Falha ao atualizar.{"error":"update_failed","detail":"..."}
DELETE/api/v1/vendor/team/{userId}Seller

Remover membro da equipe

Só o dono pode chamar. Tira a pessoa da equipe da loja; a partir daí as rotas do seller recusam o usuário. A conta de login dela não é apagada. O dono não pode ser removido.

Cabeçalhos

Authorizationstringobrigatório
Bearer $TOKEN. Token de acesso do usuário (veja Tokens).

Parâmetros de caminho

userIduuidobrigatório
Id do membro (user_id da listagem).

Exemplo de requisição

bash
curl -X DELETE "$BASE_URL/api/v1/vendor/team/9b1f4a52-3c7e-4d0b-8a61-2f5d7c9e0a14" \
  -H "Authorization: Bearer $TOKEN"

Resposta

200Membro removido
json
{
  "removed": true
}

Erros

StatusQuandoCorpo de exemplo
401Token ausente, inválido, expirado ou revogado.{"error":"invalid or expired token"}
403Falta ao usuário todos os privilégios de configuração do seller (vendor_settings e afins).{"error":"insufficient vendor privileges","privilege_required_any":["vendor_settings","vendor_view_settings","..."]}
403Quem chama não é o dono.{"error":"owner_only","detail":"only the store owner can manage administrators"}
409A pessoa é o dono.{"error":"cannot_remove_owner","detail":"..."}
400Falha ao remover (por exemplo, a pessoa não está na equipe).{"error":"team_remove_failed","detail":"..."}

Veja também

  • Minha conta de seller
  • Recursos da loja
  • Erros da API
  • Conta do seller
Anterior
Recursos da loja
Próxima
Cadastro de aprovação
Nesta página
  • Exemplo de requisição
  • Resposta
  • Erros
  • Exemplo de requisição
  • Resposta
  • Erros
  • Exemplo de requisição
  • Resposta
  • Erros
  • Exemplo de requisição
  • Resposta
  • Erros
  • Exemplo de requisição
  • Resposta
  • Erros
  • Veja também