Ura consultando status no mysql… de uma OS por exemplo

;
; ENTRADA URA
;
exten => _X.,1,NoOP(—ENTRADA PSTN – URA—)
exten => _X.,n,Set(NPEDIDO=1000)
exten => _X.,n,Macro(statuspedido,${NPEDIDO})
exten => _X.,n,HangUp

[macro-statuspedido]
exten => s,1,NoOp(—CHECA STATUS PEDIDO—)
exten => s,n,NoOp(${NPEDIDO})
exten => s,n,MYSQL(Connect connid 127.0.0.1 loginBD senhaBD baseBD)
exten => s,n,MYSQL(Query resultid ${connid} SELECT status FROM pedido
WHERE n_pedido = ‘${NPEDIDO}’)
exten => s,n,MYSQL(Fetch fetchid ${resultid} RESULT)
exten => s,n,MYSQL(Clear ${resultid})
exten => s,n,MYSQL(Disconnect ${connid})
exten => s,n,NoOp(RESULT SELECT: —–${RESULT}—–)
exten => s,n,GotoIf($[“${RESULT}” = “1”]?21)
exten => s,n,GotoIf($[“${RESULT}” = “2”]?22)
exten => s,n,GotoIf($[“${RESULT}” = “3”]?23)
exten => s,21,Playback(emandamento.wav)
exten => s,22,Playback(naexpedicao.wav)
exten => s,23,Playback(despachado.wav)
exten => s,n,NoOP(—–FIM DO SELECT MYSQL——)
exten => s,n,HangUp

No caso, vc teria que configurar a sua URA para enviar o valor para a
variável “NPEDIDO” e mandar isso para o macro. O Select vai consultar
o seu banco e retornar o status do pedido, conforme o que foi passado
pelo cliente na ura. E conforme o resultado do status do pedido
(1,2,3), ele para opções setadas no macro.

Faz um teste, pra ver se funciona! :)

Espero ter ajudado!

Deixe um comentário