API de Provisionamento SCIM

Publicado em 9 maio

O Sistema de Gerenciamento de Identidade entre Domínios (também conhecido como SCIM) é um protocolo para gerenciamento de usuários em várias aplicações. Ele permite que uma equipe de TI ou Operações provisionem (adicionem), desprovisionem (desativem) e atualizem dados de usuários em várias aplicações ao mesmo tempo.

Nota: O Provisionamento SCIM está disponível apenas no plano Enterprise.

Quais capacidades do SCIM são suportadas?

As seguintes capacidades do SCIM são suportadas na monday.com:

  • Provisionamento de Usuários
  • Desprovisionamento de Usuários
  • Provisionamento de Equipes
  • Desprovisionamento de Equipes
  • Renomeação de Equipes
  • Atualização de Detalhes do Usuário
  • Atribuição de Usuários a Equipes
  • Remoção de Usuários de Equipes

Opções de Configuração do SCIM

Existem três maneiras de configurar o Provisionamento SCIM para sua conta monday.com:

  1. Aplicações SCIM existentes na monday.com
    Atualmente, a monday.com trabalha com três provedores principais: OKTA, Entra ID e OneLogin. Além desses, você também tem a opção de usar seu próprio provedor (veja a segunda opção) ou integrar-se diretamente com nossa API SCIM (veja a terceira opção).

    Você pode ler mais sobre como habilitar o Provisionamento SCIM para aplicações existentes da monday.com abaixo:
    Provisionamento SCIM usando OKTA
    Provisionamento SCIM usando Entra ID
    Provisionamento SCIM usando OneLogin

  2. Integração SCIM personalizada com provedores de identidade
    Você pode aprender tudo sobre a integração SCIM personalizada neste artigo.

  3. API SCIM
    Este método será abordado no artigo abaixo. Continue lendo para saber mais sobre como configurar o Provisionamento SCIM usando a API!

API SCIM

A implementação do SCIM na monday.com é direcionada para a versão 2.0 do protocolo.

A URL base para todas as chamadas do provedor de identidade para a monday.com é: https://<YOUR_DOMAIN>.monday.com/scim/v2/. Todos os métodos SCIM são ramificações desta URL base.

Nota: Certifique-se de substituir <YOUR-DOMAIN> acima pelo nome da URL da sua conta (se a URL da sua conta for myaccount.monday.com, você deve escrever“myaccount” aqui).

Bearer Token

Um token bearer OAuth deve ser anexado a cada solicitação SCIM. Para gerar um token bearer, abra a seção de administração da sua conta. A partir daí, clique na aba “Segurança”, abra a seção SCIM, clique no botão “Gerar” e copie o token gerado.Untitled design (17).gif

O token deve ser incluído via um cabeçalho Authorization com um tipo de Bearer ao chamar qualquer um dos métodos SCIM.

Exemplo de uso do token bearer:

GET /scim/v2/Users
Host: company.monday.com
Accept: application/json
Authorization: Bearer yJhbGc4iOiJIUzI1NiJ9.eyJ0aXXXXXXXXUxNTEsInVpZCI6MSwiaWLkIjoiMjAyMC0XXXXXXMjoxNDowMC4wMDBaIi2NpbTphbGwifQ.J8EXXXXXXXltQZA6PAt94Ux83XXXXXXXX
Nota: Em solicitações que contêm dados, por exemplo, PATCH, PUT e UPDATE, você deve adicionar o cabeçalho Content-Type com o valor application/json

Pontos finais do SCIM

Atributos do usuário

Os atributos são um conjunto de detalhes sobre o usuário e o estado do usuário. Às vezes, múltiplos atributos SCIM se mapeiam para um único campo de perfil na monday.com. Por exemplo, o campo “Nome” da monday.com será preenchido por “displayName” ou pelos atributos de nome SCIM.

A tabela a seguir apresenta todos os atributos de usuário suportados na API SCIM da monday.com:

Atributo monday.com Atributo(s) da API SCIM Descrição Valor de Exemplo
Nome (obrigatório) name, displayName O nome exibido do usuário.
"name": {
  "givenName": "Teste",
  "familyName": "Usuário"
}
"displayName": "Teste Usuário"
Endereço de Email (obrigatório) userName, email O endereço de e-mail usado pelo usuário para fazer login na monday.com.
"userName": "[email protected]"

"emails": [{
  "type": "work",
  "primary": true,
  "value": "[email protected]"
}]
Ativo (obrigatório) active Ao criar um usuário, este campo deve ser definido como ‘true’.

Alterar o valor ‘active’ de um usuário para ‘false’ irá desativá-lo na monday.com.

"active": true
Cargo title O cargo do usuário na empresa.
"title": "Engenheiro de TI Sênior"
Fuso Horário timezone O fuso horário do usuário. Todas as datas na plataforma estarão de acordo com este fuso horário.

Os formatos ‘Europe/Berlin’ e ‘Berlin’ são aceitáveis.

"timezone": "Horário do Pacífico (EUA & Canadá)"
Localidade locale A monday.com exibirá uma versão localizada para diferentes localidades.
"locale": "fr"
Número de Telefone phoneNumbers Os números de telefone do usuário.

Nota: apenas um será exibido — o que estiver marcado como ‘primário’ ou, caso contrário, o primeiro número.

"phoneNumbers": [{
  "value": "+972523090049",
  "type": "work",
  "primary": true
}]
Endereço Residencial addresses O endereço do usuário. Apenas um endereço será exibido — o que estiver marcado como ‘primário’ ou, caso contrário, o primeiro endereço.

Nota: este atributo não é suportado na operação PATCH /Users/{id}.

"addresses": [{
  "value": "21B Baker St., Londres",
  "type": "work",
  "primary": true
}]
Tipo de Usuário userType O nível de cada usuário dentro da conta (saiba mais sobre isso aqui).

Os valores possíveis incluem:
admin
member
viewer
guest
ID de função personalizada, ou portal_user (este é um usuário do portal de serviços da monday)

"userType": "admin"
Departamento department O departamento do usuário.

Nota: um usuário pode ser membro de apenas um departamento por vez.

POST / PUT — Opção 1

{
  "department": "Vendas"
}

POST / PUT — Opção 2

{
  "urn:ietf:params:scim:schemas:extension:enterprise:2.0:User": {
    "department": "Vendas"
  }
}

Solicitação PATCH — operação ADD

{
  "schemas": ["urn:ietf:params:scim:api:messages:2.0:PatchOp"],
  "Operations": [{
    "op": "add",
    "path": "urn:ietf:params:scim:schemas:extension:enterprise:2.0:User:department",
    "value": "Vendas"
  }]
}

Solicitação PATCH — operação REPLACE

{
  "schemas": ["urn:ietf:params:scim:api:messages:2.0:PatchOp"],
  "Operations": [{
    "op": "replace",
    "path": "urn:ietf:params:scim:schemas:extension:enterprise:2.0:User:department",
    "value": "Vendas"
  }]
}
Atributos de usuário personalizados
Podem conter qualquer valor de string
Podem conter qualquer valor de string Atributos de usuário personalizados a serem usados dentro dos recursos da monday à medida que se tornam disponíveis
{
  "urn:ietf:params:scim:schemas:extension:monday:2.0:User": {
    "custom_attribute_1": "valor personalizado 1",
    "custom_attribute_2": "valor personalizado 2"
  }
}

Quando um valor de departamento é enviado para um usuário via SCIM, o sistema se comporta da seguinte maneira.

  • Usuários que não estão atribuídos a um departamento agora serão atribuídos a ele
  • Se o departamento não existir na conta, ele será criado
  • Usuários que já estão atribuídos a esse departamento não serão afetados
  • Usuários já atribuídos a um departamento diferente na conta serão atribuídos ao departamento recebido do SCIM e removidos do antigo
  • Uma vez que um usuário tenha sido atribuído a um departamento, haverá uma indicação SCIM ao lado do nome do departamento
  • Departamentos não podem ser gerenciados pelo SCIM, não há como criar um departamento vazio, mudar o nome de um departamento ou excluí-lo.

Para configurar o provisionamento SCIM para suportar funções personalizadas como tipos de usuário:

  1. Configure a função personalizada relevante na monday.com conforme descrito neste artigo.
  2. Copie o ID da função personalizada. Isso pode ser feito a partir do centro de permissões da conta, clicando no menu de três pontos logo ao lado do nome da função e, em seguida, “Copiar ID”, conforme mostrado abaixo.
  3. Ao definir o userType, por favor, passe o ID da função personalizada como uma “string”(da mesma forma que você passaria o valor admin, viewer, member ou guest).

Group_1_-_2023-01-12T114829.796.png

Nota: Todos os pontos finais exigem que um usuário seja provisionado! Se sua solicitação retornar 404 Not Found, certifique-se de provisionar esse usuário anteriormente.

Pontos finais de Usuário

GET /Users

Isso retorna uma lista paginada de usuários, o número padrão de itens por página é 50. Você pode usar um filtro para pesquisar usuários; você só pode pesquisar pelo endereço de e-mail deles e apenas o operador eq é suportado. Para pesquisar por um endereço de e-mail, você deve fornecê-lo como userName.

Abaixo, você encontrará um exemplo de solicitação de lista paginada de usuários:

GET /scim/v2/Users?filter=userName eq [email protected]&count=51&startIndex=4
Host: <YOUR_DOMAIN>.monday.com
Accept: application/json
Authorization: Bearer yJhbGc4iOiJIUzI1NiJ9.eyJ0aXXXXXXXXUxNTEsInVpZCI6MSwiaWLkIjoiMjAyMC0XXXXXXMjoxNDowMC4wMDBaIiwicGVyIjoic2NpbTphbGwifQ.J8EXXXXXXXltQZA6PAt9i2F4Ux83XXXXXXXX
Nota: O startIndex é baseado em 1, o que significa que o primeiro usuário é o número 1, não o número 0.

Por padrão, ao consultar o ponto final GET /Users, serão recuperados apenas os usuários que já foram provisionados na sua conta. Para recuperar todos os usuários, mesmo aqueles que ainda não foram provisionados, você pode adicionar o parâmetro abaixo à sua consulta:

GET /scim/v2/Users?scim_provisioned_only=false

Para recuperar usuários inativos, você pode adicionar o parâmetro abaixo à sua consulta:

GET /scim/v2/Users?include_inactive=true

GET /Users/{id}

Isso recupera um usuário específico que corresponde ao SCIM ID fornecido. Para descobrir o SCIM ID de um usuário, você pode enviar uma solicitação GET e filtrar pelo userName deles.

Exemplo:

GET /scim/v2/Users/80d60b37-3c75-4e41-9bb0-ae6588b6448d
Host: <YOUR_DOMAIN>.monday.com
Accept: application/json
Authorization: Bearer yJhbGc4iOiJIUzI1NiJ9.eyJ0aXXXXXXXXUxNTEsInVpZCI6MSwiaWLkIjoiMjAyMC0XXXXXXMjoxNDowMC4wMDBaIiwicGVyIjoic2NpbTphbGwifQ.J8EXXXXXXXltQZA6PAt9i2F4Ux83XXXXXXXX

POST /Users

Esta solicitação cria um usuário na monday.com. Deve incluir um endereço de e-mail, seja no campo emails


Ainda tem dúvidas? Entre em contato com o suporte oficial da monday.com.

Quer implementar a monday.com com mais eficiência na sua empresa? A Audatia é parceira oficial da monday.com no Brasil e oferece serviços de consultoria, treinamento e otimização de processos. Entre em contato →

Audatia é parceira autorizada monday.com no Brasil. Entre em Contato e contrate serviços.

Conteúdo relacionado

Documentos Online

Conecte e automatize 4 min de leitura Cansado de alternar entre diferentes sites para encontrar a informação certa? É por isso que foram criados os documentos…

Como se tornar um administrador de conta

2 min de leitura Recurso A seção de administração estará acessível apenas para admin(s) da conta. A seção de administração contém informações importantes,…

O widget de Estágios de Negócios

3 min de leitura Recurso Quem pode usar este recurso: Disponível apenas no monday CRM O que é? O widget Estágios de Negócios ajuda a acompanhar seu progresso…