Bem-vindo!

Este documento relaciona a documentação referente à utilização da API Maxbot. A API Maxbot permite integração do Maxbot com sistemas externos como RPs e CRMs. A API permite fazer o download dos dados dos contatos, protocolos, diálogo do protocolo, bem como o disparo de mensagens de texto, imagem, arquivo e áudio.

Ativação da API

Ativação

Para ativar a API Maxbot faça o login em sua conta Maxbot e vá para Configuração/API Maxbot. Clique no botão de ativação. Um token de identificação da conta será gerado e a API será ativada para a sua conta. Caso precise gerar um novo token de identificação, clique no botão Gerar Novo Token. O token informado na tela será o token de identificação de conta que será usado na validação de comunicação com a API Maxbot.

Apresentação

Versão: 1.0

A API (sigla em inglês para Interface de Programação de Aplicativos) é um conjunto de rotinas e padrões de programação para acesso a um aplicativo de software ou plataforma baseado na Web. A plataforma Maxbot oferece uma API REST de comunicação que permite a integração do Maxbot com sistemas externos, possibilitando:

  • Disparo de mensagens de texto, áudio (mp3), imagem (jpg, jpeg, png e gif) e arquivo (pdf, doc, docx, xls, xlsx, ppt e pptx);
  • Download da base de contatos dentro de um período de tempo;
  • Download dos protocolos de atendimento juntamente com todo o diálogo trocado (apenas protocolos concluídos);
  • Situação atual da API indicando se está ativa ou inativa;

A documentação está organizada de forma a apresentar de maneira sucinta as orientações técnicas necessárias para a integração. Os exemplos operacionais estão disponíveis na linguagem PHP 7.3 que servem de modelo de entendimento de como a integração externa com o Maxbot pode ser feita. Ela deve ser adaptada conforme a necessidade.

Requisitos

  • URL da API V1: https://mbr.maxbot.com.br/api/v1.php
  • O solicitante prepara uma requisição à API em uma estrutura JSON informando os parâmetros para processamento;
  • O solicitante realiza um POST em formato JSON para a URL da API Maxbot;
  • A API valida os dados informados, processa a requisição e retorna o resultado em formato JSON;
  • Requisições de disparo de mensagens retornarão sucesso ou falha;
  • Requisições de dados retornarão sucesso ou falha, juntamente com a massa de dados;
  • Todo o retorno é feito em uma estrutura JSON que deverá ser processada de volta pelo solicitante;
  • Obs.: O idioma padrão da API Maxbot é o inglês (us_EN);

Métodos

  •  get_status  Retorna a situação atual da API Maxbot;
  •  get_segmentation  Retorna a lista de segmentações da conta;
  •  get_template  Retorna a lista de templates da conta;
  •  get_service_sector  Retorna a lista de setores de atendimento da conta;
  •  get_attendant  Retorna a lista de atendentes da conta;
  •  get_contact  Retorna os dados da ficha cadastral dos contatos dentro do período indicado;
  •  get_prot  Retorna os dados dos protocolos concluídos, juntamente com todo o diálogo trocado, dentro do período indicado;
  •  put_contact  Registra ou atualiza os dados da ficha cadastral do contato;
  •  set_contact  Atualiza dados da ficha cadastral do contato;
  •  open_followup  Abre um protocolo de atendimento para um contato;
  •  send_text  Dispara uma mensagem de texto;
  •  send_image  Dispara uma imagem no formato jpg, jpeg, png ou gif;
  •  send_file  Dispara um documento no formato pdf, doc, docx, xls, xlsx, ppt ou pptx;
  •  send_sound  Dispara um áudio no formato mp3;

Exemplos de Uso

 get_status     Requisita a situação atual da API Maxbot


Utilize a requisição de situação para verificar a situação atual da API Maxbot para verificação e monitoramento da condição atual da API.

Requisição JSON:

{
  "token": "xxxx",
    "cmd": "get_status"
}

  • token - Informe o token de identificação de conta apresentado na plataforma Maxbot em Configurações/API Maxbot;
  • cmd - Comando a ser executado: get_status

Retorno:

{
  "status": 1,
     "msg": "Success", 
    "data":[{
              "created_at": "2020-08-22",
                  "status": "Active",
       "last_execution_at": "2020-08-29 21:21:32",
          "last_operation": "Sound Shooting"
            }]
}

  • status - Situação do processamento: 1-Sucesso, 0-Falha;
  • msg - Retorna mensagem de contexto do processamento. Se execução bem sucedida, retorna Success. Se houver falha, retorna informação referente à falha ocorrida;
  • data - Retorno da requisição;
    • created_at - Data de criação da API;
    • status - Situação da API;
    • last_execution_at - Data da última execução;
    • last_operation - Última operação executada pela API;

Exemplo Funcional:

Este exemplo funcional em PHP 7.3 executa um post para a API e apresenta o retorno na tela para validação. Modifique o código para se adequar às suas necessidades. Para outras linguagens, adapte o código de acordo.

<?php
	header('Content-Type: text/html; charset=utf-8');
	
	# Parametros
	$_TOKEN    = 'xxxxxx';
	$_CMD      = 'get_status';
	
	# URL
	$_URL = 'https://mbr.maxbot.com.br/api/v1.php';
	
	# START
	$_TXT  = "[POST]:<br/><br/>";
	$_TXT .= "   API_URL => ".$_URL."<br/>";
	$_TXT .= "     token => ".$_TOKEN."<br/>";
	$_TXT .= "       cmd => ".$_CMD."<br/>";
	$_TXT .= "<br/>";
	$_TXT .= "[retorno]:<br/><br/>";
	$_TXT .= "<textarea rows=10 cols=90>";
	echo $_TXT;
	
	# Request API
	$_REQUEST = array(
		"token" => "$_TOKEN",
		  "cmd" => "$_CMD"
	);
	
	$json = json_encode($_REQUEST);
	
	$ch = curl_init($_URL);
	curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
	curl_setopt($ch, CURLOPT_POSTFIELDS, $json);
	curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
	curl_setopt($ch, CURLOPT_HTTPHEADER, array(
	    'Content-Type: application/json',
	    'Content-Length: ' . strlen($json))
	);
	
	$_result = curl_exec($ch);
	curl_close($ch);
	
	echo $_result;
	echo "</textarea>";
	exit;
?>


 get_segmentation     Requisita listagem de segmentações da conta Maxbot


Utilize a requisição de listagem de segmentações para importar a relação de segmentações cadastradas na conta Maxbot.

Requisição JSON:

{
         "token": "xxxx",
           "cmd": "get_segmentation"
}

  • token - Informe o token de identificação de conta apresentado na plataforma Maxbot em Configurações/API Maxbot;
  • cmd - Comando a ser executado: get_segmentation
  • Obs.: Segmentações devem ser incluidas no Maxbot em Atendimento/Segmentação;

Retorno:

{
  "status": 1,
    "msg": "Success",
    "segmentation": [
                      {
                        "id": 1452,
                        "title": "Negocia\u00e7\u00e3o"
                      }, 
                      {
                        "id": 2267,
                        "title": "Proposta Enviada"
                      }
                    ]
}

  • status - Situação do processamento: 1-Sucesso, 0-Falha;
  • msg - Retorna mensagem de contexto do processamento. Se execução bem sucedida, retorna Success. Se houver falha, retorna informação referente à falha ocorrida;
  • segmentation - Lista de Segmentação;
    • id - ID da segmentação;
    • title - Título da segmentação;

Exemplo Funcional:

Este exemplo funcional em PHP 7.3 executa um post para a API e apresenta o retorno na tela para validação. Modifique o código para se adequar às suas necessidades. Para outras linguagens, adapte o código de acordo.

<?php
	header('Content-Type: text/html; charset=utf-8');
	
	# Parametros
	$_TOKEN    = 'xxxxxx';
	$_CMD      = 'get_segmentation';
	
	# URL
	$_URL = 'https://mbr.maxbot.com.br/api/v1.php';
	
	# START
	$_TXT  = "[POST]:<br/><br/>";
	$_TXT .= "   API_URL => ".$_URL."<br/>";
	$_TXT .= "     token => ".$_TOKEN."<br/>";
	$_TXT .= "       cmd => ".$_CMD."<br/>";
	$_TXT .= "<br/>";
	$_TXT .= "[retorno]:<br/><br/>";
	$_TXT .= "<textarea rows=10 cols=90>";
	echo $_TXT;
	
	# Request API
	$_REQUEST = array(
		     "token" => "$_TOKEN",
		       "cmd" => "$_CMD"
	);
	
	$json = json_encode($_REQUEST);
	
	$ch = curl_init($_URL);
	curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
	curl_setopt($ch, CURLOPT_POSTFIELDS, $json);
	curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
	curl_setopt($ch, CURLOPT_HTTPHEADER, array(
	    'Content-Type: application/json',
	    'Content-Length: ' . strlen($json))
	);
	
	$_result = curl_exec($ch);
	curl_close($ch);
	
	echo $_result;
	echo "</textarea>";
	exit;
?>


 get_template     Requisita listagem dos templates da conta Maxbot


Utilize a requisição de listagem de templates para importar a relação de templates cadastrados na conta Maxbot.

Requisição JSON:

{
         "token": "xxxx",
           "cmd": "get_template"
}

  • token - Informe o token de identificação de conta apresentado na plataforma Maxbot em Configurações/API Maxbot;
  • cmd - Comando a ser executado: get_template
  • Obs.: Templates devem ser incluidos no Maxbot em Atendimento/Template;

Retorno:

{
  "status": 1,
    "msg": "Success",
    "template": [
                      {
                        "id": 1,
                        "type": "chat",
                        "title": "Negocia\u00e7\u00e3o",
                        "for_use": 0
                      }, 
                      {
                        "id": 2,
                        "type": "followup",
                        "title": "Abertura de Protocolo",
                        "for_use": 1
                      }, 
                      {
                        "id": 3,
                        "type": "notice",
                        "title": "Aviso de Postado nos Correios",
                        "for_use": 1
                      }
                    ]
}

  • status - Situação do processamento: 1-Sucesso, 0-Falha;
  • msg - Retorna mensagem de contexto do processamento. Se execução bem sucedida, retorna Success. Se houver falha, retorna informação referente à falha ocorrida;
  • template - Lista de templates;
    • id - ID do template;
    • type - Tipo do template;
      • chat - Templates utilizados apenas no chat de atendimento;
      • followup - Templates utilizados apenas para abertura de protocolos de followup;
      • notice - Templates utilizados apenas para disparo de avisos (avisos não abrem protocolos, apenas disparam a mensagem do template. Avisos são disparados apenas para contatos com o WhatsApp validado, constando com o indicador verde no número do WhatsApp. Este controle é para diminuir riscos de bloqueio do WhatsApp.);
      • Obs.: Avisos não abrem protocolos, apenas disparam a mensagem do template. Avisos são disparados apenas para contatos com o número de WhatsApp validado. Números de WhatsApp validados constam na relação de contatos com o indicador verde no número do WhatsApp. Um número de WhatsApp é validado quando o contato dispara a primeira mensagem dele para o número configurado no Maxbot. Este controle é para diminuir riscos de bloqueio do número de WhatsApp;
    • title - Título do template;
    • for_use - Indica se o template está liberado para uso (1 - Liberado para uso, 0 - Não liberado para uso);
      • Obs.: Templates não liberados para uso não serão disparados pelo Maxbot;

Exemplo Funcional:

Este exemplo funcional em PHP 7.3 executa um post para a API e apresenta o retorno na tela para validação. Modifique o código para se adequar às suas necessidades. Para outras linguagens, adapte o código de acordo.

<?php
	header('Content-Type: text/html; charset=utf-8');
	
	# Parametros
	$_TOKEN    = 'xxxxxx';
	$_CMD      = 'get_template';
	
	# URL
	$_URL = 'https://mbr.maxbot.com.br/api/v1.php';
	
	# START
	$_TXT  = "[POST]:<br/><br/>";
	$_TXT .= "   API_URL => ".$_URL."<br/>";
	$_TXT .= "     token => ".$_TOKEN."<br/>";
	$_TXT .= "       cmd => ".$_CMD."<br/>";
	$_TXT .= "<br/>";
	$_TXT .= "[retorno]:<br/><br/>";
	$_TXT .= "<textarea rows=10 cols=90>";
	echo $_TXT;
	
	# Request API
	$_REQUEST = array(
		     "token" => "$_TOKEN",
		       "cmd" => "$_CMD"
	);
	
	$json = json_encode($_REQUEST);
	
	$ch = curl_init($_URL);
	curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
	curl_setopt($ch, CURLOPT_POSTFIELDS, $json);
	curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
	curl_setopt($ch, CURLOPT_HTTPHEADER, array(
	    'Content-Type: application/json',
	    'Content-Length: ' . strlen($json))
	);
	
	$_result = curl_exec($ch);
	curl_close($ch);
	
	echo $_result;
	echo "</textarea>";
	exit;
?>


 get_service_sector     Requisita listagem dos setores de atendimento da conta Maxbot


Utilize a requisição de listagem de setores de atendimento para importar a relação de setores de atendimento cadastrados na conta Maxbot.

Requisição JSON:

{
         "token": "xxxx",
           "cmd": "get_service_sector"
}

  • token - Informe o token de identificação de conta apresentado na plataforma Maxbot em Configurações/API Maxbot;
  • cmd - Comando a ser executado: get_service_sector
  • Obs.: Setores de Atendimento devem ser incluidos no Maxbot em Administrativo/Setor de Atendimento;

Retorno:

{
  "status": 1,
    "msg": "Success",
    "service_sector": [
                        {
                                                 "id": 1,
                                               "code": "CO",
                                               "name": "Comercial",
                                   "responsible_name": "Rodrigo Gomide",
                                  "responsible_email": "rodrigo@email.com",
                               "responsible_whatsapp": "553111116666",
                           "responsible_mobile_phone": "553111116666",
                        "responsible_phone_extension": "5454",
                            "operation_monday_answer": 1,
                            "operation_monday_shift1": "08:00-12:00",
                            "operation_monday_shift2": "13:00-18:00",
                           "operation_tuesday_answer": 1,
                           "operation_tuesday_shift1": "08:00-12:00",
                           "operation_tuesday_shift2": "13:00-18:00",
                         "operation_wednesday_answer": 1,
                         "operation_wednesday_shift1": "08:00-12:00",
                         "operation_wednesday_shift2": "13:00-18:00",
                          "operation_thursday_answer": 1,
                          "operation_thursday_shift1": "08:00-12:00",
                          "operation_thursday_shift2": "13:00-18:00",
                            "operation_friday_answer": 1,
                            "operation_friday_shift1": "08:00-12:00",
                            "operation_friday_shift2": "13:00-18:00",
                          "operation_saturday_answer": 1,
                          "operation_saturday_shift1": "08:00-12:00",
                          "operation_saturday_shift2": "13:00-18:00",
                            "operation_sunday_answer": 1,
                            "operation_sunday_shift1": "08:00-12:00",
                            "operation_sunday_shift2": "13:00-18:00",
          "allow_service_with_unavailable_attendants": 0
                        },
                        {
                                                 "id": 2,
                                               "code": "LO",
                                               "name": "Log\u00edstica",
                                   "responsible_name": "Romulo Balga",
                                  "responsible_email": "romulo@email.com",
                               "responsible_whatsapp": "553122226666",
                           "responsible_mobile_phone": "553122226666",
                        "responsible_phone_extension": "5451",
                            "operation_monday_answer": 1,
                            "operation_monday_shift1": "08:00-12:00",
                            "operation_monday_shift2": "13:00-18:00",
                           "operation_tuesday_answer": 1,
                           "operation_tuesday_shift1": "08:00-12:00",
                           "operation_tuesday_shift2": "13:00-18:00",
                         "operation_wednesday_answer": 1,
                         "operation_wednesday_shift1": "08:00-12:00",
                         "operation_wednesday_shift2": "13:00-18:00",
                          "operation_thursday_answer": 1,
                          "operation_thursday_shift1": "08:00-12:00",
                          "operation_thursday_shift2": "13:00-18:00",
                            "operation_friday_answer": 1,
                            "operation_friday_shift1": "08:00-12:00",
                            "operation_friday_shift2": "13:00-18:00",
                          "operation_saturday_answer": 1,
                          "operation_saturday_shift1": "08:00-12:00",
                          "operation_saturday_shift2": "13:00-18:00",
                            "operation_sunday_answer": 1,
                            "operation_sunday_shift1": "08:00-12:00",
                            "operation_sunday_shift2": "13:00-18:00",
          "allow_service_with_unavailable_attendants": 1
                        },
                        {
                                                 "id": 2,
                                               "code": "MA",
                                               "name": "Manuten\u00e7\u00e3o",
                                   "responsible_name": "Dilson Lana",
                                  "responsible_email": "dilson@email.com",
                               "responsible_whatsapp": "553122227766",
                           "responsible_mobile_phone": "",
                        "responsible_phone_extension": "5400",
                            "operation_monday_answer": 2,
                            "operation_monday_shift1": "08:00-12:00",
                            "operation_monday_shift2": "13:00-18:00",
                           "operation_tuesday_answer": 2,
                           "operation_tuesday_shift1": "08:00-12:00",
                           "operation_tuesday_shift2": "13:00-18:00",
                         "operation_wednesday_answer": 2,
                         "operation_wednesday_shift1": "08:00-12:00",
                         "operation_wednesday_shift2": "13:00-18:00",
                          "operation_thursday_answer": 2,
                          "operation_thursday_shift1": "08:00-12:00",
                          "operation_thursday_shift2": "13:00-18:00",
                            "operation_friday_answer": 2,
                            "operation_friday_shift1": "08:00-12:00",
                            "operation_friday_shift2": "13:00-18:00",
                          "operation_saturday_answer": 2,
                          "operation_saturday_shift1": "08:00-12:00",
                          "operation_saturday_shift2": "13:00-18:00",
                            "operation_sunday_answer": 0,
                            "operation_sunday_shift1": "08:00-12:00",
                            "operation_sunday_shift2": "13:00-18:00",
          "allow_service_with_unavailable_attendants": 1
                        }
                      ]
}

  • status - Situação do processamento: 1-Sucesso, 0-Falha;
  • msg - Retorna mensagem de contexto do processamento. Se execução bem sucedida, retorna Success. Se houver falha, retorna informação referente à falha ocorrida;
  • service_sector - Lista de setores de atendimento;
    • id - ID do setor;
    • code - Código do setor;
    • name - Nome do setor;
    • responsible_name - Nome do responsável pelo setor;
    • responsible_email - Email do responsável pelo setor;
    • responsible_whatsapp - Número do whatsapp do responsável pelo setor;
    • responsible_mobile_phone - Número do celular do responsável pelo setor;
    • responsible_phone_extension - Número do ramal do responsável pelo setor;
    • operation_monday_answer - Se há atendimento nas segundas-feiras (0 - Não, 1 - Sim, Em Horários Determinados, 2 - Sim, 24 horas);
    • operation_monday_shift1 - Horário do 1º turno (Hora:Minuto-Hora:Minuto);
    • operation_monday_shift2 - Horário do 2º turno (Hora:Minuto-Hora:Minuto);
    • operation_tuesday_answer - Se há atendimento nas terças-feiras (0 - Não, 1 - Sim, Em Horários Determinados, 2 - Sim, 24 horas);
    • operation_tuesday_shift1 - Horário do 1º turno (Hora:Minuto-Hora:Minuto);
    • operation_tuesday_shift2 - Horário do 2º turno (Hora:Minuto-Hora:Minuto);
    • operation_wednesday_answer - Se há atendimento nas quartas-feiras (0 - Não, 1 - Sim, Em Horários Determinados, 2 - Sim, 24 horas);
    • operation_wednesday_shift1 - Horário do 1º turno (Hora:Minuto-Hora:Minuto);
    • operation_wednesday_shift2 - Horário do 2º turno (Hora:Minuto-Hora:Minuto);
    • operation_thursday_answer - Se há atendimento nas quintas-feiras (0 - Não, 1 - Sim, Em Horários Determinados, 2 - Sim, 24 horas);
    • operation_thursday_shift1 - Horário do 1º turno (Hora:Minuto-Hora:Minuto);
    • operation_thursday_shift2 - Horário do 2º turno (Hora:Minuto-Hora:Minuto);
    • operation_friday_answer - Se há atendimento nas sextas-feiras (0 - Não, 1 - Sim, Em Horários Determinados, 2 - Sim, 24 horas);
    • operation_friday_shift1 - Horário do 1º turno (Hora:Minuto-Hora:Minuto);
    • operation_friday_shift2 - Horário do 2º turno (Hora:Minuto-Hora:Minuto);
    • operation_saturday_answer - Se há atendimento nos sábados (0 - Não, 1 - Sim, Em Horários Determinados, 2 - Sim, 24 horas);
    • operation_saturday_shift1 - Horário do 1º turno (Hora:Minuto-Hora:Minuto);
    • operation_saturday_shift2 - Horário do 2º turno (Hora:Minuto-Hora:Minuto);
    • operation_monday_answer - Se há atendimento nos domingos (0 - Não, 1 - Sim, Em Horários Determinados, 2 - Sim, 24 horas);
    • operation_monday_shift1 - Horário do 1º turno (Hora:Minuto-Hora:Minuto);
    • operation_monday_shift2 - Horário do 2º turno (Hora:Minuto-Hora:Minuto);
    • allow_service_with_unavailable_attendants - Se permite atendimento quando não houver nenhum atendente on-line (0 - Não, 1 - Sim);
    • Obs.: Se o atendimento para o dia da semana estiver configurado para 24 horas, os horários dos turnos serão ignorados.

Exemplo Funcional:

Este exemplo funcional em PHP 7.3 executa um post para a API e apresenta o retorno na tela para validação. Modifique o código para se adequar às suas necessidades. Para outras linguagens, adapte o código de acordo.

<?php
	header('Content-Type: text/html; charset=utf-8');
	
	# Parametros
	$_TOKEN    = 'xxxxxx';
	$_CMD      = 'get_service_sector';
	
	# URL
	$_URL = 'https://mbr.maxbot.com.br/api/v1.php';
	
	# START
	$_TXT  = "[POST]:<br/><br/>";
	$_TXT .= "   API_URL => ".$_URL."<br/>";
	$_TXT .= "     token => ".$_TOKEN."<br/>";
	$_TXT .= "       cmd => ".$_CMD."<br/>";
	$_TXT .= "<br/>";
	$_TXT .= "[retorno]:<br/><br/>";
	$_TXT .= "<textarea rows=10 cols=90>";
	echo $_TXT;
	
	# Request API
	$_REQUEST = array(
		     "token" => "$_TOKEN",
		       "cmd" => "$_CMD"
	);
	
	$json = json_encode($_REQUEST);
	
	$ch = curl_init($_URL);
	curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
	curl_setopt($ch, CURLOPT_POSTFIELDS, $json);
	curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
	curl_setopt($ch, CURLOPT_HTTPHEADER, array(
	    'Content-Type: application/json',
	    'Content-Length: ' . strlen($json))
	);
	
	$_result = curl_exec($ch);
	curl_close($ch);
	
	echo $_result;
	echo "</textarea>";
	exit;
?>


 get_attendant     Requisita listagem dos atendentes da conta Maxbot


Utilize a requisição de listagem de atendentes para importar a relação de atendentes cadastrados na conta Maxbot.

Requisição JSON:

{
         "token": "xxxx",
           "cmd": "get_attendant"
}

  • token - Informe o token de identificação de conta apresentado na plataforma Maxbot em Configurações/API Maxbot;
  • cmd - Comando a ser executado: get_service_sector
  • Obs.: Atendentes devem ser incluidos no Maxbot em Administrativo/Atendente de Setor;

Retorno:

{
  "status": 1,
    "msg": "Success",
    "attendant": [
                        {
                                         "id": 1,
                          "service_sector_id": [1],
                                       "name": "Pedro Silva",
                                     "status": 1
                        },
                        {
                                         "id": 2,
                          "service_sector_id": [2,3],
                                       "name": "Jos\u00e9 Nogueira",
                                     "status": 0
                        },
                        {
                                         "id": 3,
                          "service_sector_id": [1,3,8,29],
                                       "name": "Ant\u00f4nio Prado",
                                     "status": 1
                        }
                      ]
}

  • status - Situação do processamento: 1-Sucesso, 0-Falha;
  • msg - Retorna mensagem de contexto do processamento. Se execução bem sucedida, retorna Success. Se houver falha, retorna informação referente à falha ocorrida;
  • get_attendant - Lista de atendentes;
    • id - ID do atendente;
    • service_sector_id - Lista de IDs dos setores de atendimento aos quais o atendente está associado;
    • name - Nome do atendente;
    • status - Situação do atendente (0 - Inativo, 1 - Ativo);
    • Obs.: Apenas atendentes ativos conseguem acessar o chat de atendimento do Maxbot.

Exemplo Funcional:

Este exemplo funcional em PHP 7.3 executa um post para a API e apresenta o retorno na tela para validação. Modifique o código para se adequar às suas necessidades. Para outras linguagens, adapte o código de acordo.

<?php
	header('Content-Type: text/html; charset=utf-8');
	
	# Parametros
	$_TOKEN    = 'xxxxxx';
	$_CMD      = 'get_attendant';
	
	# URL
	$_URL = 'https://mbr.maxbot.com.br/api/v1.php';
	
	# START
	$_TXT  = "[POST]:<br/><br/>";
	$_TXT .= "   API_URL => ".$_URL."<br/>";
	$_TXT .= "     token => ".$_TOKEN."<br/>";
	$_TXT .= "       cmd => ".$_CMD."<br/>";
	$_TXT .= "<br/>";
	$_TXT .= "[retorno]:<br/><br/>";
	$_TXT .= "<textarea rows=10 cols=90>";
	echo $_TXT;
	
	# Request API
	$_REQUEST = array(
		     "token" => "$_TOKEN",
		       "cmd" => "$_CMD"
	);
	
	$json = json_encode($_REQUEST);
	
	$ch = curl_init($_URL);
	curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
	curl_setopt($ch, CURLOPT_POSTFIELDS, $json);
	curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
	curl_setopt($ch, CURLOPT_HTTPHEADER, array(
	    'Content-Type: application/json',
	    'Content-Length: ' . strlen($json))
	);
	
	$_result = curl_exec($ch);
	curl_close($ch);
	
	echo $_result;
	echo "</textarea>";
	exit;
?>


 get_contact     Requisita dados dos contatos


Utilize a requisição de dados do contato para importar a ficha de cadastro do contato. Todos os dados existentes na ficha cadastral serão retornados. Desta forma, um sistema externo (RP, CRM, etc) poderá importar os contatos novos que entraram no atendimento, bem como obter os dados mais atuais de contatos já existentes.

Requisição JSON:

{
         "token": "xxxx",
           "cmd": "get_contact",
    "date_start": "2020-08-01",
     "date_stop": "2020-08-01",
      "whatsapp": "5511999998888",
  "mobile_phone": "5511999998888",
         "email": "fulano@mail.com",
   "external_id": "1234"
}

  • token - Informe o token de identificação de conta apresentado na plataforma Maxbot em Configurações/API Maxbot;
  • cmd - Comando a ser executado: get_contact
  • date_start - Data de início da consulta no padrão AAAA-MM-DD (Ano com 4 dígitos, Mês com 2 dígitos, Dia com 2 dígitos. Ex.: 2020-08-01)
  • date_stop - Data fim da consulta no padrão AAAA-MM-DD (Ano com 4 dígitos, Mês com 2 dígitos, Dia com 2 dígitos. Ex.: 2020-08-01)
  • whatsapp - Número do WhatsApp existente na ficha cadastral do contato.
  • mobile_phone - Número do celular existente na ficha cadastral do contato.
  • email - E-Mail existente na ficha cadastral do contato.
  • external_id - ID Externo existente na ficha cadastral do contato.
  • Obs. 1: Você pode informar a mesma data de início e fim para trazer os contatos do dia, ou informar uma data de início e outra data diferente para o fim para trazer os contatos dentro de um período;
  • Obs. 2: Se você informar whatsapp ou mobile_phone ou email ou external_id, o informe do período (date_start e date_stop) fica opicional. Ou seja, você pode fazer uma consulta apenas informando o whatsapp, ou o email por exemplo. O Maxbot irá localizar o registro com base nos parâmetros informados.;

Retorno:

{
  "status": 1,
    "msg": "Success",
   "data": [
              {
                           "id": "1",
                     "cad_date": "2020-06-08 08:07:16",
                 "segmentation": [],
                          "tag": "THER",
                         "name": "Rodrigo",
                      "surname": "Funda\u00e7\u00e3o Ther",
                       "gender": "M",
                        "birth": "1974-10-22",
                          "age": "46",
               "br_person_type": "J",
                       "br_cpf": "11122233344",
                      "br_cnpj": "11222333000144",
                      "company": "Ther Sistemas Ltda",
                        "email": "rodrigo@maxbot.com.br",
                     "whatsapp": "5531911112222",
                 "mobile_phone": "5531922223333",
                        "phone": "3132324455",
                      "country": "BR",
                        "state": "MG",
                         "city": "Vi\u00e7osa",
                   "profession": "",
                  "external_id": "5678",
                   "avatar_url": "",
                          "obs": "",
                "in_attendance": "0",
             "current_protocol": "",
            "current_attendant": ""
              },
              {
                           "id": "2",
                     "cad_date": "2020-06-18 19:10:42",
                 "segmentation": [],
                          "tag": "",
                         "name": "Dilson",
                      "surname": "Lana",
                       "gender": "M",
                        "birth": "",
                          "age": "",
               "br_person_type": "F",
                       "br_cpf": "",
                      "br_cnpj": "",
                      "company": "",
                        "email": "",
                     "whatsapp": "5531911112222",
                 "mobile_phone": "5531922223333",
                        "phone": "",
                      "country": "BR",
                        "state": "SP",
                         "city": "Campinas",
                   "profession": "",
                  "external_id": "",
                   "avatar_url": "",
                          "obs": "Cliente VIP",
                "in_attendance": "1",
             "current_protocol": "2345",
            "current_attendant": "Keli Marchi"
              },
              {
                           "id": "3",
                     "cad_date": "2020-06-19 19:05:07",
                 "segmentation": ["Negocia\u00e7\u00e3o", "Proposta Enviada"],
                          "tag": "Atd Romulo",
                         "name": "Keli",
                      "surname": "Marchi",
                       "gender": "F",
                        "birth": "1990-06-15",
                          "age": "30",
               "br_person_type": "F",
                       "br_cpf": "11122233300",
                      "br_cnpj": "",
                      "company": "",
                        "email": "keli@email.com",
                     "whatsapp": "5531911116666",
                 "mobile_phone": "5531911116666",
                        "phone": "",
                      "country": "BR",
                        "state": "RJ",
                         "city": "Rio de Janeiro",
                   "profession": "Ci\u00eancias Cont\u00e1beis",
                  "external_id": "keli-09",
                   "avatar_url": "https:\/\/maxbot.com.br\/anexos_docs\/f434cd6b295984e3a0c05d8d67ae173d_small.jpg",
                          "obs": "ENVIAR PROPOSTA COMERCIAL NA SEGUNDA",
                "in_attendance": "0",
             "current_protocol": "",
            "current_attendant": ""
              }
           ]
}

  • status - Situação do processamento: 1-Sucesso, 0-Falha;
  • msg - Retorna mensagem de contexto do processamento. Se execução bem sucedida, retorna Success. Se houver falha, retorna informação referente à falha ocorrida;
  • data - Retorno da requisição;
    • id - ID do contato;
    • cad_date - Data de Cadastro;
    • segmentation - Lista de Segmentação;
    • tag - Tag de atendimento exibido na fila de espera do atendimento;
    • name - Nome;
    • surname - Sobrenome;
    • gender - Sexo (M-Masculino ou F-Feminino);
    • birth - Data de Nascimento;
    • age - Idade;
    • br_person_type - Tipo de Pessoa do padrão brasileiro (F-Física ou J-Jurídica);
    • br_cpf - Número do CPF do padrão brasileiro;
    • br_cnpj - Número do CNPJ do padrão brasileiro;
    • company - Razão Social da Empresa;
    • email - Email do contato;
    • whatsapp - Número do WhatsApp;
    • mobile_phone - Número do Celular;
    • phone - Número do Telefone Fixo;
    • country - País (padrão ISO com sigla de 2 caracteres. Ex.: BR, US, PT, FR, etc);
    • state - Nome do Estado;
    • city - Nome da Cidade;
    • profession - Nome da profissão indicada no cadastro;
    • external_id - ID Externo para cruzamento com sistemas externos como RPs, CRMs ou softwares de gestão da empresa;
    • avatar_url - Link do avatar do contato;
    • obs - Texto do campo de observação da ficha de cadastro do contato;
    • in_attendance - Indica se o contato está sendo atendido no momento (0-Não, 1-Sim);
    • current_protocol - Número do protocolo em atendimento;
    • current_attendant - Nome do atendente em atendimento;

Exemplo Funcional:

Este exemplo funcional em PHP 7.3 executa um post para a API e apresenta o retorno na tela para validação. Modifique o código para se adequar às suas necessidades. Para outras linguagens, adapte o código de acordo.

<?php
	header('Content-Type: text/html; charset=utf-8');
	
	# Parametros
	$_TOKEN    = 'xxxxxx';
	$_CMD      = 'get_contact';
	$_DATA_INI = '2020-01-01';
	$_DATA_FIM = '2020-08-25';
	
	# URL
	$_URL = 'https://mbr.maxbot.com.br/api/v1.php';
	
	# START
	$_TXT  = "[POST]:<br/><br/>";
	$_TXT .= "   API_URL => ".$_URL."<br/>";
	$_TXT .= "     token => ".$_TOKEN."<br/>";
	$_TXT .= "       cmd => ".$_CMD."<br/>";
	$_TXT .= "date_start => ".$_DATA_INI."<br/>";
	$_TXT .= " date_stop => ".$_DATA_FIM."<br/>";
	$_TXT .= "<br/>";
	$_TXT .= "[retorno]:<br/><br/>";
	$_TXT .= "<textarea rows=10 cols=90>";
	echo $_TXT;
	
	# Request API
	$_REQUEST = array(
		     "token" => "$_TOKEN",
		       "cmd" => "$_CMD",
		"date_start" => "$_DATA_INI",
		 "date_stop" => "$_DATA_FIM"
	);
	
	$json = json_encode($_REQUEST);
	
	$ch = curl_init($_URL);
	curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
	curl_setopt($ch, CURLOPT_POSTFIELDS, $json);
	curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
	curl_setopt($ch, CURLOPT_HTTPHEADER, array(
	    'Content-Type: application/json',
	    'Content-Length: ' . strlen($json))
	);
	
	$_result = curl_exec($ch);
	curl_close($ch);
	
	echo $_result;
	echo "</textarea>";
	exit;
?>


 get_prot     Requisita dados dos protocolos


Utilize a requisição de dados do protocolo para importar as protocolos concluídos em um determinado período. Todos os dados existentes na ficha do protocolo serão retornados. Desta forma, um sistema externo (RP, CRM, etc) poderá importar os dados do atendimento. A requisição retorna todos os dados do protocolo, bem como todo o diálogo trocado pelo atendente com o contato. Obs.: Retorna dados apenas de protocolos concluídos!

Requisição JSON:

{
       "token": "xxxx",
         "cmd": "get_prot",
  "date_focus": 0,
  "date_start": "2020-08-17",
   "date_stop": "2020-08-19"
}

  • token - Informe o token de identificação de conta apresentado na plataforma Maxbot em Configurações/API Maxbot;
  • cmd - Comando a ser executado:
    • get_prot - Dados do Protocolo + Anotações + Diálogo
    • get_prot_full - Dados do Protocolo + Dados da Ficha do Contato + Anotações + Diálogo
  • date_focus - Indica qual a data que será usada para realização da busca dos registros (1-Data de início do protocolo, 0-Data fim do protocolo. Se não indicar o date_focus, será considerada a data fim como o foco padrão);
  • date_start - Data de início da consulta no padrão AAAA-MM-DD (Ano com 4 dígitos, Mês com 2 dígitos, Dia com 2 dígitos. Ex.: 2020-08-01);
  • date_stop - Data fim da consulta no padrão AAAA-MM-DD (Ano com 4 dígitos, Mês com 2 dígitos, Dia com 2 dígitos. Ex.: 2020-08-01);
  • protocol_number_start - Número de protocolo inicial a partir do qual os registros serão filtrados;
  • protocol_number_stop - Número de protocolo final a partir do qual os registros serão filtrados;
  • Obs. 1: O período indicado será sobre a data de conclusão do protocolo;
  • Obs. 2: Você pode informar a mesma data de início e fim para trazer os protocolos concluídos do dia, ou informar uma data de início e outra data diferente para o fim para trazer os protocolos concluídos dentro de um período;
  • Obs. 3: Se você informar o número de protocolo inicial e final, o Maxbot trará os registros dentro do intervalo indicado. Ex.: Protocolos entre o 100 e o 150;
  • Atenção: Protocolos em aberto (ainda em atendimento) não irão constar no retorno. Apenas após sua conclusão é que eles serão listados!

Retorno:

{
  "status": 1,
     "msg": "Success",
    "data": [
              {
                           "id": "143",
              "protocol_number": "143",
               "service_sector": "Suporte T\u00e9cnico",
               "attendant_name": "Rodrigo Gomide",
                 "contact_name": "Roberto Fulano",
             "contact_whatsapp": "553195551111",
                "contact_email": "",
                 "created_date": "2020-08-31",
                 "started_date": "2020-08-31 14:33:39",
               "concluded_date": "2020-08-31 14:37:52",
                     "duration": "00:00:04",
                          "obs": "Atendimento encerrado pelo atendente.",
                        "notes": [
                                   {
                                            "id": "11",
                                          "date": "2020-08-31 14:36:47",
                                "attendant_name": "Rodrigo Gomide",
                                          "note": "Cliente pede urg\u00eancia, pois precisa da internet para realizar uma live. Pedir urg\u00eancia \u00e0 equipe t\u00e9cnica."
                                   },
                                   {
                                            "id": "10",
                                          "date": "2020-08-31 14:34:25",
                                "attendant_name": "Rodrigo Gomide",
                                          "note": "Cliente reclama que est\u00e1 sem acesso \u00e0 internet. Solicita suporte t\u00e9cnico para reestabelecimento do servi\u00e7o."
                                   }
                                 ],
                       "dialog": [
                                   {
                                              "id": "769",
                                            "date": "2020-08-31",
                          "internal_communication": "0",
                                            "flux": "reply",
                                            "type": "T",
                                         "sent_by": "Roberto Fulano",
                                     "received_by": "Rodrigo Gomide",
                                          "msg_id": "3EB03C160CBC1BC9B9D9",
                                        "msg_text": "[Abertura de Protocolo #0000000143]\n\n[Orienta\u00e7\u00e3o]:\n\n1. Solicitar ao contato:\n- Nome\n- Sobrenome\n- Email\n\n2. Segmentar a ficha do contato como prospect\n3. Atualizar a ficha do contato com o ID Externo\n\nN\u00e3o esque\u00e7a de sorrir hehehe\n",
                                       "msg_sound": "",
                                       "msg_image": "",
                                        "msg_file": "",
                            "msg_location_preview": "",
                                "msg_location_lat": "",
                                "msg_location_lng": "",
                                   "quoted_msg_id": "",
                                 "quoted_msg_text": "",
                                "quoted_msg_sound": "",
                                "quoted_msg_image": "",
                                 "quoted_msg_file": "",
                     "quoted_msg_location_preview": "",
                         "quoted_msg_location_lat": "",
                         "quoted_msg_location_lng": ""
                                   },
                                   {
                                              "id": "770",
                                            "date": "2020-08-31",
                          "internal_communication": "0",
                                            "flux": "sent",
                                            "type": "T",
                                         "sent_by": "Rodrigo Gomide",
                                     "received_by": "Roberto Fulano",
                                          "msg_id": "",
                                        "msg_text": "Ol\u00e1 Roberto, meu nome \u00e9 Rodrigo, como posso ajudar?",
                                       "msg_sound": "",
                                       "msg_image": "",
                                        "msg_file": "",
                            "msg_location_preview": "",
                                "msg_location_lat": "",
                                "msg_location_lng": "",
                                   "quoted_msg_id": "",
                                 "quoted_msg_text": "",
                                "quoted_msg_sound": "",
                                "quoted_msg_image": "",
                                 "quoted_msg_file": "",
                     "quoted_msg_location_preview": "",
                         "quoted_msg_location_lat": "",
                         "quoted_msg_location_lng": ""
                                   },
                                   {
                                              "id": "771",
                                            "date": "2020-08-31",
                          "internal_communication": "0",
                                            "flux": "reply",
                                            "type": "T",
                                         "sent_by": "Roberto Fulano",
                                     "received_by": "Rodrigo Gomide",
                                          "msg_id": "3EB0F5D5A370A2A28F76",
                                        "msg_text": "Ol\u00e1, estou sem acesso \u00e0 internet. Preciso de suporte t\u00e9cnico.",
                                       "msg_sound": "",
                                       "msg_image": "",
                                        "msg_file": "",
                            "msg_location_preview": "",
                                "msg_location_lat": "",
                                "msg_location_lng": "",
                                   "quoted_msg_id": "",
                                 "quoted_msg_text": "",
                                "quoted_msg_sound": "",
                                "quoted_msg_image": "",
                                 "quoted_msg_file": "",
                     "quoted_msg_location_preview": "",
                         "quoted_msg_location_lat": "",
                         "quoted_msg_location_lng": ""
                                   },
                                   {
                                              "id": "772",
                                            "date": "2020-08-31",
                          "internal_communication": "0",
                                            "flux": "sent",
                                            "type": "T",
                                         "sent_by": "Rodrigo Gomide",
                                     "received_by": "Roberto Fulano",
                                          "msg_id": "",
                                        "msg_text": "Ok. Registrei a sua reclama\u00e7\u00e3o. Vou solicitar \u00e0 equipe t\u00e9cnica que veja o que est\u00e1 ocorrendo. Tempo de resolu\u00e7\u00e3o do problema \u00e9 de cerca de 2 horas. Posso ajudar em algo mais?",
                                       "msg_sound": "",
                                       "msg_image": "",
                                        "msg_file": "",
                            "msg_location_preview": "",
                                "msg_location_lat": "",
                                "msg_location_lng": "",
                                   "quoted_msg_id": "",
                                 "quoted_msg_text": "",
                                "quoted_msg_sound": "",
                                "quoted_msg_image": "",
                                 "quoted_msg_file": "",
                     "quoted_msg_location_preview": "",
                         "quoted_msg_location_lat": "",
                         "quoted_msg_location_lng": ""
                                   },
                                   {
                                              "id": "773",
                                            "date": "2020-08-31",
                          "internal_communication": "0",
                                            "flux": "reply",
                                            "type": "T",
                                         "sent_by": "Roberto Fulano",
                                     "received_by": "Rodrigo Gomide",
                                          "msg_id": "3EB09B22C2C2BADE917F",
                                        "msg_text": "Teria como resolver mais r\u00e1pido? Preciso da internet para fazer uma live pelo YouTube.",
                                       "msg_sound": "",
                                       "msg_image": "",
                                        "msg_file": "",
                            "msg_location_preview": "",
                                "msg_location_lat": "",
                                "msg_location_lng": "",
                                   "quoted_msg_id": "",
                                 "quoted_msg_text": "",
                                "quoted_msg_sound": "",
                                "quoted_msg_image": "",
                                 "quoted_msg_file": "",
                     "quoted_msg_location_preview": "",
                         "quoted_msg_location_lat": "",
                         "quoted_msg_location_lng": ""
                                   },
                                   {
                                              "id": "774",
                                            "date": "2020-08-31",
                          "internal_communication": "0",
                                            "flux": "sent",
                                            "type": "T",
                                         "sent_by": "Rodrigo Gomide",
                                     "received_by": "Roberto Fulano",
                                          "msg_id": "",
                                        "msg_text": "Vou pedir urg\u00eancia para a resolu\u00e7\u00e3o do seu caso. Posso ajudar em algo mais?",
                                       "msg_sound": "",
                                       "msg_image": "",
                                        "msg_file": "",
                            "msg_location_preview": "",
                                "msg_location_lat": "",
                                "msg_location_lng": "",
                                   "quoted_msg_id": "",
                                 "quoted_msg_text": "",
                                "quoted_msg_sound": "",
                                "quoted_msg_image": "",
                                 "quoted_msg_file": "",
                     "quoted_msg_location_preview": "",
                         "quoted_msg_location_lat": "",
                         "quoted_msg_location_lng": ""
                                   },
                                   {
                                              "id": "775",
                                            "date": "2020-08-31",
                          "internal_communication": "0",
                                            "flux": "reply",
                                            "type": "T",
                                         "sent_by": "Roberto Fulano",
                                     "received_by": "Rodrigo Gomide",
                                          "msg_id": "3EB0A1C5728C56BBA05E",
                                        "msg_text": "N\u00e3o, seria somente isso mesmo. Agrade\u00e7o.",
                                       "msg_sound": "",
                                       "msg_image": "",
                                        "msg_file": "",
                            "msg_location_preview": "",
                                "msg_location_lat": "",
                                "msg_location_lng": "",
                                   "quoted_msg_id": "",
                                 "quoted_msg_text": "",
                                "quoted_msg_sound": "",
                                "quoted_msg_image": "",
                                 "quoted_msg_file": "",
                     "quoted_msg_location_preview": "",
                         "quoted_msg_location_lat": "",
                         "quoted_msg_location_lng": ""
                                   },
                                   {
                                              "id": "776",
                                            "date": "2020-08-31",
                          "internal_communication": "0",
                                            "flux": "sent",
                                            "type": "T",
                                         "sent_by": "Rodrigo Gomide",
                                     "received_by": "Roberto Fulano",
                                          "msg_id": "",
                                        "msg_text": "Perfeitamente. Chame sempre que precisar.",
                                       "msg_sound": "",
                                       "msg_image": "",
                                        "msg_file": "",
                            "msg_location_preview": "",
                                "msg_location_lat": "",
                                "msg_location_lng": "",
                                   "quoted_msg_id": "",
                                 "quoted_msg_text": "",
                                "quoted_msg_sound": "",
                                "quoted_msg_image": "",
                                 "quoted_msg_file": "",
                     "quoted_msg_location_preview": "",
                         "quoted_msg_location_lat": "",
                         "quoted_msg_location_lng": ""
                                   }
                                 ]
              }
            ]
}

  • status - Situação do processamento: 1-Sucesso, 0-Falha;
  • msg - Retorna mensagem de contexto do processamento. Se execução bem sucedida, retorna Success. Se houver falha, retorna informação referente à falha ocorrida;
  • data - Retorno da requisição;
    • id - ID do Protocolo;
    • protocol_number - Número do Protocolo;
    • service_sector - Setor de Atendimento;
    • attendant_name - Nome do Atendente;
    • contact_name - Nome do Contato;
    • contact_whatsapp - Número de WhatApp do Contato;
    • contact_email - Email do Contato;
    • created_date - Data de Criação do Protocolo;
    • started_date - Data de Início de Atendimento do Protocolo;
    • concluded_date - Data de Concusão do Atendimento do Protocolo;
    • duration - Duração do Atendimento em Horas (horasM:minutos:segundos);
    • obs - Texto de Observação do Protocolo;
    • notes - Anotações Feitas pelo Atendente;
      • id - ID da Anotação;
      • date - Data da Anotação;
      • attendant_name - Nome do Atendente;
      • note - Texto da Anotação;
    • dialog - Diálogo entre o Atendente e o Contato;
      • id - ID da Mensagem;
      • date - Data da Mensagem;
      • internal_communication - Indicador de Comunicação Interna (0-Não, 1-Sim). Obs.: O Maxbot permite que um atendente converse com outro atendente através de um chat de comunicação interna. Esse indicador mostra se o diálogo é uma comunicação interna ou um chat externo;
      • flux - Fluxo da Mensagem (S-Enviado, R-Respondido);
      • type - Tipo de Mensagem (T-Texto, S-Audio, I-Imagem, F-Documento, L-Localização);
      • sent_by - Nome de Quem Enviou a Mensagem;
      • received_by - Nome de Quem Recebeu a Mensagem;
      • msg_id - ID da Mensagem;
      • msg_text - Texto da Mensagem;
      • msg_sound - URL do Áudio;
      • msg_image - URL da Imagem;
      • msg_file - URL do Documento;
      • msg_location_preview - URL da Imagem de Preview;
      • msg_location_lat - Latitude da Localização;
      • msg_location_lng - Longitude da Localização;
      • quoted_msg_id - ID da Mensagem Comentada (Quando Disponível);
      • quoted_msg_text - Texto da Mensagem Comentada (Quando Disponível);
      • quoted_msg_sound - URL do Áudio da Mensagem Comentada (Quando Disponível);
      • quoted_msg_image - URL da Imagem da Mensagem Comentada (Quando Disponível);
      • quoted_msg_file - URL do Documento da Mensagem Comentada (Quando Disponível);
      • quoted_msg_location_preview - URL da Imagem de Preview da Mensagem Comentada (Quando Disponível);
      • quoted_msg_location_lat - Latitude da Mensagem Comentada (Quando Disponível);
      • quoted_msg_location_lng - Longitude da Mensagem Comentada (Quando Disponível);

Exemplo Funcional:

Este exemplo funcional em PHP 7.3 executa um post para a API e apresenta o retorno na tela para validação. Modifique o código para se adequar às suas necessidades. Para outras linguagens, adapte o código de acordo.

<?php
	header('Content-Type: text/html; charset=utf-8');
	
	# Parametros
	$_TOKEN    = 'xxxxxx';
	$_CMD      = 'get_prot';
	$_DATA_INI = '2020-08-31';
	$_DATA_FIM = '2020-08-31';
	
	# URL
	$_URL = 'https://mbr.maxbot.com.br/api/v1.php';
	
	# START
	$_TXT  = "[POST]:<br/><br/>";
	$_TXT .= "   API_URL => ".$_URL."<br/>";
	$_TXT .= "     token => ".$_TOKEN."<br/>";
	$_TXT .= "       cmd => ".$_CMD."<br/>";
	$_TXT .= "date_start => ".$_DATA_INI."<br/>";
	$_TXT .= " date_stop => ".$_DATA_FIM."<br/>";
	$_TXT .= "<br/>";
	$_TXT .= "[retorno]:<br/><br/>";
	$_TXT .= "<textarea rows=10 cols=90>";
	echo $_TXT;
	
	# Request API
	$_REQUEST = array(
		     "token" => "$_TOKEN",
		       "cmd" => "$_CMD",
		"date_start" => "$_DATA_INI",
		 "date_stop" => "$_DATA_FIM"
	);
	
	$json = json_encode($_REQUEST);
	
	$ch = curl_init($_URL);
	curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
	curl_setopt($ch, CURLOPT_POSTFIELDS, $json);
	curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
	curl_setopt($ch, CURLOPT_HTTPHEADER, array(
	    'Content-Type: application/json',
	    'Content-Length: ' . strlen($json))
	);
	
	$_result = curl_exec($ch);
	curl_close($ch);
	
	echo $_result;
	echo "</textarea>";
	exit;
?>


 put_contact     Requisita criação de ficha de contato


Utilize a requisição de criação de ficha de contato para criar um novo contato no Maxbot.

Requisição JSON:

{
             "token": "xxxx",
               "cmd": "put_contact",
      "segmentation": ["Negocia\u00e7\u00e3o", "Proposta Enviada"],
               "tag": "VIP",
              "name": "Jose",
           "surname": "Silva",
            "gender": "M",
             "birth": "1974-06-15",
    "br_person_type": "J",
            "br_cpf": "11122233300",
           "br_cnpj": "00111222000133",
           "company": "Empresa Minha Ltda",
             "email": "jose@email.com",
          "whatsapp": "5531911116666",
      "mobile_phone": "5531911116666",
             "phone": "553155551122",
           "country": "BR",
             "state": "MG",
              "city": "Belo Horizonte",
        "profession": "ESPORTE",
       "external_id": "667811",
        "avatar_url": "https:\/\/www.meusite.com.br\/foto.jpg",
               "obs": "Enviar proposta comercial na segunda"
}

  • token - Informe o token de identificação de conta apresentado na plataforma Maxbot em Configurações/API Maxbot;
  • cmd - Comando a ser executado: put_contact
  • segmentation - Informe o título das segmentações separadas por vírgula (ex.: prospecto,apresentação,orçamento). Caso não exista no Maxbot, a segmentação será criada;
  • tag - Tag que é apresentado na fila de espera do atendimento;
  • name - Nome do contato (até 45 caracteres);
  • surname - Sobrenome do contato (até 45 caracteres);
  • gender - Sexo (M-Masculino ou F-Feminino);
  • birth - Data de Nascimento no formato Ano-Mês-Dia (Ex.: 2020-09-10);
  • br_person_type - Tipo de pessoa do padrão brasileiro (F-Física, J-Jurídica);
  • br_cpf - Número do CPF (cadastro de pessoa física) do padrão brasileiro (Informar apenas os números. Deve ser um número válido.);
  • br_cnpj - Número do CNPJ (cadastro nacional de pessoa jurídica) do padrão brasileiro (Informar apenas os números. Deve ser um número válido.);
  • company - Razão Social da Empresa (até 180 caracteres);
  • email - E-Mail do contato (até 45 caracteres);
  • whatsapp - Número do WhatsApp com código de país e DDD (Ex.: 5511988887777);
  • mobile_phone - Número do celular com código de país e DDD (Ex.: 5511988887777);
  • phone - Número do telefone fixo com código de país e DDD (Ex.: 551144446666);
  • country - Código do país com 2 caracteres no padrão ISO (Ex.: BR-Brasil, US-Estados Unidos, ES-Espanha, PT-Portugal);
  • state - Código do estado (Para país BR (Brasil), o código deve ser correspondente ao código de um dos estados brasileiros. Ex.: MG-Minas Gerais, SP-São Paulo);
  • city - Nome da cidade (Para país BR (Brasil), o nome da cidade deve ser igual ao nome indicado no padrão do IBGE (Instituto Brasileiro de Geografia e Estatística));
  • profession - Nome da área profissional (Deve ser idêntico a uma das áreas profissionais existentes na ficha de cadastro do Maxbot);
  • external_id - ID Externo do contato para cruzando de dados do Maxbot com outros sistemas (até 80 caracteres) (Ex.: um número de matrícula, um ID de registro de sistema, etc);
  • avatar_url - URL da imagem do avatar do contato em formato JPG;
  • obs - Texto de observação para o registro do contato de até 255 caracteres;

  • Atenção:
    1. A verificação de existência de registro é feita com base na existência dos campos: whatsapp, mobile_phone, email, br_cpf;
    2. Se o valor informado nestes campos for detectado, o Maxbot irá considerar a ficha como existente;
    3. Para atualização de ficha de contato, veja  set_contact ;

Retorno:

{
      "status": 1,
         "msg": "Success",
  "contact_id": 1234
}

  • status - Situação do processamento: 1-Sucesso, 0-Falha;
  • msg - Retorna mensagem de contexto do processamento. Se execução bem sucedida, retorna Success. Se houver falha, retorna informação referente à falha ocorrida;
  • contact_id - Retorna o ID do registro no Maxbot para atualizações posteriores;

Exemplo Funcional:

Este exemplo funcional em PHP 7.3 executa um post para a API e apresenta o retorno na tela para validação. Modifique o código para se adequar às suas necessidades. Para outras linguagens, adapte o código de acordo.

<?php
	header('Content-Type: text/html; charset=utf-8');
	
	# Parametros
	$_TOKEN               = 'xxxxxx';
	$_CMD                 = 'put_contact';
	$_SEG_LIST            = 'Negociação,Proposta Enviada';
	$_TAG                 = 'VIP';
	$_NOME                = 'Jose';
	$_SOBRENOME           = 'Silva';
	$_SEXO                = 'M';
	$_NASC                = '1974-06-15';
	$_PESSOA              = 'J';
	$_CPF                 = '87348769527';
	$_CNPJ                = '64420582000148';
	$_EMPRESA             = 'Empresa Minha Ltda';
	$_EMAIL               = 'jose@email.com';
	$_WHATSAPP            = '5531911116666';
	$_CELULAR             = '5531911116666';
	$_FIXO                = '553155551122';
	$_PAIS                = 'BR';
	$_ESTADO              = 'MG';
	$_CIDADE              = 'Belo Horizonte';
	$_PROFISSAO           = 'ESPORTE';
	$_IDEXTERNO           = '667811';
	$_AVATAR_URL          = 'https://www.meusite.com.br/foto.jpg';
	$_OBS                 = 'Enviar proposta comercial na segunda';
	
	# URL
	$_URL = 'https://mbr.maxbot.com.br/api/v1.php';
	
	# START
	$_TXT  = "[POST]:<br/><br/>";
	$_TXT .= "         API_URL => ".$_URL."<br/>";
	$_TXT .= "           token => ".$_TOKEN."<br/>";
	$_TXT .= "             cmd => ".$_CMD."<br/>";
	$_TXT .= "    segmentation => ".$_SEG_LIST."<br/>";
	$_TXT .= "             tag => ".$_TAG."<br/>";
	$_TXT .= "            name => ".$_NOME."<br/>";
	$_TXT .= "         surname => ".$_SOBRENOME."<br/>";
	$_TXT .= "          gender => ".$_SEXO."<br/>";
	$_TXT .= "           birth => ".$_NASC."<br/>";
	$_TXT .= "  br_person_type => ".$_PESSOA."<br/>";
	$_TXT .= "          br_cpf => ".$_CPF."<br/>";
	$_TXT .= "         br_cnpj => ".$_CNPJ."<br/>";
	$_TXT .= "         company => ".$_EMPRESA."<br/>";
	$_TXT .= "           email => ".$_EMAIL."<br/>";
	$_TXT .= "        whatsapp => ".$_WHATSAPP."<br/>";
	$_TXT .= "    mobile_phone => ".$_CELULAR."<br/>";
	$_TXT .= "           phone => ".$_FIXO."<br/>";
	$_TXT .= "         country => ".$_PAIS."<br/>";
	$_TXT .= "           state => ".$_ESTADO."<br/>";
	$_TXT .= "            city => ".$_CIDADE."<br/>";
	$_TXT .= "      profession => ".$_PROFISSAO."<br/>";
	$_TXT .= "     external_id => ".$_IDEXTERNO."<br/>";
	$_TXT .= "      avatar_url => ".$_AVATAR_URL."<br/>";
	$_TXT .= "             obs => ".$_OBS."<br/>";
	$_TXT .= "<br/>";
	$_TXT .= "[retorno]:<br/><br/>";
	$_TXT .= "<textarea rows=10 cols=90>";
	echo $_TXT;
	
	# Request API
	$_REQUEST = array(
		           "token" => "$_TOKEN",
		             "cmd" => "$_CMD",
		    "segmentation" => "$_SEG_LIST",
		             "tag" => "$_TAG",
		            "name" => "$_NOME",
		         "surname" => "$_SOBRENOME",
		          "gender" => "$_SEXO",
		           "birth" => "$_NASC",
		  "br_person_type" => "$_PESSOA",
		          "br_cpf" => "$_CPF",
		         "br_cnpj" => "$_CNPJ",
		         "company" => "$_EMPRESA",
		           "email" => "$_EMAIL",
		        "whatsapp" => "$_WHATSAPP",
		    "mobile_phone" => "$_CELULAR",
		           "phone" => "$_FIXO",
		         "country" => "$_PAIS",
		           "state" => "$_ESTADO",
		            "city" => "$_CIDADE",
		      "profession" => "$_PROFISSAO",
		     "external_id" => "$_IDEXTERNO",
		      "avatar_url" => "$_AVATAR_URL",
		             "obs" => "$_OBS"
	);
	
	$json = json_encode($_REQUEST);
	
	$ch = curl_init($_URL);
	curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
	curl_setopt($ch, CURLOPT_POSTFIELDS, $json);
	curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
	curl_setopt($ch, CURLOPT_HTTPHEADER, array(
	    'Content-Type: application/json',
	    'Content-Length: ' . strlen($json))
	);
	
	$_result = curl_exec($ch);
	curl_close($ch);
	
	echo $_result;
	echo "</textarea>";
	exit;
?>


 set_contact     Requisita atualização de dados de contato


Utilize a requisição de atualização de dados de contato atualizar dados de ficha de um contato existente.

Requisição JSON:

{
             "token": "xxxx",
               "cmd": "set_contact",
    "for_contact_id": "1234",
      "segmentation": ["Negocia\u00e7\u00e3o", "Proposta Enviada"],
               "tag": "VIP",
              "name": "Jose",
           "surname": "Silva",
            "gender": "M",
             "birth": "1974-06-15",
    "br_person_type": "J",
            "br_cpf": "11122233300",
           "br_cnpj": "00111222000133",
           "company": "Empresa Minha Ltda",
             "email": "jose@email.com",
          "whatsapp": "5531911116666",
      "mobile_phone": "5531911116666",
             "phone": "553155551122",
           "country": "BR",
             "state": "MG",
              "city": "Belo Horizonte",
        "profession": "ESPORTE",
       "external_id": "667811",
        "avatar_url": "https:\/\/www.meusite.com.br\/foto.jpg",
               "obs": "Enviar proposta comercial na segunda"
}

  • token - Informe o token de identificação de conta apresentado na plataforma Maxbot em Configurações/API Maxbot;
  • cmd - Comando a ser executado: set_contact
  • for_contact_id - Indica o ID do contato no Maxbot para atualização (ID pode ser obtido através do PUT_CONTACT, GET_CONTACT, GET_PROT ou GET_PROT_FULL);
  • segmentation - Informe o título das segmentações separadas por vírgula (ex.: prospecto,apresentação,orçamento). Caso não exista no Maxbot, a segmentação será criada;
  • tag - Tag que é apresentado na fila de espera do atendimento;
  • name - Nome do contato (até 45 caracteres);
  • surname - Sobrenome do contato (até 45 caracteres);
  • gender - Sexo (M-Masculino ou F-Feminino);
  • birth - Data de Nascimento no formato Ano-Mês-Dia (Ex.: 2020-09-10);
  • br_person_type - Tipo de pessoa do padrão brasileiro (F-Física, J-Jurídica);
  • br_cpf - Número do CPF (cadastro de pessoa física) do padrão brasileiro (Informar apenas os números. Deve ser um número válido.);
  • br_cnpj - Número do CNPJ (cadastro nacional de pessoa jurídica) do padrão brasileiro (Informar apenas os números. Deve ser um número válido.);
  • company - Razão Social da Empresa;
  • email - E-Mail do contato;
  • whatsapp - Número do WhatsApp com código de país e DDD (Ex.: 5511988887777);
  • mobile_phone - Número do celular com código de país e DDD (Ex.: 5511988887777);
  • phone - Número do telefone fixo com código de país e DDD (Ex.: 551144446666);
  • country - Código do país com 2 caracteres no padrão ISO (Ex.: BR-Brasil, US-Estados Unidos, ES-Espanha, PT-Portugal);
  • state - Código do estado (Para país BR (Brasil), o código deve ser correspondente ao código de um dos estados brasileiros. Ex.: MG-Minas Gerais, SP-São Paulo);
  • city - Nome da cidade (Para país BR (Brasil), o nome da cidade deve ser igual ao nome indicado no padrão do IBGE (Instituto Brasileiro de Geografia e Estatística));
  • profession - Nome da área profissional (Deve ser idêntico a uma das áreas profissionais existentes na ficha de cadastro do Maxbot);
  • external_id - ID Externo do contato para cruzando de dados do Maxbot com outros sistemas (Ex.: um número de matrícula, um ID de registro de sistema, etc);
  • avatar_url - URL da imagem do avatar do contato em formato JPG;
  • obs - Texto de observação para o registro do contato de até 255 caracteres;

  • Atenção:
    1. Você deve informar ao menos um dos campos para atualização.
    2. Os campos informados terão seus valores atualizados pelos valores informados.
    3. Os campos whatsapp, mobile_phone, email, br_cpf, external_id não podem existir em nenhum outro registro (por exemplo, tentar atualizar um número de WhatsApp para um registro, sendo que o WhatsApp informado já existe em outra ficha de contato);
    4. Se o valor informado nestes campos for detectado, o Maxbot irá considerar a ficha como existente;

Retorno:

{
  "status": 1,
     "msg": "Success"
}

  • status - Situação do processamento: 1-Sucesso, 0-Falha;
  • msg - Retorna mensagem de contexto do processamento. Se execução bem sucedida, retorna Success. Se houver falha, retorna informação referente à falha ocorrida;

Exemplo Funcional:

Este exemplo funcional em PHP 7.3 executa um post para a API e apresenta o retorno na tela para validação. Modifique o código para se adequar às suas necessidades. Para outras linguagens, adapte o código de acordo.

<?php
	header('Content-Type: text/html; charset=utf-8');
	
	# Parametros
	$_TOKEN               = 'xxxxxx';
	$_CMD                 = 'set_contact';
	$_CONTATO_ID          = '12345';
	$_SEG_LIST            = 'Negociação,Proposta Enviada';
	$_TAG                 = 'VIP';
	$_NOME                = 'Jose';
	$_SOBRENOME           = 'Silva';
	$_SEXO                = 'M';
	$_NASC                = '1974-06-15';
	$_PESSOA              = 'J';
	$_CPF                 = '87348769527';
	$_CNPJ                = '64420582000148';
	$_EMPRESA             = 'Empresa Minha Ltda';
	$_EMAIL               = 'jose@email.com';
	$_WHATSAPP            = '5531911116666';
	$_CELULAR             = '5531911116666';
	$_FIXO                = '553155551122';
	$_PAIS                = 'BR';
	$_ESTADO              = 'MG';
	$_CIDADE              = 'Belo Horizonte';
	$_PROFISSAO           = 'ESPORTE';
	$_IDEXTERNO           = '667811';
	$_AVATAR_URL          = 'https://www.meusite.com.br/foto.jpg';
	$_OBS                 = 'Enviar proposta comercial na segunda';
	
	# URL
	$_URL = 'https://mbr.maxbot.com.br/api/v1.php';
	
	# START
	$_TXT  = "[POST]:<br/><br/>";
	$_TXT .= "         API_URL => ".$_URL."<br/>";
	$_TXT .= "           token => ".$_TOKEN."<br/>";
	$_TXT .= "             cmd => ".$_CMD."<br/>";
	$_TXT .= "  for_contact_id => ".$_CONTATO_ID."<br/>";
	$_TXT .= "    segmentation => ".$_SEG_LIST."<br/>";
	$_TXT .= "             tag => ".$_TAG."<br/>";
	$_TXT .= "            name => ".$_NOME."<br/>";
	$_TXT .= "         surname => ".$_SOBRENOME."<br/>";
	$_TXT .= "          gender => ".$_SEXO."<br/>";
	$_TXT .= "           birth => ".$_NASC."<br/>";
	$_TXT .= "  br_person_type => ".$_PESSOA."<br/>";
	$_TXT .= "          br_cpf => ".$_CPF."<br/>";
	$_TXT .= "         br_cnpj => ".$_CNPJ."<br/>";
	$_TXT .= "         company => ".$_EMPRESA."<br/>";
	$_TXT .= "           email => ".$_EMAIL."<br/>";
	$_TXT .= "        whatsapp => ".$_WHATSAPP."<br/>";
	$_TXT .= "    mobile_phone => ".$_CELULAR."<br/>";
	$_TXT .= "           phone => ".$_FIXO."<br/>";
	$_TXT .= "         country => ".$_PAIS."<br/>";
	$_TXT .= "           state => ".$_ESTADO."<br/>";
	$_TXT .= "            city => ".$_CIDADE."<br/>";
	$_TXT .= "      profession => ".$_PROFISSAO."<br/>";
	$_TXT .= "     external_id => ".$_IDEXTERNO."<br/>";
	$_TXT .= "      avatar_url => ".$_AVATAR_URL."<br/>";
	$_TXT .= "             obs => ".$_OBS."<br/>";
	$_TXT .= "<br/>";
	$_TXT .= "[retorno]:<br/><br/>";
	$_TXT .= "<textarea rows=10 cols=90>";
	echo $_TXT;
	
	# Request API
	$_REQUEST = array(
		           "token" => "$_TOKEN",
		             "cmd" => "$_CMD",
		  "for_contact_id" => "$_CONTATO_ID",
		    "segmentation" => "$_SEG_LIST",
		             "tag" => "$_TAG",
		            "name" => "$_NOME",
		         "surname" => "$_SOBRENOME",
		          "gender" => "$_SEXO",
		           "birth" => "$_NASC",
		  "br_person_type" => "$_PESSOA",
		          "br_cpf" => "$_CPF",
		         "br_cnpj" => "$_CNPJ",
		         "company" => "$_EMPRESA",
		           "email" => "$_EMAIL",
		        "whatsapp" => "$_WHATSAPP",
		    "mobile_phone" => "$_CELULAR",
		           "phone" => "$_FIXO",
		         "country" => "$_PAIS",
		           "state" => "$_ESTADO",
		            "city" => "$_CIDADE",
		      "profession" => "$_PROFISSAO",
		     "external_id" => "$_IDEXTERNO",
		      "avatar_url" => "$_AVATAR_URL",
		             "obs" => "$_OBS"
	);
	
	$json = json_encode($_REQUEST);
	
	$ch = curl_init($_URL);
	curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
	curl_setopt($ch, CURLOPT_POSTFIELDS, $json);
	curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
	curl_setopt($ch, CURLOPT_HTTPHEADER, array(
	    'Content-Type: application/json',
	    'Content-Length: ' . strlen($json))
	);
	
	$_result = curl_exec($ch);
	curl_close($ch);
	
	echo $_result;
	echo "</textarea>";
	exit;
?>


 open_followup     Requisita abertura de protocolo de follow up com disparo de template de follow up


Utilize a requisição de abertura de protocolo de follow up para enviar um template de follow up seguido da abertura automática de um protocolo de atendimento para um contato. Você pode disparar templates para qualquer contato previamente existente na sua base de contatos.

Requisição JSON:

{
           "token": "xxxx",
             "cmd": "open_followup",
      "contact_id": 1234,
     "template_id": 1234,
       "sector_id": 1234,
    "attendant_id": 0,
       "scheduled": 1,
       "date_time": "2020-12-01 13:00:00"
}

  • token - Informe o token de identificação de conta apresentado na plataforma Maxbot em Configurações/API Maxbot;
  • cmd - Comando a ser executado: open_followup
  • contact_id - ID do contato
  • template_id - ID do template
  • sector_id - ID do setor de atendimento
  • attendant_id - ID do atendente (Informe 0 como ID do atendente para que o contato caia na fila geral do setor e fique visível para qualquer atendente do setor. Indique o ID do atendente do setor para que o contato caia no box lateral do chat do atendente. Atenção: O ID de um atendente deve constar como um atendente do setor indicado. Do contrário o comando não será executado!)
  • scheduled - Indicador de agendamento de disparo. (0 - Disparo imediato, 1 - Agendar disparo para uma data hora específica)
  • date_time - Data hora para disparo agendado
    • Obs.1: Deve ser uma data hora no formato AAAA-MM-DD HH:MM:SS. (Ex.: 2020-12-01 14:30:00)
    • Obs.2: Hora deve ser um número de 2 dígitos de 00 a 23;
    • Obs.3: Minuto deve ser 00 ou 30;
    • Obs.4: Segundos devem ser sempre 00;
    • Obs.5: Data hora fora do padrão causará falha na execução;

Retorno:

{
  "status": 1,
     "msg": "Success"
}

  • status - Situação do processamento: 1-Sucesso, 0-Falha;
  • msg - Retorna mensagem de contexto do processamento. Se execução bem sucedida, retorna Success. Se houver falha, retorna informação referente à falha ocorrida;

Exemplo Funcional:

Este exemplo funcional em PHP 7.3 executa um post para a API e apresenta o retorno na tela para validação. Modifique o código para se adequar às suas necessidades. Para outras linguagens, adapte o código de acordo.

<?php
	header('Content-Type: text/html; charset=utf-8');
	
	# Parametros
	$_TOKEN        = 'xxxxxx';
	$_CMD          = 'open_followup';
	$_CT_ID        = '1234';
	$_TP_ID        = '1234';
	$_ST_ID        = '1234';
	$_AT_ID        = '0';
	$_SCHEDULED    = '0';
	$_DATE_TIME    = '2020-12-01 08:30:00';
	
	# URL
	$_URL = 'https://mbr.maxbot.com.br/api/v1.php';
	
	# START
	$_TXT  = "[POST]:<br/><br/>";
	$_TXT .= "        API_URL => ".$_URL."<br/>";
	$_TXT .= "          token => ".$_TOKEN."<br/>";
	$_TXT .= "            cmd => ".$_CMD."<br/>";
	$_TXT .= "     contact_id => ".$_CT_ID."<br/>";
	$_TXT .= "    template_id => ".$_TP_ID."<br/>";
	$_TXT .= "      sector_id => ".$_ST_ID."<br/>";
	$_TXT .= "   attendant_id => ".$_AT_ID."<br/>";
	$_TXT .= "      scheduled => ".$_SCHEDULED."<br/>";
	$_TXT .= "      date_time => ".$_DATE_TIME."<br/>";
	$_TXT .= "<br/>";
	$_TXT .= "[retorno]:<br/><br/>";
	$_TXT .= "<textarea rows=10 cols=90>";
	echo $_TXT;
	
	# Request API
	$_REQUEST = array(
		          "token" => "$_TOKEN",
		            "cmd" => "$_CMD",
		     "contact_id" => "$_CT_ID",
		    "template_id" => "$_TP_ID",
		      "sector_id" => "$_ST_ID",
		   "attendant_id" => "$_AT_ID",
		      "scheduled" => "$_SCHEDULED",
		      "date_time" => "$_DATE_TIME"
	);
	
	$json = json_encode($_REQUEST);
	
	$ch = curl_init($_URL);
	curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
	curl_setopt($ch, CURLOPT_POSTFIELDS, $json);
	curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
	curl_setopt($ch, CURLOPT_HTTPHEADER, array(
	    'Content-Type: application/json',
	    'Content-Length: ' . strlen($json))
	);
	
	$_result = curl_exec($ch);
	curl_close($ch);
	
	echo $_result;
	echo "</textarea>";
	exit;
?>


 send_text     Requisita disparo de mensagem de texto


Utilize a requisição de disparo de mensagem de texto para enviar uma mensagem de texto para um contato existente no Maxbot. Você pode disparar mensagens para qualquer contato previamente existente na sua base de contatos. O disparo é feito conforme as seguintes condições:

  1. A API tenta localizar o contato na seguinte ordem: Número de WhatsApp, ID Externo, CPF do padrão brasileiro;
  2. Ao encontrar o contato na base, carrega o número de WhatsApp existente na ficha do contato;
  3. Valida se a API está on-line e se a integração com o WhatsApp está ativa;
  4. Tudo validado, dispara a mensagem de texto para o contato;

Requisição JSON:

{
           "token": "xxxx",
             "cmd": "send_text",
     "ct_whatsapp": "553191112222",
  "ct_external_id": "1234",
       "ct_br_cpf": "11122233344",
             "msg": "Mensagem de Texto"
}

  • token - Informe o token de identificação de conta apresentado na plataforma Maxbot em Configurações/API Maxbot;
  • cmd - Comando a ser executado: send_text
  • ct_whatsapp - Número do WhatsApp do Contato existente na ficha de cadastro
  • ct_external_id - ID Externo do Contato existente na ficha de cadastro
  • ct_br_cpf - Número de CPF do padrão brasileiro do Contato existente na ficha de cadastro
  • msg - Texto da mensagem para disparo
  • Emojis: Tags emoji serão substituídos pelo emoji correspondente no momento do disparo. Tags de emoji disponíveis:
    • [EMOJI1] - 😃
    • [EMOJI2] - 😁
    • [EMOJI3] - 🤣
    • [EMOJI4] - 😉
    • [EMOJI5] - 😍
    • [EMOJI6] - 🤩
    • [EMOJI7] - 🤔
    • [EMOJI8] - 😕
    • [EMOJI9] - 👉
    • [EMOJI10] - 👍
    • [EMOJI11] - 😅
    • [EMOJI12] - 🙂
    • [EMOJI13] - 😱

Retorno:

{
  "status": 1,
     "msg": "Success"
}

  • status - Situação do processamento: 1-Sucesso, 0-Falha;
  • msg - Retorna mensagem de contexto do processamento. Se execução bem sucedida, retorna Success. Se houver falha, retorna informação referente à falha ocorrida;

Exemplo Funcional:

Este exemplo funcional em PHP 7.3 executa um post para a API e apresenta o retorno na tela para validação. Modifique o código para se adequar às suas necessidades. Para outras linguagens, adapte o código de acordo.

<?php
	header('Content-Type: text/html; charset=utf-8');
	
	# Parametros
	$_TOKEN        = 'xxxxxx';
	$_CMD          = 'send_text';
	$_CT_WHATSAPP  = '553196668586';
	$_CT_CPF       = '03104925640';
	$_CT_IDEXTERNO = '1234';
	$_MSG          = "teste de disparo 001!";//\nEmojis: [EMOJI1] [EMOJI2] [EMOJI3] [EMOJI4] [EMOJI5] [EMOJI6] [EMOJI7] [EMOJI8] [EMOJI9] [EMOJI10] ";
	
	# URL
	$_URL = 'https://mbr.maxbot.com.br/api/v1.php';
	
	# START
	$_TXT  = "[POST]:<br/><br/>";
	$_TXT .= "       API_URL => ".$_URL."<br/>";
	$_TXT .= "         token => ".$_TOKEN."<br/>";
	$_TXT .= "           cmd => ".$_CMD."<br/>";
	$_TXT .= "   ct_whatsapp => ".$_CT_WHATSAPP."<br/>";
	$_TXT .= "     ct_br_cpf => ".$_CT_CPF."<br/>";
	$_TXT .= "ct_external_id => ".$_CT_IDEXTERNO."<br/>";
	$_TXT .= "           msg => ".$_MSG."<br/>";
	$_TXT .= "<br/>";
	$_TXT .= "[retorno]:<br/><br/>";
	$_TXT .= "<textarea rows=10 cols=90>";
	echo $_TXT;
	
	# Request API
	$_REQUEST = array(
		         "token" => "$_TOKEN",
		           "cmd" => "$_CMD",
		   "ct_whatsapp" => "$_CT_WHATSAPP",
		     "ct_br_cpf" => "$_CT_CPF",
		"ct_external_id" => "$_CT_IDEXTERNO",
		           "msg" => "$_MSG"
	);
	
	$json = json_encode($_REQUEST);
	
	$ch = curl_init($_URL);
	curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
	curl_setopt($ch, CURLOPT_POSTFIELDS, $json);
	curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
	curl_setopt($ch, CURLOPT_HTTPHEADER, array(
	    'Content-Type: application/json',
	    'Content-Length: ' . strlen($json))
	);
	
	$_result = curl_exec($ch);
	curl_close($ch);
	
	echo $_result;
	echo "</textarea>";
	exit;
?>


 send_image     Requisita disparo de imagem


Utilize a requisição de disparo de imagem para enviar uma imagem (jpg, jpeg, png ou gif) para um contato existente no Maxbot. Você pode disparar imagens para qualquer contato previamente existente na sua base de contatos. O disparo é feito conforme as seguintes condições:

  1. A API tenta localizar o contato na seguinte ordem: Número de WhatsApp, ID Externo, CPF do padrão brasileiro;
  2. Ao encontrar o contato na base, carrega o número de WhatsApp existente na ficha do contato;
  3. Valida se a API está on-line e se a integração com o WhatsApp está ativa;
  4. Tudo validado, dispara a imagem para o contato;
  5. Obs.: Imagens até 1mb serão disparadas normalmente. Imagens acima de 1mb serão disparadas como uma mensagem de texto com o link para download da imagem. O tamanho máximo permitido é de 5mb. Acima de 5mb não haverá disparo retornando falha no disparo;

Requisição JSON:

{
           "token": "xxxx",
             "cmd": "send_image",
     "ct_whatsapp": "553191112222",
  "ct_external_id": "1234",
       "ct_br_cpf": "11122233344",
         "image_url": "https://www.meusite.com.br/foto.png",
 "image_extension": "png"
}

  • token - Informe o token de identificação de conta apresentado na plataforma Maxbot em Configurações/API Maxbot;
  • cmd - Comando a ser executado: send_image
  • ct_whatsapp - Número do WhatsApp do Contato existente na ficha de cadastro
  • ct_external_id - ID Externo do Contato existente na ficha de cadastro
  • ct_br_cpf - Número de CPF do padrão brasileiro do Contato existente na ficha de cadastro
  • img_url - URL da imagem que será disparada
  • image_extension - Extensão da imagem que será disparada. (Extensões permitidas: jpg, jpeg, png e gif)
  • Obs.: Tamanho máximo da imagem de 5mb. Abaixo de 1mb a imagem é disparada normalmente. Acima de 1mb será disparada uma mensagem de texto com o link para download da imagem;

Retorno:

{
  "status": 1,
     "msg": "Success"
}

  • status - Situação do processamento: 1-Sucesso, 0-Falha;
  • msg - Retorna mensagem de contexto do processamento. Se execução bem sucedida, retorna Success. Se houver falha, retorna informação referente à falha ocorrida;

Exemplo Funcional:

Este exemplo funcional em PHP 7.3 executa um post para a API e apresenta o retorno na tela para validação. Modifique o código para se adequar às suas necessidades. Para outras linguagens, adapte o código de acordo.

<?php
	header('Content-Type: text/html; charset=utf-8');
	
	# Parametros
	$_TOKEN        = 'xxxxxx';
	$_CMD          = 'send_text';
	$_CT_WHATSAPP  = '553196668586';
	$_CT_CPF       = '03104925640';
	$_CT_IDEXTERNO = '1234';
	$_IMG_URL      = 'https://www.meusite.com.br/foto.png';
	$_IMG_EXT      = 'png';
	
	# URL
	$_URL = 'https://mbr.maxbot.com.br/api/v1.php';
	
	# START
	$_TXT  = "[POST]:<br/><br/>";
	$_TXT .= "        API_URL => ".$_URL."<br/>";
	$_TXT .= "          token => ".$_TOKEN."<br/>";
	$_TXT .= "            cmd => ".$_CMD."<br/>";
	$_TXT .= "    ct_whatsapp => ".$_CT_WHATSAPP."<br/>";
	$_TXT .= "      ct_br_cpf => ".$_CT_CPF."<br/>";
	$_TXT .= " ct_external_id => ".$_CT_IDEXTERNO."<br/>";
	$_TXT .= "      image_url => ".$_IMG_URL."<br/>";
	$_TXT .= "image_extension => ".$_IMG_EXT."<br/>";
	$_TXT .= "<br/>";
	$_TXT .= "[retorno]:<br/><br/>";
	$_TXT .= "<textarea rows=10 cols=90>";
	echo $_TXT;
	
	# Request API
	$_REQUEST = array(
		          "token" => "$_TOKEN",
		            "cmd" => "$_CMD",
		    "ct_whatsapp" => "$_CT_WHATSAPP",
		      "ct_br_cpf" => "$_CT_CPF",
		 "ct_external_id" => "$_CT_IDEXTERNO",
		      "image_url" => "$_IMG_URL",
		"image_extension" => "$_IMG_EXT"
	);
	
	$json = json_encode($_REQUEST);
	
	$ch = curl_init($_URL);
	curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
	curl_setopt($ch, CURLOPT_POSTFIELDS, $json);
	curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
	curl_setopt($ch, CURLOPT_HTTPHEADER, array(
	    'Content-Type: application/json',
	    'Content-Length: ' . strlen($json))
	);
	
	$_result = curl_exec($ch);
	curl_close($ch);
	
	echo $_result;
	echo "</textarea>";
	exit;
?>


 send_file     Requisita disparo de documento


Utilize a requisição de disparo de documento para enviar um documento (pdf, doc, docx, xls, xlsx, ppt, pptx ou pps) para um contato existente no Maxbot. Você pode disparar documentos para qualquer contato previamente existente na sua base de contatos. O disparo é feito conforme as seguintes condições:

  1. A API tenta localizar o contato na seguinte ordem: Número de WhatsApp, ID Externo, CPF do padrão brasileiro;
  2. Ao encontrar o contato na base, carrega o número de WhatsApp existente na ficha do contato;
  3. Valida se a API está on-line e se a integração com o WhatsApp está ativa;
  4. Tudo validado, dispara o documento para o contato;
  5. Obs.: Documentos até 1mb serão disparados normalmente. Documentos acima de 1mb serão disparados como uma mensagem de texto com o link para download do documento. O tamanho máximo permitido é de 5mb. Acima de 5mb não haverá disparo retornando falha no disparo;

Requisição JSON:

{
           "token": "xxxx",
             "cmd": "send_file",
     "ct_whatsapp": "553191112222",
  "ct_external_id": "1234",
       "ct_br_cpf": "11122233344",
        "file_url": "https://www.meusite.com.br/teste.pdf",
  "file_extension": "pdf"
}

  • token - Informe o token de identificação de conta apresentado na plataforma Maxbot em Configurações/API Maxbot;
  • cmd - Comando a ser executado: send_file
  • ct_whatsapp - Número do WhatsApp do Contato existente na ficha de cadastro
  • ct_external_id - ID Externo do Contato existente na ficha de cadastro
  • ct_br_cpf - Número de CPF do padrão brasileiro do Contato existente na ficha de cadastro
  • file_url - URL do documento que será disparado
  • file_extension - Extensão do documento que será disparado. (Extensões permitidas: pdf, doc, docx, xls, xlsx, ppt, pptx e pps)
  • Obs.: Tamanho máximo do documento de 5mb. Abaixo de 1mb o documento é disparado normalmente. Acima de 1mb será disparada uma mensagem de texto com o link para download do documento;

Retorno:

{
  "status": 1,
     "msg": "Success"
}

  • status - Situação do processamento: 1-Sucesso, 0-Falha;
  • msg - Retorna mensagem de contexto do processamento. Se execução bem sucedida, retorna Success. Se houver falha, retorna informação referente à falha ocorrida;

Exemplo Funcional:

Este exemplo funcional em PHP 7.3 executa um post para a API e apresenta o retorno na tela para validação. Modifique o código para se adequar às suas necessidades. Para outras linguagens, adapte o código de acordo.

<?php
	header('Content-Type: text/html; charset=utf-8');
	
	# Parametros
	$_TOKEN        = 'xxxxxx';
	$_CMD          = 'send_file';
	$_CT_WHATSAPP  = '553196668586';
	$_CT_CPF       = '03104925640';
	$_CT_IDEXTERNO = '1234';
	$_FILE_URL     = 'https://www.meusite.com.br/teste.pdf';
	$_FILE_EXT     = 'pdf';
	
	# URL
	$_URL = 'https://mbr.maxbot.com.br/api/v1.php';
	
	# START
	$_TXT  = "[POST]:<br/><br/>";
	$_TXT .= "        API_URL => ".$_URL."<br/>";
	$_TXT .= "          token => ".$_TOKEN."<br/>";
	$_TXT .= "            cmd => ".$_CMD."<br/>";
	$_TXT .= "    ct_whatsapp => ".$_CT_WHATSAPP."<br/>";
	$_TXT .= "      ct_br_cpf => ".$_CT_CPF."<br/>";
	$_TXT .= " ct_external_id => ".$_CT_IDEXTERNO."<br/>";
	$_TXT .= "       file_url => ".$_FILE_URL."<br/>";
	$_TXT .= " file_extension => ".$_FILE_EXT."<br/>";
	$_TXT .= "<br/>";
	$_TXT .= "[retorno]:<br/><br/>";
	$_TXT .= "<textarea rows=10 cols=90>";
	echo $_TXT;
	
	# Request API
	$_REQUEST = array(
		          "token" => "$_TOKEN",
		            "cmd" => "$_CMD",
		    "ct_whatsapp" => "$_CT_WHATSAPP",
		      "ct_br_cpf" => "$_CT_CPF",
		 "ct_external_id" => "$_CT_IDEXTERNO",
		       "file_url" => "$_FILE_URL",
		 "file_extension" => "$_FILE_EXT"
	);
	
	$json = json_encode($_REQUEST);
	
	$ch = curl_init($_URL);
	curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
	curl_setopt($ch, CURLOPT_POSTFIELDS, $json);
	curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
	curl_setopt($ch, CURLOPT_HTTPHEADER, array(
	    'Content-Type: application/json',
	    'Content-Length: ' . strlen($json))
	);
	
	$_result = curl_exec($ch);
	curl_close($ch);
	
	echo $_result;
	echo "</textarea>";
	exit;
?>


 send_sound     Requisita disparo de áudio


Utilize a requisição de disparo de áudio para enviar um arquivo de áudio MP3 para um contato existente no Maxbot. Você pode disparar áudios para qualquer contato previamente existente na sua base de contatos. O disparo é feito conforme as seguintes condições:

  1. A API tenta localizar o contato na seguinte ordem: Número de WhatsApp, ID Externo, CPF do padrão brasileiro;
  2. Ao encontrar o contato na base, carrega o número de WhatsApp existente na ficha do contato;
  3. Valida se a API está on-line e se a integração com o WhatsApp está ativa;
  4. Tudo validado, dispara o documento para o contato;

Requisição JSON:

{
           "token": "xxxx",
             "cmd": "send_sound",
     "ct_whatsapp": "553191112222",
  "ct_external_id": "1234",
       "ct_br_cpf": "11122233344",
       "sound_url": "https://www.meusite.com.br/audio.mp3",
 "sound_extension": "mp3"
}

  • token - Informe o token de identificação de conta apresentado na plataforma Maxbot em Configurações/API Maxbot;
  • cmd - Comando a ser executado: send_sound
  • ct_whatsapp - Número do WhatsApp do Contato existente na ficha de cadastro
  • ct_external_id - ID Externo do Contato existente na ficha de cadastro
  • ct_br_cpf - Número de CPF do padrão brasileiro do Contato existente na ficha de cadastro
  • sound_url - URL do arquivo MP3 que será disparado
  • sound_extension - Extensão do documento que será disparado. Será sempre mp3

Retorno:

{
  "status": 1,
     "msg": "Success"
}

  • status - Situação do processamento: 1-Sucesso, 0-Falha;
  • msg - Retorna mensagem de contexto do processamento. Se execução bem sucedida, retorna Success. Se houver falha, retorna informação referente à falha ocorrida;

Exemplo Funcional:

Este exemplo funcional em PHP 7.3 executa um post para a API e apresenta o retorno na tela para validação. Modifique o código para se adequar às suas necessidades. Para outras linguagens, adapte o código de acordo.

<?php
	header('Content-Type: text/html; charset=utf-8');
	
	# Parametros
	$_TOKEN        = 'xxxxxx';
	$_CMD          = 'send_sound';
	$_CT_WHATSAPP  = '553196668586';
	$_CT_CPF       = '03104925640';
	$_CT_IDEXTERNO = '1234';
	$_SOUND_URL    = 'https://www.meusite.com.br/audio.mp3';
	$_SOUND_EXT    = 'mp3';
	
	# URL
	$_URL = 'https://mbr.maxbot.com.br/api/v1.php';
	
	# START
	$_TXT  = "[POST]:<br/><br/>";
	$_TXT .= "        API_URL => ".$_URL."<br/>";
	$_TXT .= "          token => ".$_TOKEN."<br/>";
	$_TXT .= "            cmd => ".$_CMD."<br/>";
	$_TXT .= "    ct_whatsapp => ".$_CT_WHATSAPP."<br/>";
	$_TXT .= "      ct_br_cpf => ".$_CT_CPF."<br/>";
	$_TXT .= " ct_external_id => ".$_CT_IDEXTERNO."<br/>";
	$_TXT .= "      sound_url => ".$_SOUND_URL."<br/>";
	$_TXT .= "sound_extension => ".$_SOUND_EXT."<br/>";
	$_TXT .= "<br/>";
	$_TXT .= "[retorno]:<br/><br/>";
	$_TXT .= "<textarea rows=10 cols=90>";
	echo $_TXT;
	
	# Request API
	$_REQUEST = array(
		          "token" => "$_TOKEN",
		            "cmd" => "$_CMD",
		    "ct_whatsapp" => "$_CT_WHATSAPP",
		      "ct_br_cpf" => "$_CT_CPF",
		 "ct_external_id" => "$_CT_IDEXTERNO",
		      "sound_url" => "$_SOUND_URL",
		"sound_extension" => "$_SOUND_EXT"
	);
	
	$json = json_encode($_REQUEST);
	
	$ch = curl_init($_URL);
	curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
	curl_setopt($ch, CURLOPT_POSTFIELDS, $json);
	curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
	curl_setopt($ch, CURLOPT_HTTPHEADER, array(
	    'Content-Type: application/json',
	    'Content-Length: ' . strlen($json))
	);
	
	$_result = curl_exec($ch);
	curl_close($ch);
	
	echo $_result;
	echo "</textarea>";
	exit;
?>