Consulta devedor

308 views
Skip to first unread message

felipe Dos santos

unread,
Aug 1, 2018, 8:02:39 AM8/1/18
to ElastixBrasil
Opa galera tudo bem ??  estou precisando de uma ajuda

Galera gostaria de fazer uma ura quando o cliente digita o cnpj  ela verificaria se ele esta devendo caso devesse  ele seria enviado para setor financeiro.
estava vendo olhando alguns videos mas não sei como colocaria isso na ura .
tenho banco 
Database clientes

tabela clientes com os campos  (cnpj tipo varchar(14), nome tipo varchar(100) , data tipo "date")
 e no agi teria essa duvida como fazer 
#!/usr/bin/php -q
<?php

        require 'phpagi.php';
        $agi = new AGI();

        $db = 'clientes';
        $dbuser = 'clientes';
        $dbpass = '123456';
        $dbhost = 'localhost';

        $link = mysql_connect($dbhost,$dbuser,$dbpass) or die("Erro ao se conectar");

        mysql_select_db($db);
        cnpj = $argv[1]

 $res = mysql_query("SELECT * FROM clientes WHERE cnpj='$cnpj' AND data ='$data'");

"$d = DateTime::createFromFormat('d/m/Y', $data);
if($d && $d->format('d/m/Y') == $data){
    echo 'data valida';
}else{
    echo 'data invalida';
}"essa parte esta em php mas nao saberia como fazer tranformação em php alguem poderia ajudar


?>

Alejandro Flores

unread,
Aug 2, 2018, 10:03:00 AM8/2/18
to elasti...@googlegroups.com
Felipe,

Eu fiz assim:
1 - Contexto Pra chamar o AGI

[verificaCliente]
exten => s,1,playback(custom/Audio_recepcao) // Voce ligou pra empresa XYZ
exten => s,2,AGI(/var/lib/asterisk/agi-bin/AgiConsulta.php)  // Chama o Script PHP
exten => s,3,gotoif( $[ ${CPF} = 0 ]? 10:20 )  /// CPF é uma variável que setei no agi php
exten => s,10,Goto(ivr-5,s,1) // 10 é quando o CPF retorna 0, ele direciona pra uma outra ura ( ivr-5 )
exten => s,20,Goto(from-trunk,2600,1) // 20 é quando retorna maior que zero

2 - Destino Personalizado

Feito isso, vai no Freepbx do elastix ( unembed freepbx ), Admin -> Destino Personalizado-> Adicionar um destino Personalizado

Destino Personalizado: verificaCliente,s,1
( o resto deixa padrão ).

3 - Rota entrante para chamar o seu AGI
Depois vai em Rotas entrantes, no destino da tua rota entrante coloca:
Destino Personalizado -> verificaCliente

O que você ainda precisa fazer no seu aplicativo:
-- Fazer a leitura dos dígitos do CPF ( utlizando read ou background )
-- Retornar uma variável ao dialplan pela qual você vai se basear ( $agi->set_variable("CPF", valor )
Você precisa estudar um pouco mais do phpagi para entender como receber / retornar dados de / para o asterisk.

Qlq coisa vai falando,
Abraço!







--

---
Você recebeu essa mensagem porque está inscrito no grupo "ElastixBrasil" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para elastixbrasi...@googlegroups.com.
Para postar nesse grupo, envie um e-mail para elasti...@googlegroups.com.
Acesse esse grupo em https://groups.google.com/group/elastixbrasil.
Para mais opções, acesse https://groups.google.com/d/optout.

felipe Dos santos

unread,
Aug 2, 2018, 11:38:39 AM8/2/18
to ElastixBrasil
entao  meu problema principal e consulta em php .

Udson Assis

unread,
Aug 2, 2018, 12:53:00 PM8/2/18
to elasti...@googlegroups.com
Feleipe, sua dúvida é como a consulta sql em php ou pgpagi?

Udson Assis
Brfone Telecom
Skype: udson.assis
Tel.: (31) 3891-9095
Cel.: (31) 9 9847-0073 | (31) 9 9417-2272
Whatsapp: 31998470073

Consulta da portabilidade GRÁTIS, solicite seu cadastro!

Buscai ao Senhor enquanto se pode achar, invocai-o enquanto está perto. 

Isaías 55:6


--

---
Você recebeu essa mensagem porque está inscrito no grupo "ElastixBrasil" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para elastixbrasil+unsubscribe@googlegroups.com.

Udson Assis

unread,
Aug 2, 2018, 1:32:21 PM8/2/18
to elasti...@googlegroups.com
Felipe, 
Segue modelo do código abaixo

#!/usr/bin/php -q
<?php
require 'phpagi.php';
$agi = new AGI();
$db = 'clientes';
$dbuser = 'clientes';
$dbpass = '123456';
$dbhost = 'localhost';
$link = mysql_connect($dbhost,$dbuser,$dbpass) or die("Erro ao se conectar");
mysql_select_db($db);
cnpj = $argv[1]

$res = mysql_query("SELECT * FROM clientes WHERE cnpj='$cnpj' AND data ='$data'");

if ($res) {
$agi->set_variable("DEVEDOR","YES");    
} else {
$agi->set_variable("DEVEDOR","NO");
}

Vou dar um exemplo em cima do código que o nosso amigo Alejandro te respondeu

[verificaCliente]
exten => s,1,playback(custom/Audio_recepcao)//Voce ligou pra empresa XYZ, digite seu cpf ou cnpj
same => n,WaitExten(5)

exten => i,1,Goto(1)

exten => t,1,Goto(1)

exten => XXXXXXXXXXX,1,Agi(AgiConsulta.php,${EXTEN})//CPF
same => n,GotoIf($[ ${DEVEDOR} = "YES" ]?ivr-5,s,1:ivr-6,s,1) // Se o cpf estiver devedor a variavel DEVEDOR estará setada com YES, o asterisk vai encaminhar a ligação pra ivr-5 se não , ivr-6  

exten => XXXXXXXXXXXXXX,1,Agi(AgiConsulta.php,${EXTEN})//CNPJ
same => n,GotoIf($[ ${DEVEDOR} = "YES" ]?ivr-5,s,1:ivr-6,s,1) // Se o cnpj estiver devedor a variavel DEVEDOR estará setada com YES, o asterisk vai encaminhar a ligação pra ivr-5 se não , ivr-6 

Lembrando que você terá de fornecer permissão de execução para AgiConsulta.php

Espero ter ajudado.

Udson Assis
Brfone Telecom
Skype: udson.assis
Tel.: (31) 9 9417-2272
Whatsapp: 31994172272

Consulta da portabilidade GRÁTIS, solicite seu cadastro!

Buscai ao Senhor enquanto se pode achar, invocai-o enquanto está perto. 

Isaías 55:6

Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para elastixbrasi...@googlegroups.com.

felipe Dos santos

unread,
Aug 2, 2018, 1:44:54 PM8/2/18
to ElastixBrasil
Seria no phpagi Ex
cliente o  parte em cima de cria a Ura eu entendi problema ta na parte de consulta no phpagi 
Ex cliente vai digitar o CNPJ tenho no banco (MariaDB) o CNPJ desse cliente e uma data que seria o dia do vencimento dele 
nesse caso eu criei 

A Ura
exten => 7000,1,Answer();
exten => 7000,n,agi(googletts.agi,"Seja bem vindo à empresa XYZ.",pt-BR);
exten => 7000,n(ini),agi(googletts.agi,"Por favor, digite o seu CNPJ e pressione jogo da velha",pt-BR);
exten => 7000,n,Read(CNPJ);
exten => 7000,n,agi(cnpj.agi,${CNPJ});
exten => 7000,n,GotoIf($[ "${DATASTATUS}" = "0" ]?ok:err);
exten => 7000,n,Hangup();

exten => 7000,n(ok),agi(googletts.agi,"Olá,"${DATAMESSAGE}", escolha uma das opções a seguir.",pt-BR);
exten => 7000,n,MusicOnHold();
exten => 7000,n,Hangup();

exten => 7000,n(err),Agi(googletts.agi,"Olá não encontrei seus dados vou te enviar opção a seguir",pt-BR);
exten => 7000,n,Goto(ramal 200);
na minha cnpj.agi tenho 2 verificações o cnpj e vencimento da data dele .. esse meu problema .
#!/usr/bin/php -q
<?php

        require 'phpagi.php';
        $agi = new AGI();

        $db = 'cliente';
        $dbuser = 'root';
        $dbpass = '123456';
        $dbhost = 'localhost';

        $link = mysql_connect($dbhost,$dbuser,$dbpass) or die("Erro ao se conectar");

        mysql_select_db($db);


        cnpj = $argv[1];

        $res = mysql_query("SELECT * FROM clientes WHERE cnpj='$cnpj'");

   if (mysql_num_rows($res)!==1 ){
        if($data <= date("Y/m/a")){
        $agi->set_variable("DATASTATUS",0);
        $agi->set_variable("$nome","VOCE TEM UMA CONTA VENCIDA.");
        }else{
  $agi->set_variable("DATASTATUS",1);
  $agi->set_variable("$nome","ESTOU TE ENCAMINHANDO PARA OPÇÕES.");
}

}else{
        $agi->set_variable("DATASTATUS",2);
        $agi->set_variable("DATAMESSAGE","CNPJ NÂO ENCONTRADO.ESTOU TE ENCAMINHANDO PARA OPÇÕES."); // essa opção tambem nao saberia como fazer 
}



$res->close();
$db->close();
exit(0);
?>






Udson Assis

unread,
Aug 2, 2018, 2:56:26 PM8/2/18
to elasti...@googlegroups.com
Me adiciona no Skype que te ajudo.

Udson Assis
Brfone Telecom
Skype: udson.assis
Tel.: (31) 9 9417-2272
Whatsapp: 31994172272

Consulta da portabilidade GRÁTIS, solicite seu cadastro!

Buscai ao Senhor enquanto se pode achar, invocai-o enquanto está perto. 

Isaías 55:6


Reply all
Reply to author
Forward
0 new messages