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:

  1. Zaženite Ozeki SMS Gateway
  2. Dodajte novega uporabnika avtomatskega odgovora baze podatkov
  3. Ustvarite strukturo tabele SQL baze podatkov
  4. Nastavite uporabnika avtomatskega odgovora baze podatkov
  5. Navedite skript besedila za avtomatski odgovor
  6. Uporabite prepoznavne številke in ključne besede
  7. Pošljite testno SMS, da prejmete odgovor iz SQL
  8. Preverite dnevnike uporabnika avtomatskega odgovora baze podatkov

Video 1 - Kako poslati SMS odgovor iz SQL (Video vadnica)

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.

kako deluje uporabnik avtomatskega odgovora baze podatkov ozeki sms gateway
Slika 1 - Kako deluje uporabnik avtomatskega odgovora baze podatkov Ozeki SMS Gateway

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.

kliknite dodaj uporabnika ali aplikacijo na konzoli upravljanja
Slika 2 - Kliknite 'Dodaj' uporabnika ali aplikacijo na konzoli 'Upravljanje'

Poiščite uporabnika avtomatskega odgovora baze podatkov in kliknite modro povezavo 'namesti' zraven. Kot lahko vidite na Sliki 3.

namestite uporabnika avtomatskega odgovora baze podatkov iz konzole upravljanja
Slika 3 - Namestite uporabnika avtomatskega odgovora baze podatkov iz konzole 'Upravljanje'

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.

nastavitev uporabnika avtomatskega odgovora baze podatkov za poizvedbo SMS informacij
Slika 6 - Nastavitev uporabnika avtomatskega odgovora baze podatkov za poizvedbo SMS informacij

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;

Slika 7 - Vzorčni niz za povezavo za povezavo ODBC z bazo podatkov MySQL

Č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 podatkov

Zdaj 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)

navedite pot do skripte txt uporabniku avtomatskega odgovora baze podatkov
Slika 8 - Navedite pot do skripte txt uporabniku avtomatskega odgovora baze podatkov

Korak 5 - Struktura skript SQL poizvedb

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 besedo

Ta 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.txt
SELECT '$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 besedaVrednost
$originatorZamenjano s telefonsko številko pošiljatelja.
$sender=$originator ($sender je drugo ime za $originator.)
$recipientZamenjano s telefonsko številko, ki je prejela sporočilo.
$receiver=$recipient ($receiver je drugo ime za $recipient.)
$messagedataZamenjano z besedilom sporočila.
$keywordZamenjano s 1. besedo v sporočilu. Ta beseda se imenuje ključna beseda.
$afterZamenjano z ostalim besedilom po ključni besedi.
$senttimeZamenjano s časovnim žigom, ki prikazuje, kdaj je bilo sporočilo poslano.
$receivedtimeZamenjano s časovnim žigom, ki prikazuje, kdaj je bilo sporočilo prejeto.
$messagetypeZamenjano z vrsto sporočila, ki je v večini primerov 'SMS:TEXT'.
$idZamenjano z edinstvenim nizom,
ki identificira sporočilo v Ozeki SMS Gateway.
$operatorZamenjano z imenom ponudnika storitev,
ki je prejel sporočilo v Ozeki SMS Gateway.
$1Zamenjano s 1. besedo v sporočilu.
$2Zamenjano z 2. besedo v sporočilu.
$3Zamenjano 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

Ko vstavim podatke v tabelo Ozekimessageout, ne prejmem sporočila na svoj mobilni telefon. Kaj bi lahko bil vzrok, da nisem prejel besedilnega sporočila, ki je vstavljeno v izhodno tabelo z uporabo moje SQL konzole?

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.

Želim uporabljati eno bazo podatkov za več "uporabnikov baze podatkov". Ali je to mogoče?

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).
Z upoštevanjem teh korakov boste vzpostavili ločene dnevnike sporočil za vsakega uporabnika baze podatkov. To vam omogoča kategorizacijo ali filtriranje sporočil glede na vaše specifične potrebe z uporabo izbranih imen tabel.

Moj Ozeki SMS Gateway se vedno prekine povezavo z mojim strežnikom MySQL z naslednjim sporočilom o napaki: MySQL Server has gone away. Kaj naj naredim?

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.
Z upoštevanjem teh korakov boste optimizirali časovne omejitve povezave MySQL za boljše delovanje v Ozeki, kar je še posebej koristno za dolgotrajne naloge ali velike nize podatkov.

Driver={MySQL ODBC 5.2 ANSI Driver};Server=127.0.0.1;Database=ozeki;User=test;Password=test;interactive=;Option=8;

More information