api


INSTALAÇÃO


DOWNLOAD

				
					
<?php
/*****************************************************************************************************/
/*********************************** API Whatsapp Form Elementor *************************************/
/*****************************************************************************************************/
// Pegando dados para o enviar para API do WhatsApp
function pegando_dados_api($record){
	$form_name = $record->get_form_settings( 'form_name' );
	// capturando o formulário pelo nome
	$nome_formulario = 'cupom';
	//Definir o formulário
	if ( $nome_formulario !== $form_name ) {
        return;
    }
	//Buscar os campos do formulário
    $raw_fields = $record->get( 'fields' );
    $fields = [];
	foreach ( $raw_fields as $id => $field ) {
    $fields[ $id ] = $field['value'];
	}
		// Recuperando os campos do formulário (telefone)
    	$telefone = $fields['nwa'];
		$telComercial = "62986062592";
		$msgCliente = "*PARABÉNS* - Ganhou *50% OFF*.rnrnAgora digite *1*, para que nossso *atendente virtual* possa informar seu *cupom de desconto*.";
		$msgComercial = "Lead captado na landingpage *".$telefone."*";
		// Nome do sender de envio
		$sender = "primary";
		// URL da API ou Sistema Intermediário
		$urlApi = "http://23.88.57.118:9000/send-message/";
		// Função para enviar os dados para API
		preparando_envio_mensagem_api($telefone, $telComercial, $msgCliente, $msgComercial, $sender, $urlApi);
}
	/************************** Hooks dos formulários do Jet Engine **************************/
	add_action('elementor_pro/forms/new_record', 'pegando_dados_api');
	/************************** Preparando dados para envio da Mensagem para API **************************/
	function preparando_envio_mensagem_api($telefone, $telComercial, $msgCliente, $msgComercial, $sender, $urlApi){
    $telefoneCliente = valida_telefone($telefone);
    $telComercial = valida_telefone($telComercial);
    $telefones = array('telComercial' => $telComercial, 'telCliente' => $telefone);
    $msgCompleta = $msgCliente;
    foreach ($telefones as $value):
        $telefoneArray = $value;
        if($telefoneArray == $telComercial){
            $msgCompleta = $msgComercial;
            $telefone = $telComercial;
            $r = enviar_mensagem_whatsapp_texto_api($sender,$telefone,$msgCompleta, $urlApi);
            if($r['status'] == "sucesso"){
                //echo "Mensagem Enviada com sucesso";
            }else{
                //echo "Houve um erro";
            }
        }else{
            $msgCompleta = $msgCliente;
            $telefone = $telefoneCliente;
            $r = enviar_mensagem_whatsapp_texto_api($sender,$telefone,$msgCompleta, $urlApi);agendamento com Jet Apintment
            if($r['status'] == "sucesso"){
                //echo "Mensagem Enviada com sucesso";
            }else{
                //echo "Houve um erro";
            }
        }
    endforeach;
}
/************************** Executa o Envio da Mensagem para API **************************/
function enviar_mensagem_whatsapp_texto_api($sender,$telefone,$msgCompleta, $urlApi){
	$dominio = str_replace(array('http://','https://'), '', get_site_url());
    $data1 = array('sender'=> $sender, 'idc' => $dominio,  'number' => '+55' . $telefone, 'message' => $msgCompleta);
    // use key 'http' even if you send the request to https://...
    $options = array(
        'http' => array(
            'header' => "Content-type: application/x-www-form-urlencodedrn",
            'method' => 'POST',
            'content' => http_build_query($data1),
            'timeout' => 10,
        ),
    );
    // Montando a requisição
    $context = stream_context_create($options);
    // Enviando a requisição
    $result = file_get_contents($urlApi, false, $context);
    $resultado = json_decode($result);
    $status_resultado = $resultado->status;
    if($status_resultado == 1){
        $r = array('status' => 'sucesso');
    }else{
        $r = array('status'=> 'Houve um erro ao tentar enviar sua mensagem');
    }
    return $r;
}
/************************** Função validar validar o telefone **************************/
function valida_telefone($telefone)
{
    $telefone = preg_replace("/D/", "", $telefone); 
    $ddd = substr($telefone, 0, 2); 
    if ($ddd === "11" || $ddd === "12" || $ddd === "13" || $ddd === "14" || $ddd === "15" || $ddd === "16" || $ddd === "17" || $ddd === "18" || $telefone1 === "19" || $telefone1 === "21" || $telefone1 === "22" || $telefone1 === "24") {
        $telefone = $telefone;
    } else {
        $telefone = substr($telefone, -8); 
        $telefone = $ddd . $telefone; 
        $telefone = $telefone;
    }
    return $telefone;
}
				
			
				
					<?php
/*****************************************************************************************************/
/*************************** API Whatsapp envio de imagem com Jet Apintment **************************/
/*****************************************************************************************************/
// Pegando dados para o enviar para API do WhatsApp
function pegando_imagem_api($data){
	// Pegar telefone do cliente
	$telefone = valida_telefone($data['user_phone']);
	// Pegar Texto da imagem
	$texto_imagem_api = jet_engine()->listings->data->get_option('config-sistema::texto-wa-imagem');
	// Pegar URL da imagem
	$url_imagem_api = jet_engine()->listings->data->get_option('config-sistema::mensagem-wa-imagem');
	// Nome do sender de envio
	$sender = jet_engine()->listings->data->get_option('config-sistema::nome-do-sender-wa');
	// URL da API ou Sistema Intermediário
	$urlApi_img_wa = jet_engine()->listings->data->get_option( 'config-sistema::url-wa-api_imagem');
	// Função para enviar os dados para API
	enviar_mensagem_whatsapp_imagem($telefone, $sender, $urlApi_img_wa, $url_imagem_api, $texto_imagem_api);
}
// Executa o Envio da Imagem para API
function enviar_mensagem_whatsapp_imagem($telefone, $sender, $urlApi_img_wa, $url_imagem_api, $texto_imagem_api){
  $dominio = str_replace(array('http://','https://'), '', get_site_url());
    $data1 = array(
        'sender' => $sender, 
        'idc' => $dominio,  
        'number' => '55' . $telefone, 
        'file' => $url_imagem_api,
        'caption'=>$texto_imagem_api,
    );
    // use key 'http' even if you send the request to https://...
    $options = array(
        'http' => array(
            'header' => "Content-type: application/x-www-form-urlencodedrn",
            'method' => 'POST',
            'content' => http_build_query($data1),
            'timeout' => 20,
        ),
    );
    // Montando a requisição
    $context = stream_context_create($options);
	// Enviando a requisição
    $result = file_get_contents($urlApi_img_wa, false, $context);
    $resultado = json_decode($result);
    $status_resultado = $resultado->status;
    if($status_resultado == 1){
        $r = array('status' => 'sucesso');
    }else{
        $r = array('status'=> 'Houve um erro ao tentar enviar sua mensagem');
    }
    return $r;
}
/************************** Hooks dos formulários do Jet Engine **************************/
add_action('jet-engine-booking/jet-engine-booking/disparo_whatsapp', 'pegando_imagem_api');
add_action( 'jet-engine-booking/disparo_whatsapp', 'pegando_imagem_api');
add_action( 'jet-engine-booking/disparo_whatsapp03', 'pegando_imagem_api');
/***********************************************FIM***************************************************/
/*****************************************************************************************************/
/***************************** API Whatsapp agendamento com Jet Apintment ****************************/
/*****************************************************************************************************/
// Pegando dados para o enviar para API do WhatsApp
function pegando_dados_api($data){
	// Pega o nome do cliente
	$nome_cliente =  $data['user_name'];
	// Pega o nome do tratamento (consulta)
	$tratamento = get_post($data['service_id']);
	if(empty($tratamento)){
		$tratamento = get_post($data['services']);
	}
	// Pegar nome do Profissional
	$profissional = get_post($data['provider_id']);
	if(empty($profissional)){
		$profissional = get_post($data['teams_id']);
	}
	// Pegar e-mail do cliente
	$email_cliente =  $data['user_email'];
	// Pegar telefone do cliente
	$telefone = $data['user_phone'];
	// Pegar numero do whatsapp do comercial (Options Page do Jet Engine)
	$telComercial = jet_engine()->listings->data->get_option( 'config-sistema::whatsapp-comercial'); 
	// Pegar mensagem para envio de notificação para o cliente (Options Page do Jet Engine)
	$msg_cliente =  jet_engine()->listings->data->get_option('config-sistema::msg_wa_cliente');
	// Pegar mensagem para envio de notificação para o comercial (Options Page do Jet Engine)
	$msg_comercial = jet_engine()->listings->data->get_option('config-sistema::msg_wa_comercial');
	// Pegando data do agendamento
	$data_agendamento = data_agendamento($data);
	// Pegando horário inicial do agendamento
	$horario_inicial = horario_inicial($data);
	// Pegando horário final do agendamento
	$horario_final = horario_final($data);
	// Gerando mensagem de despedida randomica
	$despedida = array("Muito obrigado, agradecemos a preferencia!","Ficamos a disposição, abraços!","Pode contar com a gente, agradecemos a preferencia!");
	// Gerando mensagem de despedida randomica
	$apimsgdespedida = $despedida[array_rand($despedida)];
	// Variavel para pular linha do texto
	$plinha = "rn";
	//Mensagem de envio para o cliente
	$msgCliente = "*AGENDAMENTO*".$plinha.$plinha."Obrigado *".$nome_cliente."*".$plinha.$plinha.$msg_cliente.$plinha.$plinha."Tratamento: *".$tratamento->post_title."*.".$plinha.$plinha."Data: *".$data_agendamento."* Início as *".$horario_inicial."* e finaliza as *".$horario_final."* .".$plinha.$plinha."*Profissional:* *".$profissional->post_title."*".$plinha.$plinha.$apimsgdespedida;
	//Mensagem de envio para o comercial
	$msgComercial = "*AGENDAMENTO*".$plinha.$plinha.$msg_comercial.$plinha.$plinha."Nome: "."*".$nome_cliente."*".$plinha.$plinha."E-mail: *".$email_cliente."*".$plinha.$plinha."Telefone: *".$telefone."*".$plinha.$plinha."Tratamento: *".$tratamento->post_title."*".$plinha.$plinha."Profissional: *".$profissional->post_title."*".$plinha.$plinha."Data: *".$data_agendamento."* Início as *".$horario_inicial."* e finaliza as *".$horario_final."*.";
	// Nome do sender de envio
	$sender = jet_engine()->listings->data->get_option('config-sistema::nome-do-sender-wa');
	// URL da API ou Sistema Intermediário
	$urlApi = jet_engine()->listings->data->get_option( 'config-sistema::url-wa-api');
	// Função para enviar os dados para API
	preparando_envio_mensagem_api($telefone, $telComercial, $msgCliente, $msgComercial, $sender, $urlApi);
}
/************************** Hooks dos formulários do Jet Engine **************************/
add_action('jet-engine-booking/jet-engine-booking/disparo_whatsapp', 'pegando_dados_api');
add_action( 'jet-engine-booking/disparo_whatsapp', 'pegando_dados_api');
add_action( 'jet-engine-booking/disparo_whatsapp03', 'pegando_dados_api');
/************************** Preparando dados para envio da Mensagem para API **************************/
	function preparando_envio_mensagem_api($telefone, $telComercial, $msgCliente, $msgComercial, $sender, $urlApi){
    $telefoneCliente = valida_telefone($telefone);
    $telComercial = valida_telefone($telComercial);
    $telefones = array('telComercial' => $telComercial, 'telCliente' => $telefone);
    $msgCompleta = $msgCliente;
    foreach ($telefones as $value):
        $telefoneArray = $value;
        if($telefoneArray == $telComercial){
            $msgCompleta = $msgComercial;
            $telefone = $telComercial;
            $r = enviar_mensagem_whatsapp_texto_api($sender,$telefone,$msgCompleta, $urlApi);
            if($r['status'] == "sucesso"){
                //echo "Mensagem Enviada com sucesso";
            }else{
                //echo "Houve um erro";
            }
        }else{
            $msgCompleta = $msgCliente;
            $telefone = $telefoneCliente;
            $r = enviar_mensagem_whatsapp_texto_api($sender,$telefone,$msgCompleta, $urlApi);
            if($r['status'] == "sucesso"){
                //echo "Mensagem Enviada com sucesso";
            }else{
                //echo "Houve um erro";
            }
        }
    endforeach;
}
/************************** Executa o Envio da Mensagem para API **************************/
function enviar_mensagem_whatsapp_texto_api($sender,$telefone,$msgCompleta, $urlApi){
	$dominio = str_replace(array('http://','https://'), '', get_site_url());
    $data1 = array('sender'=> $sender, 'idc' => $dominio,  'number' => '+55' . $telefone, 'message' => $msgCompleta);
    // use key 'http' even if you send the request to https://...
    $options = array(
        'http' => array(
            'header' => "Content-type: application/x-www-form-urlencodedrn",
            'method' => 'POST',
            'content' => http_build_query($data1),
            'timeout' => 10,
        ),
    );
    // Montando a requisição
    $context = stream_context_create($options);
    // Enviando a requisição
    $result = file_get_contents($urlApi, false, $context);
    $resultado = json_decode($result);
    $status_resultado = $resultado->status;
    if($status_resultado == 1){
        $r = array('status' => 'sucesso');
    }else{
        $r = array('status'=> 'Houve um erro ao tentar enviar sua mensagem');
    }
    return $r;
}
/************************** Função validar validar o telefone **************************/
function valida_telefone($telefone)
{
    $telefone = preg_replace("/D/", "", $telefone); 
    $ddd = substr($telefone, 0, 2); 
    if ($ddd === "11" || $ddd === "12" || $ddd === "13" || $ddd === "14" || $ddd === "15" || $ddd === "16" || $ddd === "17" || $ddd === "18" || $telefone1 === "19" || $telefone1 === "21" || $telefone1 === "22" || $telefone1 === "24") {
        $telefone = $telefone;
    } else {
        $telefone = substr($telefone, -8); 
        $telefone = $ddd . $telefone; 
        $telefone = $telefone;
    }
    return $telefone;
}
/************************** Pegar data deagendamento do Jet Apointemnt **************************/
function data_agendamento($data){
		// Tratando as datas No banco do jet apointiment
		global $wpdb;
		$id_agendamento = $data['appointment_id_list'][0];
		$result = $wpdb->get_results ( "SELECT * FROM wp_jet_appointments  WHERE ID = $id_agendamento ",ARRAY_A );
		$data_dia = date('d/m/Y', $result[0]['date']);
		$data_hi = date('H:i', $result[0]['slot']);
		$data_hs = date('H:i', $result[0]['slot_end']);
	return $data_dia;
}
/************************** Pegar data horário Inicial do Jet Apointemnt **************************/
function horario_inicial($data){
		// Tratando as datas No banco do jet apointiment
		global $wpdb;
		$id_agendamento = $data['appointment_id_list'][0];
		$result = $wpdb->get_results ( "SELECT * FROM wp_jet_appointments  WHERE ID = $id_agendamento ",ARRAY_A );
		$data_dia = date('d/m/Y', $result[0]['date']);
		$data_hi = date('H:i', $result[0]['slot']);
		$data_hs = date('H:i', $result[0]['slot_end']);
	return $data_hi;
}
/************************** Pegar data horário final do Jet Apointemnt **************************/
function horario_final($data){
		// Tratando as datas No banco do jet apointiment
		global $wpdb;
		$id_agendamento = $data['appointment_id_list'][0];
		$result = $wpdb->get_results ( "SELECT * FROM wp_jet_appointments  WHERE ID = $id_agendamento ",ARRAY_A );
		$data_dia = date('d/m/Y', $result[0]['date']);
		$data_hi = date('H:i', $result[0]['slot']);
		$data_hs = date('H:i', $result[0]['slot_end']);
	return $data_hs;
}
/************************************************FIM**************************************************/
				
			
Fale Conosco WhatsApp