Identificação automática – Formulário de E-mail


O ContactForm é um serviço (aplicação web) que tem como objetivo prover um meio de contato entre o consumidor e a operação. Para isso é enviado um e-mail com base em uma lista genérica de chave/valor e, opcionalmente, um arquivo. Um exemplo de requisição para o ContactForm pode ser da seguinte maneira:

#!js#
{
    "Cliente": "DirectTalk",
    "Nome": "José da Silva",
    "Assunto": "Posição sobre BUG",
    "Mensagem": "Mensagem teste.",
    "CPFCliente": 11111,
    "EmailCliente": "josesilva@josesilva.com.br",
    "Ticket": 3546
}

Desta forma, conforme algumas configurações (smtp.xml), o e-mail enviado terá mais ou menos a seguinte estrutura:

Mensagem do Consumidor

  • Data
  • 09/06/2016 16:28:44
  • Cliente
  • DirectTalk
  • Nome
  • José da Silva
  • Assunto
  • Posição sobre BUG
  • Mensagem
  • Mensagem teste
  • CPFCliente
  • 11111
  • EmailCliente
  • josesilva@josesilva.com.br
  • Ticket
  • 3546

Informando as chaves de identificação do e-mail via ContactForm

A partir da versão 10.19.0 do fenix o ContactForm permite a informação das chaves que devem ser utilizadas para identificação do atendimento. Considere o seguinte exemplo:

#!js#
{
    "Cliente": "DirectTalk",
    "Nome": "José da Silva",
    "Assunto": "Posição sobre BUG",
    "Mensagem": "Mensagem teste.",
    "CPFCliente": 11111,
    "EmailCliente": "josesilva@josesilva.com.br",
    "Ticket": 3546
}

Para informar que o e-mail e o CPF devem ser utilizados como identificação, deve-se usar a chave IdentificationKeys montando um mapeamento como no trecho abaixo.

ChaveNoContactForm#ChaveDeIdentificação,

  • ChaveNoContactForm: Chave usada no ContactForm.
  • ChaveDeIdentificação: Nome da chave de identificação cadastrada no fenix.

Sendo assim, o conteúdo da requisição será:

#!js#
{
    "Cliente": "DirectTalk",
    "Nome": "José da Silva",
    "Assunto": "Posição sobre BUG",
    "Mensagem": "Mensagem teste.",
    "CPFCliente": 11111,
    "EmailCliente": "josesilva@josesilva.com.br",
    "Ticket": 3546,
    "IdentificationKeys": "EmailCliente#Email,CPFCliente#CPF"
}

Complementos:

  1. A chave IdentificationKeys é opcional.
  2. O header enviado terá o nome X-DT-Identification-Keys e seu conteúdo será codificado em base64.
  3. Tendo o exemplo acima como base, o conteúdo decodificado do cabeçalho seria: Email=josesilva@josesilva.com.br|CPF=11111|

Customizando títulos de chaves via ContactForm

A partir da versão 10.19.0 do fenix o ContactForm permite a customização dos títulos. Considere o seguinte exemplo:

#!js#
{
    "Cliente": "DirectTalk",
    "Nome": "José da Silva",
    "Assunto": "Posição sobre BUG",
    "Mensagem": "Mensagem teste.",
    "CPFCliente": 11111,
    "EmailCliente": "josesilva@josesilva.com.br",
    "Ticket": 3546
}

Para informar títulos personalizados deve-se usar a chave TitlesForBody montando um mapeamento.

ChaveNoContactForm=Título personalizado,

Sendo assim, o conteúdo da requisição ficará como no fragmento abaixo.

#!js#
{
    "Cliente": "DirectTalk",
    "Nome": "José da Silva",
    "Assunto": "Posição sobre BUG",
    "Mensagem": "Mensagem teste.",
    "CPFCliente": 11111,
    "EmailCliente": "josesilva@josesilva.com.br",
    "Ticket": 3546,
    "TitlesForBody": "EmailCliente=Email do consumidor,CPFCliente=CPF do consumidor"
}

Complementos:

  • A chave TitlesForBody é opcional.
  • Apenas as chaves presentes em TitlesForBody terão seus títulos customizados. Todas as outras serão representadas no corpo do e-mail com seu próprio nome.