Help

Help > Forum > Integração de sites > Atribuição de grupos de usuários com base na associação do seu site

Atribuição de grupos de usuários com base na associação do seu site

Se o seu site tiver associações, programas ou produtos, você poderá decidir a quais grupos de usuários do fórum cada membro pertence. Seu site define as regras e passa os IDs do grupo para o fórum, para que o acesso de um membro ao fórum sempre corresponda à sua associação ao seu site.

Como funciona

  • Quais grupos atribuir. Seu site define os grupos certos para cada membro e os envia para o fórum.
  • Se deseja iniciar o login único. Se os produtos ou programas do membro tiverem expirado, seu site simplesmente não os registrará no fórum.

O fórum nunca lê seus registros de associação por si só. Tudo é impulsionado pelo seu site.

Antes de começar

  1. Obtenha sua chave de API. Você precisa dele para todas as solicitações deste artigo.
  2. Obtenha a ID de cada grupo de usuários que você deseja atribuir, como um grupo por programa.

Atribuir grupos quando uma conta é criada

Inclua o parâmetro userGroups em sua solicitação de login único. Se a conta ainda não existir, ela será criada com esses grupos.

https://FORUM_DOMAIN/register/setauthtoken?type=json&apikey=APIKEY&user=USER&email=EMAIL&userGroups=GROUP_ID_1,GROUP_ID_2

Separe vários IDs com vírgulas. Esses grupos se aplicam quando a conta é criada pela primeira vez. Para alterar os grupos posteriormente, use as solicitações de API na próxima seção.

Atualizar grupos quando a associação mudar

Quando um membro compra, atualiza ou perde um programa em seu site, atualize seus grupos do fórum com a API Website Toolbox. Essas solicitações são executadas no seu servidor, para que você possa fazê-las no momento em que a alteração acontece. O membro não precisa estar logado.

Atualize todos os grupos de um membro em uma solicitação

Para fazer várias alterações ao mesmo tempo, como adicionar um membro a dois grupos e removê-lo de um, envie uma solicitação para o endpoint do membro com cada grupo ao qual ele deveria pertencer. Os grupos que você envia substituem os grupos atuais do membro, portanto, inclua os grupos que você deseja que eles mantenham.

curl -X POST "https://api.websitetoolbox.com/v1/api/users/USER_ID" -H “Tipo de conteúdo: application/json” -H “x-api-key: *** -d '{" userGroups”: [GROUP_ID_1, GROUP_ID_2]}'

Para ver os grupos atuais do membro antes de substituí-los, envie uma solicitação GET para o mesmo endereço.

curl "https://api.websitetoolbox.com/v1/api/users/USER_ID" -H “x-api-key: API_KEY”

A resposta inclui os grupos de usuários atuais do membro.

Adicionar ou remover um grupo

Quando você precisar conceder ou revogar apenas um único grupo, use o endpoint do grupo para não precisar enviar a lista completa.

curl -X POST "https://api.websitetoolbox.com/v1/api/usergroups/GROUP_ID/users" -H “Tipo de conteúdo: application/json” -H “x-api-key: *** -d '{" userIDs”: [USER_ID]}'
curl -X DELETE "https://api.websitetoolbox.com/v1/api/usergroups/GROUP_ID/users" -H “Tipo de conteúdo: application/json” -H “x-api-key: *** -d '{" userIDs”: [USER_ID]}'

USER_ID é o ID de usuário do fórum do membro, que a solicitação de login retorna quando a conta é criada. Você pode passar nomes de usuário ou endereços de e-mail em vez de IDs de usuário. Em vez disso, um endereço de e-mail para alguém que ainda não tem uma conta no fórum envia um convite para o grupo.

Decidindo quem tem acesso

Seu site verifica a associação do membro antes de iniciar o login único. Se eles ainda tiverem acesso, faça login com o token conforme descrito em Login único - Autenticação baseada em token. Se seus produtos tiverem expirado, não inicie o login único e eles não estarão logados no fórum.

Perguntas frequentes

Devo atualizar os grupos do membro ou usar o endpoint do grupo?

Envie a lista completa de grupos para o endpoint do membro quando estiver alterando vários grupos ao mesmo tempo. Use o endpoint do grupo quando estiver adicionando ou removendo apenas um grupo.

Quando devo atualizar os grupos de usuários de um membro?

Atualize os grupos sempre que a associação do membro mudar em seu site, como uma compra, um upgrade ou uma expiração. Não há necessidade de esperar pelo próximo login do membro.

O membro precisa estar logado para que os grupos sejam atualizados?

Não. A atualização é uma solicitação de API do seu servidor, então funciona independentemente de o membro estar logado ou visitando o fórum.

O que é curl?

Curl é uma ferramenta de linha de comando para enviar solicitações HTTP incluída no macOS, Linux e versões recentes do Windows, e é por isso que os exemplos neste artigo foram escritos como comandos curl. Você pode enviar exatamente as mesmas solicitações de qualquer linguagem de programação usando suas ferramentas HTTP padrão, com os mesmos parâmetros em todas as linguagens. Consulte Exemplo de código para fazer uma solicitação HTTP para ver exemplos em vários idiomas.

Por que uma solicitação de API falha?

Verifique se a chave da API corresponde à chave da API do seu fórum, se a ID do grupo e a ID do usuário estão corretas e se o membro já tem uma conta no fórum.

Como faço para encontrar a ID de um grupo de usuários?

Consulte Recuperação da ID de um grupo de usuários.


If you still need help, please contact us.