SMS odgovori iz SQL baze podatkov
Uporabnik avtomatskega odgovora baze podatkov Ozeki SMS Gateway se lahko poveže z vašo Microsoft SQL, Oracle, MySQL, Sybase itd. bazo podatkov z nizom za povezavo. Po prejemu SMS sporočila izvede katero koli SELECT poizvedbo, ki jo navedete. Niz rezultatov poizvedbe bo poslan kot odhodna sporočila. Poizvedbe in tabele lahko spreminjate tudi iz vaše lastne aplikacije.
Kako poslati SMS odgovor iz SQL
Če želite poslati SMS odgovor iz SQL:
- Zaženite Ozeki SMS Gateway
- Dodajte novega uporabnika avtomatskega odgovora baze podatkov
- Ustvarite strukturo tabele SQL baze podatkov
- Nastavite uporabnika avtomatskega odgovora baze podatkov
- Navedite skript besedila za avtomatski odgovor
- Uporabite prepoznavne številke in ključne besede
- Pošljite testno SMS, da prejmete odgovor iz SQL
- Preverite dnevnike uporabnika avtomatskega odgovora baze podatkov
S to rešitvijo lahko ustvarite naslednjo storitev (Slika 1):
1.) Ozeki SMS Gateway prejme SMS sporočilo iz mobilnega telefona.
2.) Uporabnik avtomatskega odgovora baze podatkov Ozeki SMS Gateway išče ključne besede v SMS sporočilu z uporabo txt datoteke.
3.) Glede na iskanje bo avtomatsko odgovorno sporočilo izbrano iz vašega strežnika baze podatkov z isto txt datoteko.
Pomembno je, da imate ponudnika storitev IP SMS ali GSM modem konfiguriran na vašem Ozeki SMS Gateway, da lahko prejemate SMS sporočila in se nanje samodejno odzivate s tem primerom.
Korak 1 - Nastavitev uporabnika avtomatskega odgovora baze podatkov v Ozeki SMS Gateway
Najprej morate namestiti uporabnika avtomatskega odgovora baze podatkov, da ustvarite opisano storitev. Na konzoli 'Upravljanje' kliknite 'Dodaj', kot je prikazano na Sliki 2.
Poiščite uporabnika avtomatskega odgovora baze podatkov in kliknite modro povezavo 'namesti' zraven. Kot lahko vidite na Sliki 3.
Korak 2 - Ustvarite strukturo tabele baze podatkov
Uporabnik avtomatskega odgovora baze podatkov bo izbral odgovorna SMS sporočila iz tabele baze podatkov. Ustvarite naslednjo strukturo baze podatkov za shranjevanje SMS sporočil (Slika 4). Ta primer uporablja strežnik MySQL baze podatkov, vendar lahko uporabite tudi druge baze podatkov, kot so Microsoft SQL, Oracle, Sybase itd. Uporabite lahko tudi druge tabele in postavitve tabel.
CREATE TABLE autoreplymessage ( id int(11) NOT NULL auto_increment, keyword varchar(30) default NULL, msg text default NULL, PRIMARY KEY (id) ); INSERT INTO autoreplymessage (keyword,msg) VALUES ("default","Za to ključno besedo ni podatkov."), ("red","Rdeča je dobra barva."), ("blue","Modra ni najboljša izbira.");Slika 4 - USTVARITE TABELO in VSTAVITE vrstice v tabelo 'autoreplymessage'
Vaše tabele lahko pregledate z izjavami SELECT * FROM (Slika 5). Čeprav ta primer vsebuje samo eno tabelo.
> SELECT * FROM autoreplymessage;
id keyword msg ---------- ------------------------------ ------------------------------------- 1 default Za to ključno besedo ni podatkov. 2 red Rdeča je dobra barva. 3 blue Modra ni najboljša izbira. (3 vrstic prizadetih)Slika 5 - Preberite tabelo 'autoreplymessage' z izjavo SELECT
Če s strežnikom baze podatkov ni nameščen gonilnik baze podatkov, morate namestiti gonilnik, ker boste potrebovali niz za povezavo v naslednjem koraku. Gonilnik baze podatkov povezuje Ozeki SMS Gateway in strežnik baze podatkov. V večini primerov je gonilnik baze podatkov nameščen s strežnikom baze podatkov.
Korak 3 - Konfigurirajte uporabnika avtomatskega odgovora baze podatkov za uporabo vaše baze podatkov
V plošči "Nastavitev baze podatkov" uporabnika avtomatskega odgovora baze podatkov (Slika 6) boste morali vnesti vrsto povezave z bazo podatkov in niz za povezavo. Vrsto lahko izberete iz spustnega menija, niz pa morate vnesti v besedilno polje.
Na sliki 7 lahko vidite vzorčni niz za povezavo z bazo podatkov MySQL.
Upoštevajte, da lahko uporabite lastno vrsto niza za povezavo (OleDB, ODBC, SQLServer, Oracle) za vaš strežnik baze podatkov,
ki je lahko Microsoft SQL, Oracle, Sybase itd. Če uporabljate gonilnik ODBC za MySQL,
morate samo spremeniti IP strežnika MySQL, ime baze podatkov, uporabniško ime in geslo na vaše vrednosti v naslednjem nizu:
Vrsta povezave: ODBC
Niz za povezavo: Driver={MySQL ODBC 5.3 Unicode Driver}; Server=127.0.0.1;Database=ozekisms;User=ozeki;Password=abc123;Option=4;
Če želite najti niz za povezavo z drugimi strežniki baz podatkov, priporočamo branje vodiča za nize za povezavo SMS baze podatkov.
Korak 4 - Napišite skripto za avtomatski odgovor iz SQL baze podatkovZdaj je čas, da napišete skriptno datoteko, ki lahko IZBERE vrstico iz vaše tabele baze podatkov, če je bila tabela uspešno ustvarjena v KORAKU 2. Atribut sporočila izbrane vrstice bo poslan kot odgovor na SMS sporočilo. Tukaj lahko najdete pot do primerne skripte: C:\Program Files\Ozeki\Ozeki10\Data\NG\config\OzekiUsername\sqlscript.txt
Te datoteke lahko urejate s preprostim urejevalnikom besedila ali pa ustvarite svojo datoteko txt in jo uredite s svojo aplikacijo, kar je uporabno, če želite spremeniti poizvedbe. Navedite pot do datoteke z uporabo uporabnika avtomatskega odgovora baze podatkov s klikom na "Nastavitev baze podatkov" in izbiro zavihka "Skripta za avtomatski odgovor" (Slika 8)
SQL skripta uporabnika avtomatskega odgovora baze podatkov vsebuje pare filtr-stavek, ki delujejo natanko tako kot struktura if-then v programskih jezikih. Prejeto SMS sporočilo gre skozi filter in če je v redu, se izvede stavek SQL SELECT. Vsebina sporočila izbranih vrstic bo posredovana telefonski številki. Ta številka je 1. parameter rezultata stavka SELECT, besedilo sporočila pa 2. Filter lahko prepozna telefonske številke, besedne fragmente in ključne besede. Ključna beseda vsakega sporočila je prva beseda besedila. Posredovanje se zgodi, če je naslov prejemnika vključen v bazo podatkov (Slika 11).
Korak 6 - Preprost primer s ključno besedoTa primer bo deloval na naslednji tabeli, ki jo lahko vidite na sliki 9.
id keyword msg ---------- ------------------------------ ------------------------------------- 1 default Za to ključno besedo ni podatkov. 2 red Rdeča je dobra barva. 3 blue Modra ni najboljša izbira.Slika 9 - Vsebina tabele 'autoreplymessage'
Naslednjo skripto na sliki 10 lahko izvedete na tabeli 'autoreplymessage' tako, da jo dodate v 'sqlscript.txt'. Kot opomnik, ključna beseda, ki je simbolizirana s črko 'k', je prva beseda v SMS sporočilu. Ta beseda bo preverjena s filtrom. Če je preverjanje filtra uspešno, se izvede stavek SELECT in skripta se ustavi. Kot lahko vidite, lahko v stavek SELECT vstavite konstantne vrednosti. Na primer, '$sender', ki je pošiljatelj dohodnega sporočila.
Elementi skripte, ki jih lahko vstavite v sqlscript.txtSELECT '$sender',msg FROM autoreplymessage WHERE keyword='red' #Prvi filter preveri, ali je bila beseda 'RED' ključna beseda. #Če je res, IZBERE 'Rdeča je dobra barva.' kot odzivno sporočilo. #Če ni res, gre na naslednji filter. k^BLUE SELECT '$sender',msg FROM autoreplymessage WHERE keyword='blue' #Drugi filter preveri, ali je bila beseda 'BLUE' ključna beseda. #Če je res, IZBERE 'Modra ni najboljša izbira.' kot odzivno sporočilo. #Če ni res, gre na naslednji filter. k.* SELECT '$sender',msg FROM autoreplymessage WHERE keyword='default' #Tretji filter bo sprejel katero koli drugo ključno besedo. #IZBERE 'Za to ključno besedo ni podatkov.' kot odzivno sporočilo.Slika 10 - Primer skripte, ki jo lahko vstavite v sqlscript.txt
Del filtra SQL skripte poizvedbe deluje podobno kot del filtra skripte za odgovor SMS, vendar ne pozabite, da iščete samo primere filtrov, saj je drugi del vedno stavek SQL SELECT.
Te vrste ključnih besed lahko postavite v skript. Na primer '$sender':
SELECT '$sender',msg FROM autoreplymessage WHERE keyword='red'
Slika 11 - Pošlje msg '$sender'
Uporabnik avtomatskega odgovora v bazi lahko prepozna naslednje ključne besede:
Ključna beseda Vrednost
$originator Zamenjano s telefonsko številko pošiljatelja.
$sender =$originator ($sender je drugo ime za $originator.)
$recipient Zamenjano s telefonsko številko, ki je prejela sporočilo.
$receiver =$recipient ($receiver je drugo ime za $recipient.)
$messagedata Zamenjano z besedilom sporočila.
$keyword Zamenjano s 1. besedo v sporočilu. Ta beseda se imenuje ključna beseda.
$after Zamenjano z ostalim besedilom po ključni besedi.
$senttime Zamenjano s časovnim žigom, ki prikazuje, kdaj je bilo sporočilo poslano.
$receivedtime Zamenjano s časovnim žigom, ki prikazuje, kdaj je bilo sporočilo prejeto.
$messagetype Zamenjano z vrsto sporočila, ki je v večini primerov 'SMS:TEXT'.
$id Zamenjano z edinstvenim nizom,
ki identificira sporočilo v Ozeki SMS Gateway.
$operator Zamenjano z imenom ponudnika storitev,
ki je prejel sporočilo v Ozeki SMS Gateway.
$1 Zamenjano s 1. besedo v sporočilu.
$2 Zamenjano z 2. besedo v sporočilu.
$3 Zamenjano s 3. besedo v sporočilu, itd...
Struktura skripta za avtomatski odgovor je razložena na teh spletnih straneh:
Korak 8 - Preizkus avtomatskega odgovora iz rešitve baze podatkov
Te vrste ključnih besed lahko postavite v skript. Na primer '$sender':
SELECT '$sender',msg FROM autoreplymessage WHERE keyword='red'Slika 11 - Pošlje msg '$sender'
Uporabnik avtomatskega odgovora v bazi lahko prepozna naslednje ključne besede:
Ključna beseda | Vrednost | $originator | Zamenjano s telefonsko številko pošiljatelja. |
---|---|
$sender | =$originator ($sender je drugo ime za $originator.) |
$recipient | Zamenjano s telefonsko številko, ki je prejela sporočilo. |
$receiver | =$recipient ($receiver je drugo ime za $recipient.) |
$messagedata | Zamenjano z besedilom sporočila. |
$keyword | Zamenjano s 1. besedo v sporočilu. Ta beseda se imenuje ključna beseda. |
$after | Zamenjano z ostalim besedilom po ključni besedi. |
$senttime | Zamenjano s časovnim žigom, ki prikazuje, kdaj je bilo sporočilo poslano. |
$receivedtime | Zamenjano s časovnim žigom, ki prikazuje, kdaj je bilo sporočilo prejeto. |
$messagetype | Zamenjano z vrsto sporočila, ki je v večini primerov 'SMS:TEXT'. |
$id | Zamenjano z edinstvenim nizom, ki identificira sporočilo v Ozeki SMS Gateway. |
$operator | Zamenjano z imenom ponudnika storitev, ki je prejel sporočilo v Ozeki SMS Gateway. |
$1 | Zamenjano s 1. besedo v sporočilu. |
$2 | Zamenjano z 2. besedo v sporočilu. |
$3 | Zamenjano s 3. besedo v sporočilu, itd... |
Struktura skripta za avtomatski odgovor je razložena na teh spletnih straneh: Korak 8 - Preizkus avtomatskega odgovora iz rešitve baze podatkov
Po opravljenih korakih od 1 do 6 lahko preizkusite rešitev. Ozeki SMS Gateway bo preusmeril dohodna SMS sporočila vašemu uporabniku avtomatskega odgovora v bazi. Skript SQL poizvedbe filtrira SMS sporočilo, da ustvari ustrezne nize rezultatov SELECT. Vsaka vrstica niza rezultatov bo predstavljala sporočilo, ki mu je treba odgovoriti ali ga poslati naprej.
Dnevnik sporočil vašega uporabnika avtomatskega odgovora v bazi lahko sledite na naslednji poti:
C:\Program Files\Ozeki\Ozeki10\Data\NG\Logs
Najprej izključimo težavo z mobilnim omrežjem. Pošljite testno SMS neposredno iz
grafičnega vmesnika (GUI) Ozeki. Če sporočilo uspešno prispe, se zdi, da je omrežna povezava v redu.
Nato moramo preveriti, ali se sporočila prenašajo iz vaše baze podatkov v
programsko opremo Ozeki. Vstavite nekaj testnih sporočil v tabelo Ozekimessageout. Nato,
v GUI Ozeki pojdite na odhodno pošto, povezano z uporabnikom baze podatkov,
ki ga uporabljate. Če teh testnih sporočil ni v odhodni pošti, je težava
v procesu prenosa podatkov med bazo podatkov in Ozeki.
Absolutno! Ozeki SMS Gateway vam omogoča, da ohranite ločene dnevnike sporočil za
različne namene z uporabo ločenih uporabnikov baze podatkov.
Tukaj je navodilo korak za korakom:
- Ustvarite nove tabele baze podatkov: Nastavite dve novi tabeli v vaši bazi podatkov. Za lažjo identifikacijo ju lahko poimenujete ozekimessagein2 in ozekimessageout2. Te tabele naj imajo enako strukturo kot obstoječe tabele ozekimessagein in ozekimessageout, ki jih uporablja vaš prvi uporabnik baze podatkov.
- Konfigurirajte drugega uporabnika baze podatkov: Dostopite do obrazca za konfiguracijo vašega drugega uporabnika baze podatkov v Ozeki.
- Spremenite predloge SQL: Poiščite razdelek za predloge SQL v obrazcu za konfiguracijo. Te predloge določajo, kako se sporočila shranijo v tabele baze podatkov.
- Posodobite imena tabel: V predlogah SQL za drugega uporabnika baze podatkov posodobite obstoječa imena tabel (ozekimessagein in ozekimessageout), da se ujemajo z novo ustvarjenimi tabelami (ozekimessagein2 in ozekimessageout2).
Za izboljšanje odzivnosti pri uporabi Ozeki z MySQL prilagodite nastavitev časovne omejitve. Tukaj je kako:
Konfigurirajte časovno omejitev MySQL:
- Uredite svojo konfiguracijsko datoteko MySQL (npr. my.ini) in nastavite parameter interactive_timeout na želeno trajanje v sekundah (npr. interactive_timeout = 28800 za 8 ur).
- Shranite spremembe in znova zaženite storitev MySQL.
Posodobite niz za povezavo Ozeki:
-
Spremenite svoj niz za povezavo Ozeki, da uporablja Interactive namesto wait_timeout. Pravilna oblika je Driver={MySQL ODBC 5.2 ANSI Driver};Server=127.0.0.1;Database=ozeki;User=test;Password=test;Interactive=VAŠA_VREDNOST_ČASOVNE_OMEJITVE.
- Ne pozabite zamenjati VAŠA_VREDNOST_ČASOVNE_OMEJITVE z želeno časovno omejitvijo v sekundah.
Driver={MySQL ODBC 5.2 ANSI Driver};Server=127.0.0.1;Database=ozeki;User=test;Password=test;interactive=;Option=8;
More information
- SMS odgovor iz računalnika na mobilno
- Kako nAPIsati skripto za odgovor na SMS
- Kako poslati odgovor na SMS iz SQL