Cadastrando um contato

Em uma requisição síncrona, faça uma requisição HTTP/POST no endereço "http://api.tolvdesk.com/v1/contato/create" passando no corpo da requisição os dados do contato.

Nesta mesma requisição, inclua um header com nome "Authorization" e valor "JWT + Token privado que você criou":

http://api.tolvdesk.com/v1/contato/create

Dados permitidos para criação do contato:

nome: Nome do contato a ser cadastrado (obrigatório).

email: E-mail do contato que vai ser cadastrado (obrigatório e único). Caso o e-mail pertencer a uma empresa cadastrada e não enviar uma empresa no corpo da requisição, o sistema tenta vincular automaticamente pelo domínio.

foneComercial: Telefone comercial do contato (opcional).

foneCelular: Telefone celular do contato (opcional).

login: Login de identificação que vai ser usado para acesso no portal do tolvdesk (opcional). Se não informado, o login será o e-mail do contato.

endereco: Endereço do contato (opcional).

senha: Senha de acesso do contato para entrar no portal (opcional). Gera uma senha automaticamente, se caso não preenchido. A senha deve conter ao menos 1 número, letras maiúsculas e minúsculas e pelo menos 6 caracteres.

podeVerTicketsEmpresa: true/false (opcional). Se não definido, é estabelecido como "false".

permitirLoginPortal: true/false (opcional). Se não definido, é estabelecido como "true".

empresaId: ID da empresa cadastrada no banco de dados do tolvdesk (opcional).

identificacao_empresa: A identificação que foi cadastrada no tolvdesk. Usa-se como referência para vincular o contato à uma empresa.

NOTA - o vínculo entre contato e empresa é feito seguindo as seguintes formas: 

O sistema sempre vai dar preferência para o campo "empresaId", que é o campo _id preenchido no cadastro  da empresa no tolvdesk. Se esse campo ("empresaId") não for informado na requisição, o sistema verifica se existe o campo "identificacao_empresa". Usa-se esse dado ("identificacao_empresa") apenas para criar o vínculo e preencher o campo do banco "empresaId" com o _id da empresa que foi encontrada no cadastro da sua conta. 

Se não existir uma identificação da empresa, ("empresaId" ou "identificacao_empresa"),  o sistema busca uma empresa pelo domínio do e-mail informado no cadastro do contato e cria o vínculo do contato com a empresa, preenchendo automaticamento o campo "empresaId". 

Caso o sistema não encontre nenhuma maneira de identificar a empresa do contado, o cadastro é realizado sem vínculos com empresa.

Com todos os dados corretos, o retorno da api será um objeto JSON, como no exemplo abaixo:

{
  "code": 200,
  "message": "contato criado",
  "contato": {
    "nome": "João silva",
    "email": "joaosilva@teste2.com.br",
    "empresaId": "58f4c55138c655483bbab062",
    "_id": "593ea5b022ef263fe584fe2f",
    [todos os outros dados opcionais]
  }
}


Erros dados obrigatórios:

​{
  "errors": [
    {
      "code": 300,
      "field": "nome",
      "message": "Informe um nome com no mínimo 2 caracteres"
    },
    {
      "code": 300,
      "field": "email",
      "message": "informe um e-mail válido"
    }
  ]
}


E-mail existente:

{
  "errors": [
    {
      "code": 300,
      "field": "email",
      "message": "Já existe um contato com este e-mail."
    }
  ]
}


Passando um ID de empresa inexistente:

{
  "errors": [
    {
      "code": 300,
      "field": "empresa",
      "message": "o id da empresa vinculada não é um id valido"
    }
  ]
}


Senha for enviada não estando de acordo com as validações especificadas:

{
  "code": 300,
  "field": "senha",
  "message": "A senha deve conter ao menos 1 número, letras maiúsculas e minúsculas e pelo menos 6 caracteres."
}


Passando um número de telefone inválido

{
  "errors": [
    {
      "code": 300,
      "field": "foneComercial",
      "message": "O telefone deve ser um numero valido de 9 há 11 numeros"
    },
    {
      "code": 300,
      "field": "foneCelular",
      "message": "O telefone deve ser um numero valido de 9 há 11 numeros"
    }
  ]
}