Ir para o conteúdo

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 de 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
naturalidade string Não Refere-se ao local de nascimento do contato.
Ex: Rio de Janeiro
nacionalidade string Não Refere-se ao país de nascimento do contato.
Padrão: ID do país de acordo com tabela, disponivel em Consultar Países
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 Condicional 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-03-15",
    "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",
    "nacionalidade": "Brasil",
    "naturalidade": "Muriae",
    "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.
camposRetorno array Não Filtra quais campos do contato serão retornados.
Os campos devem ser informados como no exemplo abaixo:

['nome', 'dataNascimento', 'emailPrincipal']
camposRetorno array of object Não Existe também uma maneira para filtrar campos de objetos retornados em um array. Neste caso você pode enviar um objeto dentro do array de campos de retorno com uma estrutura para realizar esse filtro.
Os campos devem ser informados como no exemplo abaixo:

{ "key": "camposPersonalizados", "campos": [ "nome", "valor", "tipo" ], "filtros": [{"tipo": [1,9]}]
camposRetornos.key string Este campo referencia a chave do objeto que contem o array de dados que será filtrado.
{ "key": "camposPersonalizados"}
camposRetornos.campos array of string Filtra quais campos do objeto serão retornados.
{ "campos": [ "nome", "valor", "tipo" ] }
camposRetornos.filtros array of object Também é possível filtrar quais objetos serão retornados com base em um filtro que será feito em cada um dos itens.
No exemplo abaixo, irá retornar apenas os objetos que tenham a coluna tipo com 1 ou 9 .
{ "filtros": [{"tipo": [1,9]} }
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.
camposRetorno array Não Filtra quais campos dos contatos serão retornados.
Os campos devem ser informados como no exemplo abaixo:

['nome', 'dataNascimento', 'emailPrincipal']
camposRetorno array of object Não Existe também uma maneira para filtrar campos de objetos retornados em um array. Neste caso você pode enviar um objeto dentro do array de campos de retorno com uma estrutura para realizar esse filtro.
Os campos devem ser informados como no exemplo abaixo:

{ "key": "camposPersonalizados", "campos": [ "nome", "valor", "tipo" ], "filtros": [{"tipo": [1,9]}]
camposRetornos.key string Este campo referencia a chave do objeto que contem o array de dados que será filtrado.
{ "key": "camposPersonalizados"}
camposRetornos.campos array of string Filtra quais campos do objeto serão retornados.
{ "campos": [ "nome", "valor", "tipo" ] }
camposRetornos.filtros array of object Também é possível filtrar quais objetos serão retornados com base em um filtro que será feito em cada um dos itens.
No exemplo abaixo, irá retornar apenas os objetos que tenham a coluna tipo com 1 ou 9 .
{ "filtros": [{"tipo": [1,9]} }
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
camposRetorno array Não Filtra quais campos das oportunidades serão retornados.
Os campos devem ser informados como no exemplo abaixo:

['id', 'cursoNome', 'processoSeletivoNome']
camposRetorno array of object Não Existe também uma maneira para filtrar campos de objetos. Neste caso você pode enviar um objeto dentro do array de campos de retorno com uma estrutura para realizar esse filtro.
Os campos devem ser informados como no exemplo abaixo:

{ "key": "camposPersonalizados", "campos": ["campo_compl_proc"] }
camposRetornos.key string Este campo referencia a chave do objeto que será filtrado.
{ "key": "camposPersonalizados" }
camposRetornos.campos array of string Filtra quais campos do objeto referenciado serão retornados.
{ "campos": ["campo_compl_proc"] }
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",
                "nivelEnsino": "4",
                "nivelEnsinoNome": "Graduação",
                "minutosEtapa": "5",
                "agendamento": "3",
                "agendamentoNome": "Sem Agendar",
                "camposPersonalizados": {
                    "campo_compl_proc": "campo"
                }
            }
        ]
    }
}