Skip to content

Instantly share code, notes, and snippets.

@dantetesta
Created April 12, 2024 18:58
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save dantetesta/81b2b3855be129e6da61792642ac9d15 to your computer and use it in GitHub Desktop.
Save dantetesta/81b2b3855be129e6da61792642ac9d15 to your computer and use it in GitHub Desktop.
<?php
/* Esse hook foi ativado pelo jetformbuilder call a hook */
add_action('jet-form-builder/custom-action/universalapi', 'minha_acao_personalizada_api', 10, 2);
/**
* Função que executa uma chamada de API quando um formulário é enviado.
*
* @param array $form_data Os dados do formulário enviado.
* @param array $form Informações adicionais do formulário.
*/
function minha_acao_personalizada_api($request) {
// Prepara o payload com os dados recebidos do formulário.
$payload = json_encode([
'nome' => $request['nome'] ?? 'Nome padrão', // Altere conforme a necessidade para um valor padrão ou para exigir esse campo no formulário.
'telefone' => $request['telefone'] ?? '', // Opcional, mas necessário se não houver email.
'email' => $request['email'] ?? '', // Opcional, mas necessário se não houver telefone.
'midia' => $request['midia'] ?? 'Mídia padrão', // Campo obrigatório: defina um valor padrão ou ajuste conforme necessário.
'codigounidade' => $request['codigounidade'] ?? '', // OPCIONAL.
'codigoimovel' => $request['codigoimovel'] ?? '', // OPCIONAL.
'campanha' => $request['campanha'] ?? '', // OPCIONAL.
'utm' => $request['utm'] ?? '', // OPCIONAL.
'finalidade' => $request['finalidade'] ?? '2', // OPCIONAL - '1' para ALUGUEL, '2' para VENDA.
'anotacoes' => $request['anotacoes'] ?? '', // OPCIONAL.
'emailcorretor' => $request['emailcorretor'] ?? '' // OPCIONAL.
]);
// Inicializa cURL para a chamada de API.
$ch = curl_init('https://api.imoview.com.br/Lead/IncluirLead');
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($ch, CURLOPT_POSTFIELDS, $payload);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'Content-Type: application/json',
'accept: application/json',
'chave: SUA CHAVE AQUI'
]);
$resultado = curl_exec($ch);
$status_code = curl_getinfo($ch, CURLINFO_HTTP_CODE); // Obtém o código de status HTTP.
if ($status_code != 200) {
$mensagem_erro = "Erro na API com código: $status_code";
$response = array(
'status' => 'failed',
'message' => "<div class='jet-form-builder-message jet-form-builder-message--error'>$mensagem_erro</div>",
);
wp_send_json($response);
} else {
$mensagem_sucesso = "Enviado com sucesso";
$response = array(
'status' => 'success',
'message' => "<div class='jet-form-builder-message jet-form-builder-message--success'>$mensagem_sucesso</div>",
);
wp_send_json($response);
}
curl_close($ch);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment