Fontes e Ventos

Inclusão de Múltiplas Fontes e Cadastros, para múltiplas unidades.

Esse serviço faz o cadastramento de Fonte e Ventos e seus cadastros, para cada unidade solicitada.

  • A requisição é feita pelo método POST.
  • A API faz !!autenticação! através de um Token JWT (Bearer), no header da requisição .
  • O body da requisição deve ser no formato JSON (Content-Type: application/json).
    • No !!body! pode ser enviado uma lista de unidades, cada unidade contem uma lista de fontes, onde cada fonte contem uma lista de cadastros.


Para montar o body da requisição considere os Tipo de Campos abaixo.


Tipo de Campos

int      = Integer  : campo de tipo inteiro.
str      = String   : campo de tipo texto.
bol      = Boolean  : campo de tipo logico (verdadeiro ou falso [true/false]).
date     = Date     : campo de tipo data no formato "YYYY/MM/DD".
datetime = DateTime : campo de tipo data e hora no formato "YYYY/MM/DD hh:nn:ss".
array[]  = array[]  : campo que representa uma lista de valores ou objetos.


Body da requisição:
[ UNIDADE ]  <-- (Array[Unidade]) Lista de unidades (veja detalhamento de UNIDADE abaixo).


UNIDADE:
{
  "unidade_id": 344,  <-- (Int) Código da Unidade para o F10 (esse código será fornecido pelo F10 para cada unidade do requerente).
  "fontes": [FONTE]   <-- (Array[FONTE]) Lista de Fontes (veja detalhamento da FONTE abaixo).
}


Veja um exemplo do body da requisição:
-- body 
[
  {
    "unidade_id": 249,  <-- unidade "São Paulo"
    "fontes": [FONTE]   <-- Lista de Fontes
  },
  {
    "unidade_id": 344, <-- unidade "Belo Horizonte"
    "fontes": [FONTE]  <-- Lista de Fontes
  },
  {
    "unidade_id": 350, <-- unidade "Recife"
    "fontes": [FONTE]  <-- Lista de Fontes
  },
]


Lista de Fonte:
[ FONTE ]  <-- Lista de Fontes (veja detalhamento de FONTE abaixo).


FONTE:
{
  "id_fonte": 1000,                  <-- (int) Identificador único do registro, informado pelo requerente para identificar o registro no retorno.
  "fonte": "Campanha de Natal 2018", <-- (str) Nome da fonte/evento.
  "midia": "Telemarketing Ativo",    <-- (str) Mídia de origem da fonte.
  "inicio": "2018/12/01",            <-- (date) Data de inicio da fonte/evento.
  "fim": "2019/01/05",               <-- (date) Data do fim da fonte/evento.
  "digitacoes": [DIGITACAO]          <-- (Arry[DIGITACAO]) Lista de Cadastros para a fonte.
}


Lista de Cadastros:
[ DIGITACAO ]  <-- (Array[DIGITACAO]) Lista de Cadastros (veja detalhamento de DIGITAÇÃO abaixo).


DIGITAçãO
{
  "id_digitacao": 123,                 <-- (int) Identificador único do registro, informado pelo requerente para identificar o registro no retorno.
  "nome": "João da Silva",             <-- (str) Nome 
  "curso": "Gew - Geração Web",        <-- (str) Curso de interesse.
  "telefone": "(41) 3333-3333",        <-- (str) Número do telefone com DDD.
  "celular": "(41) 99999-9999",        <-- (str) Número do celular com DDD.
  "comercial": "",                     <-- (str) Número do telefone comercial com DDD.
  "email": "jaodasilva@gmail.com",     <-- (str) E-mail.
  "nascimento": "1996/10/01",          <-- (date) Data de Nascimento 
  "sexo": "M",                         <-- (str) Sexo (F/M).
  "endereco": "R. Julio Perneta, 100", <-- (str) Endereço.
  "bairro": "Merces",                  <-- (str) Bairro.
  "cidade": "Curitiba",                <-- (str) Cidade.
  "estado": "PR",                      <-- (str) Estado (sigla).
  "cep": "80810-110",                  <-- (str) CEP.
  "colegio": "",                       <-- (str) Colégio em que estuda.
  "turma": "",                         <-- (str) Turma.
  "serie": "",                         <-- (str) Série.
  "anoletivo": 0,                      <-- (int) Ano Letivo
  "turno": "",                         <-- (str) Turno M/T/N.
  "pai": "",                           <-- (str) Nome do Pai.
  "mae": "",                           <-- (str) Nome da Mãe.
  "obs": "",                           <-- (str) Observações.
  "extra1": "",                        <-- (str) Campo de anotações extras.
  "extra2": ""                         <-- (str) Campo de anotações extras.
}


Exemplo de uma requisição completa:

"method": "POST"
"hostname": "nuvem.f10.com.br/fx-api/digitacao"
"headers": {
  "Content-Type": "application/json",
  "Authorization": "Bearer TOKEN_GERADO_PARA_REQUISICAO"
}


// body
[
  {
    "unidade_id": 344,
    "fontes": [
      {
        "id_fonte": 1000,
        "fonte": "Campanha de Natal 2018",
        "midia": "Telemarketing Ativo",
        "inicio": "2018/12/01",
        "fim": "2019/01/05",
        "digitacoes": [
          {
            "id_digitacao": 123,
            "nome": "João da Silva",
            "curso": "Gew - Geração Web",
            "telefone": "(41) 3333-3333",
            "celular": "(41) 99999-9999",
            "comercial": "",
            "email": "jaodasilva@gmail.com",
            "nascimento": "1996/10/01",
            "sexo": "M",
            "endereco": "R. Julio Perneta, 100",
            "bairro": "Merces",
            "cidade": "Curitiba",
            "estado": "PR",
            "cep": "80810-110",
            "colegio": "",
            "turma": "",
            "serie": "",
            "anoletivo": 0,
            "turno": "",
            "pai": "",
            "mae": "",
            "obs": "",
            "extra1": "",
            "extra2": ""
          }
        ]
      }
    ]
  }
]


RETORNOS

Um exemplo de retorno de uma requisição correta:
{
  "version": "2018.04.01.001",  <-- versão do serviço
  "occurrence": null,           <-- se ocorrer alguma exceção interna no serviço essa campo vai ser retornado.
  "response": [                 
    {
      "unidade_id": 344,        <-- código da unidade informada na requisição (fornecido pela F10).
      "incluidos": {
        "fonte": 1,             <-- número de fontes importadas.
        "digitacao": 1          <-- número de cadastros impostados.
      }
    }
  ]
}


Um exemplo de retorno quando é solicitado uma unidade a qual não tem acesso.
{
  "version": "2018.04.01.001",
  "occurrence": null,
  "response": [
    {
      "unidade_id": 1,
      "code": 30,
      "msg": "Sem direitos de acessar a unidade."
    }
  ]
}


Um exemplo de retorno quando o um ou mais cadastro contem erros:
{
  "version": "2018.04.01.001",
  "occurrence": null,
  "response": [
    {
      "unidade_id": 344,
      "incluidos": {
          "fonte": 1,
          "digitacao": 0
      },
      "nao_incluidas": [
        {
          "id_fonte": 1000,
          "code": 14,
          "msg": "Fonte cadastrada, mas um ou mais itens não foram cadastrados, veja retorno.",
          "digitacao_erro": [
              {
                "digitacao_id": 0,
                "code": 21,
                "msg": "Dados obrigatórios não informados, informe nome, telefone e/ou celular."
              }
          ]
        }
      ]
    }
  ]
}


No caso, é necessário um token para as requisições, entre em contato com a F10 para fornecimento.