|
Integração de Notas (Entrada) Versão 1.0
Introdução
Esta API integra as notas dos contatos do sistema do cliente com as notas dos contatos do CRM Zen. Quando houver alguma ação no sistema do cliente referente às notas dos contatos, ao chamar esta API, os dados são incluídos no CRM Zen.
Requisições
A url e o token são gerados na área de Integração do Zen (No topo do CRM Zen, clique no ícone de engrenagem e depois selecione Integração).
Todas as requisições devem conter o parâmetro token (na querystring).
Os dados são uma string JSON válida. Ver modelos mais à frente.
Obs.: O JSON deve ser encodado em UTF-8
Obs.: O token NÃO deve ser divulgado publicamente em hipótese alguma
Exemplo de requisição com AJAX:
$.ajax({
url:'{URL}?token={TOKEN}',
type: 'POST',
data: JSON.parse({DADOS}),
complete: function(retorno){
//RETORNO (VER MENSAGENS DE RETORNO PADRÃO)
}
})
Exemplo de requisição com PHP:
$ch = curl_init();
$url = "{URL}?token={TOKEN}";
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query(json_decode({DADOS})));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$retorno = curl_exec($ch); //VER MENSAGENS DE RETORNO PADRÃO
curl_close($ch);
Respostas
Todas as respostas estarão no formato JSON.
De modo geral, respostas bem sucedidas retornarão código HTTP 200 OK.
Erros
Obs.: Caso ocorra alguma falha na requisição mantenha uma fila e tente novamente.
Na ocorrência de erros, a resposta será da seguinte forma:
{
"Erro" : "Código",
"Mensagem" : "Descrição do erro"
}
Mensagens de retorno
200 OK
Descrição do Erro |
Sucesso. |
400 Bad Request
Descrição do Erro |
JSON obrigatório. |
JSON Incompleto. |
Erro na estrutura do JSON, JSON Inválido. |
Requisição inválida (Ação inválida. Ações aceitas: Inserir/Editar/Excluir.). |
Dados Inválidos (Avisos). |
Nota não encontrada para edição/exclusão |
401 Unauthorized
Descrição do Erro |
Token obrigatório. |
Token inválido. |
429 Too Many Requests
Descrição do Erro |
Você excedeu o número de requisições. Sua última requisição foi em "YYYY-mm-dd H:i:s".
Sua próxima requisição estará disponível em "YYYY-mm-dd H:i:s".
Obs.: O tempo de espera para a próxima requisição é de 5 segundos. |
500 Internal Server Error
Descrição do Erro |
Ocorreu um erro interno no servidor. Tente novamente. |
Obs.: Mesmo não usando todos os parâmetros de cada requisição, é importante não remove-los.
Inserir nota
STRING JSON Padrão para inclusão de nota:
Ver Modelo
{
"Acao" : "Inserir",
"Compartilhamento" : "",
"Integracao" : "",
"IdNota" : "",
"Texto" : "",
"Data" : "",
"Horario" : "",
"Categorias" : [ { "IdCategoria" : "", "Subcategorias" : [ { "IdSubcategoria" : ""}, { "IdSubcategoria" : ""}, { "IdSubcategoria" : ""}, { "IdSubcategoria" : ""} ] } ]
}
Obs.: Cada requisição recebe uma string JSON com dados de somente uma nota de um contato.
Obs2.: O código de integração da nota deve ser único.
Obs3.: O nó Categorias pode conter até 50 itens
Obs4.: O nó Subcategorias pode conter até 30 itens
Editar nota
STRING JSON Padrão para edição de nota:
Ver Modelo
{
"Acao" : "Editar",
"Compartilhamento" : "",
"Integracao" : "",
"IdNota" : "",
"Texto" : "",
"Data" : "",
"Horario" : "",
"Categorias" : [ { "IdCategoria" : "", "Subcategorias" : [ { "IdSubcategoria" : ""}, { "IdSubcategoria" : ""}, { "IdSubcategoria" : ""}, { "IdSubcategoria" : ""} ] } ]
}
Obs.: Cada requisição recebe uma string JSON com dados de somente uma nota de um contato.
Obs2.: Caso exista mais de um registro com o mesmo código de integração de nota, os mesmos serão editados.
Obs3.: As categorias e subcategorias existentes serão substituídas pelas enviadas na edição.
Obs4.: O nó Categorias pode conter até 50 itens
Obs5.: O nó Subcategorias pode conter até 30 itens
Parâmetros (Inserir e Editar)
Parâmetro |
Tipo |
Tamanho |
Descrição |
Acao |
String |
10 |
Ação desejada (Inserir/Editar) (Obrigatório) |
Compartilhamento |
String |
15.000 |
Emails de usuários que poderão ver a nota do contato. Separados por vírgula.
(150 caracteres cada email)
Caso esteja vazio, o compartilhamento será com todos os usuários do sistema |
Integracao |
String |
50 |
Código de Integração do contato (Obrigatório) |
IdNota |
String |
10 |
Código de integração da nota (Obrigatório) |
Texto |
String |
5.000 |
Texto da nota (Obrigatório) |
Data |
String |
10 |
Data de criação da nota (na ação Inserir) (Se vazio, será gravado como a data de envio)
Data de edição da nota (na ação Editar) (Se vazio, será gravado como a data de envio) |
Horario |
String |
8 |
Horário de criação da nota (na ação Inserir) (Se vazio, será gravado como o horário de envio)
Horário de edição da nota (na ação Editar) (Se vazio, será gravado como o horário de envio) |
Categorias->IdCategoria* |
String |
10 |
Código de integração da categoria (Obrigatório pelo menos um) |
Subcategorias->IdSubcategoria* |
String |
10 |
Código de integração da subcategoria |
* Veja na aba Gerenciamento de Categorias como gerenciar Categorias e Subcategorias
Excluir nota
STRING JSON Padrão para exclusão de nota:
Ver Modelo
{
"Acao" : "Excluir",
"Integracao" : "",
"IdNota" : ""
}
Obs.: Cada requisição recebe uma string JSON com dados de somente uma nota de um contato.
Obs2.: Caso exista mais de um registro com o mesmo código de integração, os mesmos serão excluídos.
Parâmetros (Excluir)
Parâmetro |
Tipo |
Tamanho |
Descrição |
Acao |
String |
10 |
Ação desejada (Excluir) (Obrigatório) |
Integracao |
String |
50 |
Código de Integração do contato (Obrigatório) |
IdNota |
String |
10 |
Código de integração da nota (Obrigatório) |
|