Campos adicionais do usuário

Modificado em Sex, 23 Out na (o) 5:41 PM

Cargo, matrícula, unidade, data de admissão: cada instância da Engage tem seus próprios campos de cadastro, chamados de campos adicionais (ou atributos). Este artigo mostra como descobrir quais existem na sua instância e como preenchê-los pela API.

Neste artigo

  1. Antes de começar
  2. Preencher os campos
  3. Formato de cada tipo de valor
  4. Quando um campo falha
  5. Cuidados
  6. Problemas comuns

Antes de começar

Preencher os campos

1Descubra os nomes dos campos

GET https://sandbox.engage.bz/api/v1/{customer_id}/attributes
Authorization: Bearer {access_token}

Resposta da listagem de campos adicionais, com o tipo do campo e o nome com prefixo destacados

Repare em dois campos de cada item: attribute_type.name, o tipo (texto, número, data, lista), e name, o nome do campo. O nome vem com o seu customer_id como prefixo — no exemplo, manoel_test.

Importante

Na hora de enviar, use o nome sem o prefixo (test) ou o nome completo (manoel_test) — nunca o rótulo que aparece na tela. Maiúsculas e minúsculas não importam.

Outras consultas úteis:

Rota (GET)Para que serve
/{customer_id}/attributes/{attribute_id}/valuesOpções de um campo de lista — envie o texto de value
/{customer_id}/attributeGroupsQuais campos são obrigatórios (items[].required)
/{customer_id}/attributes/typesCatálogo dos tipos de campo

2Envie os valores

Caminho recomendado — junto com o cadastro do usuário. Use a propriedade attributes no POST /{customer_id}/users: o usuário e os campos são gravados na mesma chamada.

[
  {
    "login": "joao.silva",
    "name": "João da Silva",
    "status": true,
    "attributes": [
      { "cargo": "Recepcionista", "data_admissao": "25-09-2019", "unidade": "Matriz" }
    ]
  }
]

Caminho alternativo — só os campos, para usuários que já existem:

POST https://sandbox.engage.bz/api/v1/{customer_id}/users/importAttributes/import?customerToken={customer_token}
Authorization: Bearer {access_token}
Content-Type: application/json

[
  { "Login": "joao.silva", "cargo": "Recepcionista", "data_admissao": "25-09-2019" }
]

Corpo do envio só de campos adicionais no Postman: a chave Login e uma chave por campo

Formato de cada tipo de valor

Tipo do campoComo enviarExemplo
TextoAté 255 caracteres"Recepcionista"
NúmeroInteiro, sem separador de milhar25
DataTexto no formato dd-mm-aaaa"25-09-2019"
ListaO texto exato da opção, nunca o id"Matriz"

Quando um campo falha

O cadastro do usuário é gravado antes dos campos adicionais. Se um campo falhar, o registro volta com "success": false — mas o usuário existe, e o object_id traz o ID dele:

Resposta real com success false e object_id preenchido: o usuário foi criado, mas um campo não existe e outro obrigatório faltou

Dica

Leia detail_messages[].event_code. Se todos os erros começam com attribute_, o usuário já está criado — basta corrigir e reenviar os campos adicionais.

Cuidados

Cuidado

Em campo de lista, um valor que não existe é criado automaticamente, sem erro. Se você enviar "Analísta" em vez de "Analista", a instância ganha uma opção nova no cadastro do campo. Valide os dados antes de enviar em massa.

  • Enviou algum campo? Envie todos os obrigatórios daquele usuário. A validação cobra todos os campos obrigatórios, mesmo os que você não pretendia alterar. Consulte /attributeGroups. Se você omitir attributes por inteiro, essa cobrança não acontece.
  • Um campo inválido descarta todos os campos daquele usuário na mesma chamada. Os outros usuários do lote não são afetados.
  • Data enviada como número vira outra data, sem erro: 43738 é lido como número de planilha. Envie sempre como texto.
  • Não use POST /entityAttributes para integrar. É o caminho das telas da plataforma e substitui todos os campos do usuário pelo que veio na chamada.

Problemas comuns

O código de cada erro vem em detail_messages[].event_code.

O que apareceCausa provávelO que fazer
attribute_doesnt_existNome errado, rótulo de tela em vez do nome, ou campo inativoConfira o name em /attributes
attribute_value_is_requiredFaltou um campo obrigatórioEnvie todos os obrigatórios de /attributeGroups
attribute_value_doesnt_exist_in_the_select_listValor fora das opções de um campo de múltipla escolhaUse o texto exato de /attributes/{id}/values
attribute_type_must_be_date_typeData fora do formatoUse dd-mm-aaaa, como texto
attribute_type_must_be_numericTexto ou separador num campo numéricoEnvie um inteiro
login_invalido ou login_is_requiredUsuário inexistente, ou faltou Login no envio só de camposCadastre o usuário antes e confira a chave Login
registro_duplicadoO mesmo usuário com o mesmo campo duas vezesRemova a duplicidade
HTTP 401Token expirado ou sem a permissão necessáriaGere um novo token e confira as permissões
Valor gravado cortadoPassou de 255 caracteresEncurte o valor

Próximo passo

Para o cadastro completo do usuário, veja Integração de usuários.

Precisa de ajuda?

Escreva para meajuda@engage.bz informando o customer_id, o ambiente e a resposta completa da chamada. Nunca envie senhas, tokens ou o client_secret por e-mail.

Este artigo foi útil?

Que bom!

Obrigado pelo seu feedback

Desculpe! Não conseguimos ajudar você

Obrigado pelo seu feedback

Deixe-nos saber como podemos melhorar este artigo!

Selecione pelo menos um dos motivos
A verificação do CAPTCHA é obrigatória.

Feedback enviado

Agradecemos seu esforço e tentaremos corrigir o artigo