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 SQLAk chcete poslať SMS odpoveď z SQL:
- Spustite Ozeki SMS Gateway
- Pridajte nového Autoreply database užívateľa
- Vytvorte štruktúru SQL databázovej tabuľky
- Nastavte Autoreply database užívateľa
- Zadajte skript pre autoreply text
- Použite identifikovateľné čísla a kľúčové slová
- Odošlite testovaciu SMS pre odpoveď z SQL
- Skontrolujte záznamy Autoreply database užívateľa
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.
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.
Nájdite Autoreply Database User a kliknite na modrý odkaz 'inštalovať' vedľa neho. Ako môžete vidieť na obrázku 3.
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.
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;
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ázyTeraz 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)
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 slovomTento 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.txtSELECT '$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é slovo | Hodnota | $originator | Nahradené telefónnym číslom odosielateľa. |
---|---|
$sender | =$originator ($sender je ďalší názov pre $originator.) |
$recipient | Nahradené telefónnym číslom, ktoré prijalo správu. |
$receiver | =$recipient ($receiver je ďalší názov pre $recipient.) |
$messagedata | Nahradené textom správy. |
$keyword | Nahradené 1. slovom v správe. Toto slovo sa nazýva kľúčové slovo. |
$after | Nahradené zvyšným textom za kľúčovým slovom. |
$senttime | Nahradené časovou značkou, ktorá ukazuje, kedy bola správa odoslaná. |
$receivedtime | Nahradené časovou značkou, ktorá ukazuje, kedy bola správa prijatá. |
$messagetype | Nahradené typom správy, ktorý je vo väčšine prípadov 'SMS:TEXT'. |
$id | Nahradené unikátnym reťazcom, ktorý identifikuje správu v Ozeki SMS Gateway. |
$operator | Nahradené názvom poskytovateľa služieb, ktorý prijal správu v Ozeki SMS Gateway. |
$1 | Nahradené 1. slovom v správe. |
$2 | Nahradené 2. slovom v správe. |
$3 | Nahradené 3. slovom v správe, atď... |
Štruktúra skriptu automatických odpovedí je vysvetlená na týchto webových stránkach:
- Jednoduchá štruktúra skriptového súboru je definovaná na tejto webovej stránke.
- Príklad 'sqlscript.txt'
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
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.
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).
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.
Driver={MySQL ODBC 5.2 ANSI Driver};Server=127.0.0.1;Database=ozeki;User=test;Password=test;interactive=;Option=8;
More information
- SMS reply from pc to mobile
- How to write an SMS reply script
- How to send an SMS reply from SQL