Contato
Cadastro de contato
O cadastro de contatos no CRM Rubeus é realizado através de um método bem simples e, para isso, será necessário apenas alguns dados. Confira, abaixo, estes dados:
Campos condicionais
O campo baselegal
é condicionado à ativação dos recursos de LGPD no sistema.
POSTapplication/json /api/Contato/cadastro
Atributos | Tipo | Obrigatoriedade | Descrição |
---|---|---|---|
codigo |
string |
Não | Código de identificação externa. |
id |
integer |
Não | Código de identificação do contato no CRM |
nome |
string |
Não | Nome. |
nomeSocial |
string |
Não | Nome Social. |
dataNascimento |
date |
Não | Data de Nascimento. Padrão: YYYY-MM-DD |
telefonePrincipal |
string |
Não | Telefone principal de contato. No cadastro de contato é obrigatório informar o e-mail principal ou o telefone principal. |
emailPrincipal |
string |
Não | E-mail principal de contato. No cadastro de contato é obrigatório informar o e-mail principal ou o telefone principal. |
telefone |
array[] |
Não | É possível enviar uma lista de telefones secundários para o cadastro de contato. |
email |
array[] |
Não | É possível enviar uma lista de emails secundários para o cadastro de contato. |
cpf |
string |
Não | CPF do contato. Padrão: xxxxxxxxxxx |
endereco |
string |
Não | Endereço (limite de caracteres: 255). |
cep |
string |
Não | CEP. Padrão:xxxxx-xxx |
numero |
string |
Não | Número (endereço). |
bairro |
string |
Não | Bairro (limite de caracteres: 45). |
sexo |
integer |
Não | Para informar o sexo utilize: 1 para Masculino e 2 para Feminino. |
imagemUrl |
string |
Não | URL para foto de perfil do contato. Em alguns casos, o contato pode já estar cadastrado em um sistema e ter uma foto de perfil. Caso esteja disponível para acesso externo, basta informar a URL de acesso. |
estadoCidade |
object |
Não | Deve ser informado um objeto com os dados necessários para vincular o contato a uma cidade. Se não for encontrada uma cidade com esse nome nessa UF, o contato não será vinculado a uma cidade. |
↳ estadoCidade.cidade |
string |
Não | Nome da cidade |
↳ estadoCidade.estado |
string |
Não | Utiliza-se a UF do estado, exemplo: MG para Minas Gerais |
canhoto |
integer |
Não | Campo para informar se o contato é ou não canhoto. Padrão: 1 para sim ou 0 para não . |
profissao |
string |
Não | Profissão. |
aluno |
integer |
Não | Se o contato é ou não aluno. Padrão: 1 para quando for aluno e 0 para quando não for aluno. |
exaluno |
integer |
Não | Se o contato é ex-aluno ou não. Padrão: 1 se já foi aluno e 0 se nunca foi aluno. |
escolaOrigem |
string |
Não | Escola de origem do contato |
anoFormacao |
string |
Não | Ano de formação do contato. Padrão: YYYY |
deficiencias |
array[] |
Não | Usado para informar a(s) deficiência(s) do contato. Usar os dados da tabela de deficiências. |
↳ deficiencias.id |
integer |
Não | Identificação da deficiência. |
↳ deficiencias.tipos |
array[] |
Não | Usar o método listarDeficiencias para obter o campo id para a passagem de parâmetro. |
outrasDeficiencias |
string |
Não | Campo destinado à descrição da deficiência do contato se ela não existir nas opções pré-definidas. |
estadoCivil |
integer |
Não | Utilizar os dados da tabela estado civil. |
cor |
integer |
Não | Utilizar os dados da tabela cor. |
grauInstrucao |
integer |
Não | Utilizar os dados da tabela grau de instrução. |
tags |
array[] |
Não | Utilizado para enviar as tags do contato. |
tagsRemovidas |
array[] |
Não | Utilizado para remover as tags do contato. |
evento |
object |
Não | Utilizado para criar um evento ao realizar o cadastro do contato. |
↳ evento.tipo |
integer |
Não | Id do tipo de evento. |
↳ evento.codTipo |
string |
Não | código do tipo de evento. |
↳ evento.camposPersonalizados |
object |
Não | Usado para atribuir algum campo específico de evento que não está presente no escopo da API. Os campos devem ser informados como no exemplo abaixo: camposPersonalizados : { coluna: "valor" } Os nomes das colunas dos campos personalizados são informados no método Instituicao/campoPersonalizado. |
↳ evento.descricao |
string |
Não | Texto HTML personalizado para agregar informações na exibição do evento. |
↳ evento.codOferta |
string |
Não | Para vincular o evento a uma oferta de curso é preciso informar este campo junto com o codCurso correspondente. |
↳ evento.codCurso |
string |
Não | Para vincular o evento a uma oferta de curso, é preciso informar este campo junto com o codOferta correspondente. |
camposPersonalizados |
object |
Não | Usado para atribuir algum campo específico que não está presente no escopo da API. Os campos devem ser informados como no exemplo abaixo: camposPersonalizados : { coluna: "valor" } Os nomes das colunas dos campos personalizados são informados no método Instituicao/campoPersonalizado, e o valor poderá ser uma string normal ou um array de strings caso o campo seja multi valorado. |
baseLegal |
integer |
Usado para atribuir uma base legal ao contato. | |
assinaturas |
array[] of objects |
Não | Utilizado para atribuir as assinaturas para o contato. |
↳ assinaturas.id |
integer |
Identificação da assinatura. | |
↳ assinaturas.status |
integer |
Informa se a assinatura foi aceita ou recusada, 1 e 2 respectivamente. |
|
origem |
integer |
Sim | Código de identificação do canal. |
token |
string |
Sim | Chave de acesso única referente ao canal. |
Exemplos
JSON:
{
"codigo": "contato-1",
"id": 1,
"nome": "John Dude",
"nomeSocial": "Alex",
"dataNascimento": "1998-15-03",
"telefonePrincipal": "+55 (32) 91234-5678",
"emailPrincipal": "johndude@email.com",
"telefone": [
"+55 (32) 98765-4321"
],
"email": [
"johndude2@email.com"
],
"cpf": "910.108.870-09",
"endereco": "Rua exemplo",
"cep": "12457-342",
"numero": "13",
"bairro": "Exemplo",
"sexo": 1,
"imagemUrl": "https://imagem.com/img/template.png",
"estadoCidade": {
"cidade": "Muriaé",
"estado": "MG"
},
"canhoto": 0,
"profissao": "Tester",
"aluno": 0,
"exaluno": 0,
"escolaOrigem": "Escola Exemplo",
"anoFormacao": "2015",
"deficiencias": {
"id": 1,
"tipos": [
1
]
},
"outrasDeficiencias": "TDAH",
"estadoCivil": 7,
"cor": 2,
"grauInstrucao": 7,
"tags": "exemplo",
"tagsRemovidas": "teste",
"evento": {
"tipo": "3",
"codTipo": "teste",
"camposPersonalizados": {
"exemplo_compl_proc": "teste"
},
"descricao": "Exemplo",
"codOferta": "oferta-1",
"codCurso": "oferta-2"
},
"camposPersonalizados": {
"exemplo_compl_cont": "exemplo",
"exemplo_multi_compl_cont": [
"teste",
"exemplo"
]
},
"baseLegal": "3",
"assinaturas": [
{
"id": "1"
}
],
"origem": "1",
"token": "token"
}
O valor do campo dados
no exemplo de retorno abaixo é o id
que foi criado no processo.
JSON:
{
"success": true,
"dados": 10
}
Dados do contato
POSTapplication/json /api/Contato/dadosPessoa
Atributos | Tipo | Obrigatoriedade | Descrição |
---|---|---|---|
codigo |
string |
Condicional | Chave única de identificação externa do contato enviado. |
id |
integer |
Condicional | Código de identificação do contato no CRM. |
origem |
integer |
Sim | Código de identificação do canal. |
token |
string |
Sim | Chave de acesso única referente ao canal. |
Exemplos
JSON:
{
"success": true,
"dados": {
"id": "155",
"nome": "Nome Exemplo",
"nomeSocial": null,
"codigo": "000",
"imagem": "null",
"cpf": "977.250.067-10",
"datanascimento": "1996-07-02",
"endereco": "Rua Heitor Tadeu",
"cep": "xxxxx-xxx",
"numero": "752",
"bairro": "Barra",
"cidade": "2354",
"cidadeNome": "Sete Lagoas - MG",
"sexo": "1",
"sexoNome": "Masculino",
"origemId": "1",
"origemNome": "CRM",
"urlPublicaRdStation": "null",
"canhoto": null,
"profissao": null,
"aluno": null,
"exaluno": null,
"anoFormacao": null,
"estadoCivil": null,
"estadoCivilNome": null,
"cor": null,
"corNome": null,
"grauInstrucao": null,
"grauInstrucaoNome": null,
"outrasDeficiencias": null,
"mesclada": "1",
"verificada": "0",
"desinscreveu": "0",
"camposPersonalizados": [
{
"nome": "Campo Personalizado",
"coluna": "campopersonalizado",
"tipo": "1",
"valor": "valor"
}
],
"pessoasRelacionadas": false,
"telefones": {
"principal": {
"id": "1534",
"telefone": "(31)154689835"
},
"secundarios": [
{}
]
},
"emails": {
"principal": {
"id": "1598",
"email": "email@email.com"
},
"secundarios": [
{
"id": "1600",
"email": "email2@email.com"
}
]
},
"tags": false,
"origemCanal": false,
"origens": [
{
"id": "1",
"titulo": "CRM"
}
],
"deficiencias": false
}
}
Buscar por nome, email, telefone ou CPF
Semelhante ao método acima, este também faz a consulta de contatos no Rubeus, mas, os parâmetros são nome
, email
, telefone
e/ou cpf
.
Todos os campos deverão ser buscados com o operador LIKE
, portanto, acentos e letras maiúsculas/minúsculas deverão ser ignoradas, por exemplo, uma busca feita por nome "Carl"
deverá retornar os dados dos contatos que possuem "carl"
em alguma parte de seu nome.
O operador utilizado entre as entidades de busca é AND
, por isso se for buscado nome = "carls"
e cpf = "781"
, o método retornará todos os dados dos contatos que possuem nome LIKE "%carls%" AND cpf LIKE "%781%"
. Todas as entidades trabalharão desta maneira.
Nas entidades de telefone e e-mail, será validada através de todos os e-mails/telefone que um contato possa ter, sendo considerados os principais e secundários na hora da busca.
Os dados retornados estarão disponíveis dentro de um array, estruturados exatamente igual ao método da API Pessoa/dadosPessoa.
POSTapplication/json /api/Contato/dadosPessoas
Atributos | Tipo | Obrigatoriedade | Descrição |
---|---|---|---|
nome |
string |
Condicional | Campo para informar o nome do contato. |
email |
string |
Condicional | Campo para informar o email do contato. |
telefone |
string |
Condicional | Campo para informar o telefone do contato. |
cpf |
string |
Condicional | Campo para informar o CPF do contato. |
origem |
integer |
Sim | Código de identificação do canal utilizado na integração. |
token |
string |
Sim | Chave de acesso única referente ao canal utilizado na integração. |
Alterar código do contato
PUTapplication/json /api/Contato/alterarCodigo
Atributos | Tipo | Obrigatoriedade | Descrição |
---|---|---|---|
id |
integer |
Condicional | Id do contato. Será passado se o codigoAntigo não for passado. |
codigoAntigo |
string |
Condicional | Código enviado no cadastro do contato. Será passado se o id não for passado. |
codigoNovo |
string |
Sim | Código que será substituído com base no código antigo enviado. |
origem |
integer |
Sim | Código de identificação do canal. |
token |
string |
Sim | Chave de acesso única referente ao canal. |
Exemplos
JSON:
{
"success": true,
"id": "9"
}
Excluir contato
DELETEapplication/json /api/Contato/excluirPessoa
Atributos | Tipo | Obrigatoriedade | Descrição |
---|---|---|---|
id |
array[] ou integer |
obrigatório | id dos contatos que devem ser excluídos.. Os id’s deverão ser informados da seguinte forma: Um único id: 1 Vários id’s: [1, 2, 3] |
origem |
integer |
Sim | Código de identificação do canal. |
token |
string |
Sim | Chave de acesso única referente ao canal. |
Exemplos
JSON:
{
"success": true,
"id": 9
}
Listar Oportunidades
POSTapplication/json /api/Contato/listarOportunidades
Atributos | Tipo | Obrigatoriedade | Descrição |
---|---|---|---|
id |
integer |
Condicional | Id do contato. |
codigo |
string |
Condicional | Código do contato |
origem |
integer |
Sim | Código de identificação do canal. |
token |
string |
Sim | Chave de acesso única referente ao canal. |
Exemplos
JSON:
{
"resultado": {
"success": true,
"dados": [
{
"id": "63",
"curso": "1",
"cursoNome": "Oferta de Curso",
"origem": "13",
"origemNome": "Oportunidade",
"etapa": "1",
"etapaNome": "Confirmado",
"status": "1",
"statusNome": "Em andamento",
"processo": "1",
"razaoOportunidade": "1",
"razaoOportunidadeNome": "Não contactado",
"processoNome": "Captação",
"localOferta": "1",
"localOfertaNome": "Local de oferta",
"codigoProcessoSeletivo": "cod-processo-seletivo",
"processoSeletivo": "1",
"processoSeletivoNome": "Processo",
"modalidadeNome": "EaD",
"unidade": "1",
"unidadeNome": "Unidade",
"responsavelNome": "João",
"responsavel": "5",
"responsavelEmail": "joaoexemplo@email.com.br",
"notaEnem": "900",
"valorCurso": "5000",
"ofertaCursoNome": "Oferta de Curso",
"objecao_id": "1",
"objecaoNome": "Objecao",
"dataProva": "2020-07-21 15:16:00",
"momento": "2020-05-29 13:05:05",
"minutosEtapa": "5",
"agendamento": "3",
"agendamentoNome": "Sem Agendar",
"camposPersonalizados": {
"campo_compl_proc": "campo"
}
}
]
}
}