Přeskočit odkazy

Odesílání SMS pomocí aplikace FileMaker a zásuvného modulu MBS.

smstrade SMS brána

Odesílání SMS zpráv pomocí aplikace FileMakerV tomto technickém článku vysvětlíme, jak odesílat SMS zprávy přímo z aplikace FileMaker pomocí zásuvného modulu MBS.Databáze v rámci programu. Za tímto účelem vytvoříme dílčí skript, který může odeslat libovolnou SMS zprávu libovolnému příjemci tak, že jej zavoláme s pěti parametry. V tomto příkladu použijeme jako bránu pro odesílání SMS zpráv německého poskytovatele smstrade.

Tato služba nabízí zasílání SMS zpráv do německých sítí od 1,6 centů za zprávu; SMS zprávy lze zasílat do celého světa za ceny od 4,9 centů za zprávu, vždy s připočtením 19% DPH. Po registraci je pro začátek k dispozici 30 bezplatných SMS zpráv, které lze odeslat pro testovací účely. U tohoto poskytovatele není účtován žádný základní měsíční poplatek. V následujícím textu se dozvíte, jak můžete automaticky odesílat SMS zprávy přímo z databáze FileMaker.

Registrace u smstrade

Abyste mohli odesílat zprávy SMS prostřednictvím brány SMS, musíte se nejprve zaregistrovat u společnosti. smstrade. Registrace je zdarma a zahrnuje odeslání až 30 bezplatných SMS zpráv.
smstrade SMS brána

Kmenová data pro bránu SMS

Za prvé, v databázi FileMaker jsou vyžadována tři pole, která obsahují přístupové a hlavní údaje pro bránu SMS. Tato pole platí globálně pro použití v celém řešení FileMaker. Alternativně můžete místo polí použít také globální proměnné, které se vytvářejí v aplikaci Skript musí být inicializován. Pro odesílání SMS zpráv jsou pro hlavní údaje vyžadována následující pole:

  • Odesílatel - Identifikace odesílatele SMS, např. "0049123456789" nebo "+49123456789".
  • Klíč k bráně - Gateway klíč, který obdržíte po registraci na smstrade.de.
  • Trasa - smstrade nabízí tři možnosti tarifů:
    • základní pro zasílání SMS zpráv v rámci Německa
    • zlato pro celosvětové odeslání s jakoukoli identifikací odesílatele
    • přímo pro celosvětovou přepravu přímo prostřednictvím provozovatele sítě

Vytvořte v databázi tři pole nebo globální proměnné, ke kterým budete mít přístup v celém řešení. Po registraci v aplikaci smstrade zadejte do příslušných polí základní údaje. Pro zasílání SMS zpráv v rámci Německa doporučujeme volbu "základní" tarif.

Skript pro odesílání SMS

V dalším kroku naprogramujeme skript, pomocí kterého můžete odeslat libovolnou SMS zprávu libovolnému příjemci z celé databáze. Skript lze později vyvolat pomocí následujících pěti parametrů skriptu:

  • Přijímač - Telefonní číslo příjemce, např. "0049123456789" nebo "+49123456789".
  • Text - Text zprávy SMS (až 1530 znaků jako propojená SMS).
  • Odesílatel - ID odesílatele se obvykle generuje z pole hlavních údajů.
  • Klíč k bráně - Klíč brány se obvykle generuje z pole kmenových dat.
  • Trasa - Trasa (tarif) se obvykle generuje z pole kmenových údajů.

Pokud vytváříte pole "Odesílatel", "Klíč brány" a "Trasa" z polí kmenových dat, měl by skript nejprve zkontrolovat, zda jsou tato pole také zachována. Z tohoto důvodu obsahuje náš skript na začátku odpovídající dotaz. Níže najdete celý skript pro odesílání SMS zpráv s podporou zásuvného modulu MBS FileMaker.

Předání parametrů skriptu

Při volání tohoto skriptu se předá pět parametrů skriptu v řetězci, jehož hodnoty jsou odděleny apostrofem (|). K oddělení řetězce použijeme Vlastní funkce s názvem "StringTrennen". Abyste mohli skript používat tak, jak je uvedeno na obrázku, vytvořte nejprve následující soubor Vlastní funkce (samostatná funkce) v aplikaci FileMaker Pro Advanced:

StringDisconnect (Řetězec; Číslo)

If(číslo = 1;
   CharacterLinks ( String; (Position ( String; "|"; 1; 1))-1);
CharacterCentre ( String;
(Pozice ("String"; "|"; 1; Number-1))+1;
(pozice ("String"; "|"; 1; číslo)) - ((pozice ("String"; "|"; 1; číslo-1))+1)
)
 )

Skript pro odesílání SMS

Pokud jste vložili výše uvedenou vlastní funkci nebo máte jinou vlastní funkci, která umí extrahovat řetězce oddělené znakem, vytvořte v editoru skriptů nový skript a pojmenujte jej jako index podle svého osobního schématu pojmenování (např. 'ts.SMS_Versand').

If [NOT IstLeer(Sender) AND NOT IstLeer(Key) AND NOT IstLeer(Route)]
   #Script parametry: | Text | Od | Klíč | Trasa
   Nastavit proměnnou [$tel_nr; Hodnota:StringTrennen(Get(ScriptParameter); 1)]
   Nastavit proměnnou [$text; Hodnota:StringDisconnect(Get(ScriptParameter); 2)]
   Nastavit proměnnou [$from; Hodnota:StringDisconnect(Get(ScriptParameter); 3)]
   Nastavit proměnnou [$key; Hodnota:StringDisconnect(Get(ScriptParameter); 4)]
   Nastavit proměnnou [$route; Hodnota:StringTrenn(Get(ScriptParameter); 5)]
   #
   # Inicializace přenosu
   Nastavit proměnnou [$r; Hodnota:MBS("Trace")]
   Nastavit proměnnou [$to; value:MBS("String.EncodeURLComponent"; $tel_nr; "utf8")]
   Nastavit proměnnou [$from; value:MBS("String.EncodeURLComponent"; $from; "utf8")]
   Nastavit proměnnou [$body; Hodnota:Exchange(MBS("String.EncodeURLComponent"; $text; "utf8"); ""; "+")]
   Nastavit proměnnou [$curl; Hodnota:MBS("CURL.New")]
   Nastavení proměnné [$result; value:MBS("CURL.SetOptionpost"; $curl; 1)]
   Nastavení proměnné [$result; Value:MBS("CURL.SetOptionVerbose"; $curl; 1)]
   Nastavení proměnné [$result; Value:MBS("CURL.SetOptionURL"; $curl; "https://gateway.smstrade.de")]
   #
   # Nastavení vstupních údajů XML a SMS
   Nastavit proměnnou [$content; hodnota: "key=" & $key & "&" & "to=" & $to & "&" & "message=" & $body & "&" &
   "route=" & $route & "&" & "from=" & $from & "&" & "charset=utf-8"]
   Nastavit proměnnou [$content; Value:MBS( "String.ReplaceNewline"; $content; 2 )]
   Nastavení proměnné [$result; Value:MBS("CURL.SetOptionPostFields"; $curl; $content)]
   #
   # Zahájení přenosu
   Nastavit proměnnou [$result; Hodnota:MBS("CURL.Perform"; $curl)]
   #
   # Zkontrolujte výsledek
   Nastavení proměnné [$$debugText; Hodnota:MBS("String.ReplaceNewline"; MBS("CURL.GetDebugAsText"; $curl);1)]
   Nastavení proměnné [$$resultText; Hodnota:MBS("String.ReplaceNewline"; MBS("CURL.GetResultAsText"; $curl);1)]
   Nastavit proměnnou [$r; hodnota:MBS("CURL.Cleanup"; $curl)]
Jinak
   Zobrazte vlastní dialogové okno ["SMS brána není nastavena"; "Nejsou zadána žádná hlavní data!"; "OK"]
Konec (if)

V první části skriptu se předaný řetězec parametrů skriptu nejprve rozdělí do jednotlivých proměnných. Ve druhé části se provede engine CURL MBS. Zásuvný modul FileMaker je inicializován. Třetí část tvoří řetězec, který vede k příkazu Server brány SMS je odeslána. Odeslání proběhne v subskripci "Zahájení přenosu". V poslední části je stav odeslání zapsán do globálních proměnných $$result a $$debug a po odeslání jej zde lze vyčíst.

Stáhnout ukázkovou databázi

Abyste nemuseli vypisovat celý zdrojový kód ve stylu C=64, nabízíme vám řešení popsané v tomto článku ve formě Příklad souboru ke stažení. Ukázkový soubor je v formát fmp12 a používá FileMaker 12, 13 nebo 14 s nainstalovaným Zásuvný modul MBS FileMaker předem. Pokud nemáte licenci pro FileMaker Pro Advanced, ale pouze pro běžný FileMaker Pro, můžete použít tento ukázkový soubor, který již obsahuje vlastní funkci potřebnou pro oddělení přenosového řetězce.

Stáhnout ukázkovou databázi SMS

Zanechat komentář

Sdílet tuto stránku:

Software ERP je stejně flexibilní jako vaše společnost.
Rádi vám poradíme.

Přizpůsobitelný software ERP pro Mac, Windows a iOS.

Nacházíte se zde: Masarykova univerzita Lidé se mohou těšit na další informace: Odesílání SMS zpráv pomocí FileMakeru a MBS Pluginu