Gerenciar membros da equipe

Membros da equipe

Liste, leia, crie, atualize, ative, desative e exclua os membros da equipe da sua conta, incluindo as pastas a que cada membro fica restrito.

APIs usadas nesta discussão

Algo impreciso ou desatualizado neste guia?

O que você pode fazer

Os membros da equipe são os usuários vendor da sua conta. A API permite gerenciá-los de ponta a ponta e controlar a quais pastas cada membro fica restrito (um membro só vê os flipbooks dentro das pastas atribuídas a ele). As senhas nunca são retornadas por nenhum destes endpoints.

  • List — liste os membros da equipe da sua conta, filtrados pelo status de ativo.
  • Read — leia um único membro pelo ID de membro dele, incluindo as pastas atribuídas a ele.
  • Create or update — crie ou atualize um membro, definindo o nome, o e-mail, a senha, a imagem de perfil e o escopo de pastas.
  • Activate or deactivate — ative ou desative um membro, controlando se ele pode entrar.
  • Delete — exclua (soft delete) um membro, o que o desativa mantendo o histórico dele intacto.

Antes de começar

  • Uma chave de API — enviada como cabeçalho X-Api-Key, ou como Authorization: Bearer YOUR_API_KEY, em toda requisição.
  • Todas as requisições vão para a URL base https://go.fliplink.me.
  • Vários endpoints recebem um parâmetro de caminho {memberId} — este é o ID de membro da equipe vindo do List Team Members, não um ID de flipbook. Passar um ID desconhecido retorna um erro cuja mensagem depende do endpoint: o Get Team Member retorna "Team member not found", enquanto o Set Team Member Active e o Delete Team Member retornam "Item not found".
  • Os endpoints de escrita (set-team-member e set-team-member-active) recebem um corpo form-urlencoded (não JSON).

List — liste os membros da equipe

GET /api/list-team-members lista os membros da equipe da sua conta com os detalhes de acesso deles, incluindo as pastas atribuídas a cada membro. Filtre por IsActive (1 = ativo, o padrão; 0 = inativo).

curl -X GET 'https://go.fliplink.me/api/list-team-members?IsActive=1' \
  -H 'X-Api-Key: YOUR_API_KEY'

Resposta:

{
  "Result": "OK",
  "Items": [
    {
      "ID": 45452,
      "Name": "Jane Doe",
      "Email": "member@example.com",
      "IsActive": "True",
      "PhotoIMG": "",
      "Total": 0
    }
  ]
}

Read — obtenha um único membro da equipe

GET /api/get-team-member/{memberId} retorna um único membro pelo ID de membro dele — nome, e-mail, status de verificação de e-mail (IsEmailVerified) e as pastas atribuídas a ele. O membro é retornado envolvido em um objeto Item, e Folders é uma lista separada por vírgulas das pastas que ele pode acessar (vazio = sem restrição de pasta). O memberId é o ID de membro da equipe vindo do List Team Members — não um ID de flipbook.

curl -X GET 'https://go.fliplink.me/api/get-team-member/96216' \
  -H 'X-Api-Key: YOUR_API_KEY'

Resposta:

{
  "Result": "OK",
  "Item": {
    "ID": 45452,
    "Email": "member@example.com",
    "Name": "Jane Doe",
    "Phone": "",
    "PhotoIMG": "",
    "IsEmailVerified": false,
    "Folders": "Marketing,Sales"
  }
}

Create or update — crie ou atualize um membro da equipe

POST /api/set-team-member cria um novo membro da equipe ou atualiza um existente, controlando quem pode acessar sua conta e, pelo campo Folders, a quais pastas ele fica restrito. Omita ID ou envie -1 para criar; envie um ID maior que 0 para atualizar. Em caso de sucesso, uma entrada no log de auditoria é gravada. O corpo é form-urlencoded.

Algumas observações da spec:

  • O nome do membro é um único campo Name — não há FirstName/LastName.
  • Folders é uma lista separada por vírgulas de nomes de pasta (por exemplo, Marketing,Sales); deixe vazio para nenhuma restrição de pasta. O membro só pode acessar flipbooks dentro dessas pastas.
  • Password é texto puro e é criptografada no servidor; deixá-la vazia na atualização mantém a senha existente.
  • O e-mail não pode já pertencer a um usuário do FlipLink, e e-mails com alias + são rejeitados.
curl -X POST 'https://go.fliplink.me/api/set-team-member' \
  -H 'X-Api-Key: YOUR_API_KEY' \
  --data-urlencode 'Name=Jane' \
  --data-urlencode 'Email=jane@example.com' \
  --data-urlencode 'ID=-1' \
  --data-urlencode 'Password=' \
  --data-urlencode 'ProfileImage=' \
  --data-urlencode 'Folders='

Resposta (criação):

{
  "Result": "OK",
  "Message": "Team member created"
}

Quando ID é informado (o caminho de atualização), a mensagem é "Updated successfully".

Activate or deactivate — ative ou desative um membro da equipe

PUT /api/set-team-member-active/{memberId} ativa ou desativa um membro, controlando se ele pode entrar e acessar a conta. O corpo é form-urlencoded com um único campo IsActive.

curl -X PUT 'https://go.fliplink.me/api/set-team-member-active/96216' \
  -H 'X-Api-Key: YOUR_API_KEY' \
  --data-urlencode 'IsActive=true'

Resposta:

{
  "Result": "OK",
  "Message": "Updated successfully"
}

Delete — exclua um membro da equipe

DELETE /api/delete-team-member/{memberId} é um soft delete (desativação) — os membros da equipe nunca são excluídos de forma definitiva. Ele desativa o membro (um alias REST para o set-team-member-active com IsActive=false). O histórico de pagamentos e as referências de auditoria dele ficam intactos, e ele pode ser reativado depois via PUT /api/set-team-member-active (IsActive=true).

curl -X DELETE 'https://go.fliplink.me/api/delete-team-member/96216' \
  -H 'X-Api-Key: YOUR_API_KEY'

Resposta:

{
  "Result": "OK",
  "Message": "Team member deactivated"
}

Erros possíveis

  • Chave de API ausente ou inválida → HTTP 401. Isso retorna uma página HTML de Unauthorized simples — não há corpo JSON. Confira se o cabeçalho X-Api-Key (ou Authorization: Bearer) está presente e correto. Isso vale para todos os cinco endpoints.
  • Nenhum membro da equipe com esse ID no Get Team Member (por exemplo, você passou um ID de flipbook) → HTTP 200 com mensagem Team member not found.
  • ID do item não encontrado ou não pertencente à sua chave no Set Team Member Active e no Delete Team Member → HTTP 200 com mensagem Item not found.
  • Campo do corpo desconhecido ou digitado errado no Set Team Member e no Set Team Member Active → HTTP 200 com mensagem Unknown field(s) '…'. Expected: ….

Notas

  • O parâmetro de caminho {memberId} é sempre o ID de membro da equipe vindo do List Team Members — nunca um ID de flipbook.
  • As senhas nunca são retornadas por nenhum destes endpoints.
  • Folders restringe um membro a pastas específicas; um valor vazio significa nenhuma restrição de pasta.