SMS odpovede z SQL databázy

Autoreply Database User v Ozeki SMS Gateway sa môže pripojiť k vašej Microsoft SQL, Oracle, MySQL, Sybase, atď... databáze pomocou pripojovacieho reťazca. Spustí akýkoľvek SELECT dotaz, ktorý zadáte, po prijatí SMS správy. Výsledná sada dotazu bude odoslaná ako odchádzajúce správy. Dotazy a tabuľky môžu byť tiež upravené z vašej vlastnej aplikácie.

Ako poslať SMS odpoveď z SQL

Ak chcete poslať SMS odpoveď z SQL:

  1. Spustite Ozeki SMS Gateway
  2. Pridajte nového Autoreply database užívateľa
  3. Vytvorte štruktúru SQL databázovej tabuľky
  4. Nastavte Autoreply database užívateľa
  5. Zadajte skript pre autoreply text
  6. Použite identifikovateľné čísla a kľúčové slová
  7. Odošlite testovaciu SMS pre odpoveď z SQL
  8. Skontrolujte záznamy Autoreply database užívateľa

Video 1 - Ako poslať SMS odpoveď z SQL (Video návod)

Pomocou tohto riešenia môžete vytvoriť nasledujúcu službu (Obrázok 1):
1.) SMS správa je prijatá Ozeki SMS Gateway z mobilného telefónu.
2.) Autoreply Database User v Ozeki SMS Gateway vyhľadá kľúčové slová v SMS správe pomocou txt súboru.
3.) V závislosti od vyhľadávania bude automatická odpoveď vybraná z vášho databázového servera s rovnakým txt súborom.

Je dôležité, aby ste mali IP SMS poskytovateľa služieb alebo GSM modem nakonfigurovaný vo vašom Ozeki SMS Gateway, aby ste mohli prijímať SMS správy a automaticky na ne odpovedať pomocou tohto príkladu.

ako funguje autoreply database user v ozeki sms gateway
Obrázok 1 - Ako funguje Autoreply Database User v Ozeki SMS Gateway

Krok 1 - Nastavenie Autoreply Database User v Ozeki SMS Gateway

Najprv musíte nainštalovať Autoreply Database User, aby ste vytvorili popísanú službu. Na konzole 'Management' prosím kliknite na 'Pridať', ako je vidieť na obrázku 2.

kliknite na pridanie užívateľa alebo aplikácie na konzole management
Obrázok 2 - Kliknite na 'Pridať' užívateľa alebo aplikáciu na konzole 'Management'

Nájdite Autoreply Database User a kliknite na modrý odkaz 'inštalovať' vedľa neho. Ako môžete vidieť na obrázku 3.

inštalácia autoreply database user z konzoly management
Obrázok 3 - Inštalácia Autoreply Database User z konzoly 'Management'

Krok 2 - Vytvorenie štruktúry databázovej tabuľky

Autoreply Database User vyberá odpovede SMS správ z databázovej tabuľky. Vytvorte nasledujúcu štruktúru databázy na uloženie SMS správ (Obrázok 4). Tento príklad používa MySQL databázový server, ale môžete použiť iné databázy ako Microsoft SQL, Oracle, Sybase, atď... Môžete použiť aj iné tabuľky a rozloženia tabuliek.


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","Pre toto kľúčové slovo nie sú žiadne dáta."), 
		("red","Červená je dobrá farba."), 
		("blue","Modrá nie je najlepšia možnosť.");
Obrázok 4 - VYTVORENIE TABUĽKY a VLOŽENIE riadkov do tabuľky 'autoreplymessage'

Vaše tabuľky môžu byť zobrazené pomocou SELECT * FROM príkazov (Obrázok 5). Hoci tento príklad obsahuje iba jednu tabuľku.

> SELECT * FROM autoreplymessage;
id          keyword                        msg
----------  ------------------------------ -------------------------------------
 1          default                        Pre toto kľúčové slovo nie sú žiadne dáta.
 2          red                            Červená je dobrá farba.
 3          blue                           Modrá nie je najlepšia možnosť.

(3 rows affected)
Obrázok 5 - Čítanie tabuľky 'autoreplymessage' pomocou SELECT príkazu

V prípade, že nie je nainštalovaný databázový ovládač s databázovým serverom, mali by ste nainštalovať ovládač, pretože v ďalšom kroku budete potrebovať pripojovací reťazec. Databázový ovládač spája Ozeki SMS Gateway a databázový server. Vo väčšine prípadov je databázový ovládač nainštalovaný s databázovým serverom.

Krok 3 - Konfigurácia používateľa autoreply databázy na používanie vašej databázy

Budete musieť zadať typ pripojenia k databáze a pripojovací reťazec v paneli 'Nastavenie databázy' používateľa autoreply databázy (Obrázok 6). Typ môžete vybrať z rozbaľovacieho zoznamu, zatiaľ čo reťazec musíte vložiť do textového poľa.

nastavenie používateľa autoreply databázy pre dopyt SMS informácií
Obrázok 6 - Nastavenie používateľa autoreply databázy pre dopyt SMS informácií

Na obrázku 7 môžete vidieť vzorový reťazec pre pripojenie k MySQL databáze. Majte na pamäti, že môžete použiť vlastný typ pripojovacieho reťazca (OleDB, ODBC, SQLServer, Oracle) pre váš vlastný databázový server, ktorý môže byť Microsoft SQL, Oracle, Sybase atď... V prípade, že používate ODBC ovládač pre MySQL, stačí upraviť IP adresu MySQL servera, názov databázy, používateľské meno a heslo na vlastné hodnoty v nasledujúcom reťazci:

Typ pripojenia: ODBC
Pripojovací reťazec: Driver={MySQL ODBC 5.3 Unicode Driver}; Server=127.0.0.1;Database=ozekisms;User=ozeki;Password=abc123;Option=4;

Obrázok 7 - Vzorový pripojovací reťazec pre ODBC pripojenie k MySQL databáze

Ak chcete nájsť pripojovací reťazec pre iné databázové servery, odporúča sa prečítať si Sprievodca pripojovacími reťazcami SMS databázy.

Krok 4 - Napíšte skript pre autoreply z SQL databázy

Teraz je čas napísať skriptový súbor, ktorý je schopný SELECT-ovať riadok z vašej databázovej tabuľky, ak bola tabuľka úspešne vytvorená v KROKU 2. Atribút správy vybraného riadku bude odpoveďou na SMS správu. Tu môžete nájsť cestu k príkladu skriptu: C:\Program Files\Ozeki\Ozeki10\Data\NG\config\OzekiUsername\sqlscript.txt

Tieto súbory môžete upravovať jednoduchým textovým editorom alebo môžete vytvoriť vlastný txt súbor a upravovať ho vlastnou aplikáciou, čo je užitočné, ak chcete upraviť dopyty. Poskytnite cestu k súboru pomocou používateľa autoreply databázy kliknutím na 'Nastavenie databázy' a výberom karty 'Autoreply skript' (Obrázok 8)

poskytnite cestu k txt skriptu pre používateľa autoreply databázy
Obrázok 8 - Poskytnutie cesty k txt skriptu pre používateľa autoreply databázy

Krok 5 - Štruktúra SQL dopytových skriptov

SQL skript používateľa autoreply databázy obsahuje páry filter-výraz, ktoré fungujú presne ako štruktúra if-then v programovacích jazykoch. Prijatá SMS správa prechádza filtrom a ak je v poriadku, spustí sa SQL SELECT príkaz. Obsah správy vybraných riadkov bude preposlaný na telefónne číslo. Toto číslo je 1. parameter výslednej sady SELECT príkazu, zatiaľ čo text správy je 2. Filter je schopný identifikovať telefónne čísla, textové fragmenty a kľúčové slová. Kľúčové slovo každej správy je prvé slovo textu. Preposielanie sa uskutoční, ak je adresa príjemcu zahrnutá v databáze (Obrázok 11).

Krok 6 - Jednoduchý príklad s kľúčovým slovom

Tento príklad bude fungovať na nasledujúcej tabuľke, ktorú môžete vidieť na obrázku 9.

id          keyword                        msg
----------  ------------------------------ -------------------------------------
 1          default                        Pre toto kľúčové slovo nie sú žiadne údaje.
 2          red                            Červená je dobrá farba.
 3          blue                           Modrá nie je najlepšia možnosť.
Obrázok 9 - Obsah tabuľky 'autoreplymessage'

Nasledujúci skript na obrázku 10 môžete spustiť na tabuľke 'autoreplymessage' jeho pridaním do 'sqlscript.txt'. Ako pripomienka, kľúčové slovo, ktoré je symbolizované znakom 'k', je prvé slovo v SMS správe. Toto slovo bude testované filtrom. Ak je kontrola filtra úspešná, spustí sa SELECT príkaz a skript sa zastaví. Ako vidíte, môžete umiestniť konštantné hodnoty do SELECT príkazu. Napríklad '$sender', čo je odosielateľ prichádzajúcej správy.

Prvky skriptu, ktoré môžete umiestniť do sqlscript.txt
SELECT '$sender',msg FROM autoreplymessage WHERE keyword='red'
#Prvý filter kontroluje, či bolo kľúčové slovo 'RED'.
#Ak je pravda, SELECT-uje 'Červená je dobrá farba.' ako odpoveď.
#Ak nie je pravda, prejde k ďalšiemu filtru.

k^BLUE
SELECT '$sender',msg FROM autoreplymessage WHERE keyword='blue'
#Druhý filter kontroluje, či bolo kľúčové slovo 'BLUE'.
#Ak je pravda, SELECT-uje 'Modrá nie je najlepšia možnosť.' ako odpoveď.
#Ak nie je pravda, prejde k ďalšiemu filtru.

k.*
SELECT '$sender',msg FROM autoreplymessage WHERE keyword='default'
#Tretí filter akceptuje akékoľvek iné kľúčové slovo.
#SELECT-uje 'Pre toto kľúčové slovo nie sú žiadne údaje.' ako odpoveď.
Obrázok 10 - Príklad skriptu, ktorý môže byť umiestnený do sqlscript.txt

Filterová časť SQL dopytového skriptu funguje podobne ako filterová časť SMS messaging skriptu, ale majte na pamäti, že hľadáte len príklady filtrov, pretože druhá časť je vždy SQL SELECT príkaz.

Krok 7 - Preddefinované kľúčové slová v Ozeki SMS Gateway

Tieto typy kľúčových slov môžu byť umiestnené v skripte. Napríklad '$sender':


SELECT '$sender',msg FROM autoreplymessage WHERE keyword='red'
Obrázok 11 - Posiela správu na '$sender'

Používateľ databázy automatických odpovedí môže rozpoznať nasledujúce kľúčové slová:
Kľúčové slovoHodnota
$originatorNahradené telefónnym číslom odosielateľa.
$sender=$originator ($sender je ďalší názov pre $originator.)
$recipientNahradené telefónnym číslom, ktoré prijalo správu.
$receiver=$recipient ($receiver je ďalší názov pre $recipient.)
$messagedataNahradené textom správy.
$keywordNahradené 1. slovom v správe. Toto slovo sa nazýva kľúčové slovo.
$afterNahradené zvyšným textom za kľúčovým slovom.
$senttimeNahradené časovou značkou, ktorá ukazuje, kedy bola správa odoslaná.
$receivedtimeNahradené časovou značkou, ktorá ukazuje, kedy bola správa prijatá.
$messagetypeNahradené typom správy, ktorý je vo väčšine prípadov 'SMS:TEXT'.
$idNahradené unikátnym reťazcom,
ktorý identifikuje správu v Ozeki SMS Gateway.
$operatorNahradené názvom poskytovateľa služieb,
ktorý prijal správu v Ozeki SMS Gateway.
$1Nahradené 1. slovom v správe.
$2Nahradené 2. slovom v správe.
$3Nahradené 3. slovom v správe, atď...

Štruktúra skriptu automatických odpovedí je vysvetlená na týchto webových stránkach: Krok 8 - Testovanie riešenia automatických odpovedí z databázy

Po vykonaní krokov 1 až 6 môžete vyskúšať riešenie. Ozeki SMS Gateway bude preposielať prichádzajúce SMS správy vášmu používateľovi automatických odpovedí z databázy. Skript SQL dotazu filtruje SMS správu, aby vytvoril správne výsledky SELECT. Každý riadok výslednej sady bude predstavovať správu, na ktorú sa má odpovedať alebo preposlať.

Denník správ vášho používateľa automatických odpovedí z databázy môžete sledovať na nasledujúcej ceste:
C:\Program Files\Ozeki\Ozeki10\Data\NG\Logs

Keď vložím dáta do tabuľky Ozekimessageout, nedostanem správu na svoj mobilný telefón. Čo by mohlo byť príčinou, že nedostanem textovú správu, ktorá je vložená do výstupnej tabuľky pomocou môjho SQL konzoly?

Najprv vylúčme problém s mobilnou sieťou. Odošlite testovaciu SMS priamo z grafického používateľského rozhrania (GUI) Ozeki. Ak správa úspešne príde, sieťové pripojenie sa zdá byť funkčné.

Ďalej musíme overiť, či sa správy prenášajú z vašej databázy do softvéru Ozeki. Vložte nejaké testovacie správy do tabuľky Ozekimessageout. Potom v rámci GUI Ozeki prejdite na odoslané správy spojené s používateľom databázy, ktorého používate. Ak tieto testovacie správy chýbajú v odoslaných správach, problém spočíva v procese prenosu dát medzi databázou a Ozeki.

Chcel by som použiť jednu databázu pre viacerých "používateľov databázy". Je to možné?

Určite! Ozeki SMS Gateway vám umožňuje udržiavať samostatné denníky správ pre rôzne účely pomocou samostatných používateľov databázy.

Tu je návod krok za krokom:

  • Vytvorte nové tabuľky databázy: Nastavte dve nové tabuľky vo vašej databáze. Pre ľahkú identifikáciu ich môžete pomenovať ozekimessagein2 a ozekimessageout2. Tieto tabuľky by mali zrkadliť štruktúru existujúcich tabuliek ozekimessagein a ozekimessageout používaných vaším prvým používateľom databázy.
  • Nakonfigurujte druhého používateľa databázy: Prístup k konfiguračnému formuláru pre vášho druhého používateľa databázy v Ozeki.
  • Upravte šablóny SQL: Nájdite sekciu pre šablóny SQL v konfiguračnom formulári. Tieto šablóny určujú, ako sa správy ukladajú do tabuliek databázy.
  • Aktualizujte názvy tabuliek: V šablónach SQL pre druhého používateľa databázy aktualizujte existujúce názvy tabuliek (ozekimessagein a ozekimessageout) tak, aby sa zhodovali s novo vytvorenými tabuľkami (ozekimessagein2 a ozekimessageout2).
Podľa týchto krokov vytvoríte samostatné denníky správ pre každého používateľa databázy. To vám umožní kategorizovať alebo filtrovať správy podľa vašich špecifických potrieb pomocou zvolených názvov tabuliek.

Môj Ozeki SMS Gateway sa neustále odpojuje od môjho MySQL servera s nasledujúcou chybovou správou: MySQL Server has gone away. Čo by som mal urobiť?

Pre zlepšenie odozvy pri používaní Ozeki s MySQL upravte nastavenie časového limitu. Tu je návod:

Nakonfigurujte časový limit MySQL:

  • Upravte váš konfiguračný súbor MySQL (napr. my.ini) a nastavte parameter interactive_timeout na požadovanú dobu v sekundách (napr. interactive_timeout = 28800 pre 8 hodín).
  • Uložte zmeny a reštartujte službu MySQL.

Aktualizujte reťazec pripojenia Ozeki:

  • Upravte váš reťazec pripojenia Ozeki tak, aby používal Interactive namiesto wait_timeout. Správny formát je Driver={MySQL ODBC 5.2 ANSI Driver};Server=127.0.0.1;Database=ozeki;User=test;Password=test;Interactive=VAŠA_HODNOTA_ČASOVÉHO_LIMITU.

  • Nezabudnite nahradiť VAŠA_HODNOTA_ČASOVÉHO_LIMITU požadovaným časovým limitom v sekundách.
Podľa týchto krokov optimalizujete časové limity pripojenia MySQL pre plynulejšiu prevádzku v Ozeki, čo je obzvlášť užitočné pre dlhotrvajúce úlohy alebo veľké súbory dát.

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

More information