
Bu hizmet, Alman şebekelerine mesaj başına 1.6 sentten başlayan fiyatlarla SMS mesajları gönderilmesini sağlar; SMS mesajları, mesaj başına 4.9 sent artı her durumda 19% KDV'den başlayan fiyatlarla dünya çapında gönderilebilir. Kayıttan sonra, test amacıyla gönderilebilecek 30 ücretsiz SMS mesajı ile başlanabilir. Bu sağlayıcıda aylık temel ücret yoktur. Aşağıda, doğrudan FileMaker veritabanınızdan otomatik olarak nasıl SMS mesajları gönderebileceğinizi öğreneceksiniz.
Smstrade ile kayıt
SMS ağ geçidi üzerinden SMS mesajları gönderebilmek için öncelikle smstrade. Kayıt ücretsizdir ve başlangıç için 30 adede kadar ücretsiz SMS mesajı gönderilmesini içerir.
SMS ağ geçidi için ana veriler
İlk olarak, FileMaker veritabanınızda SMS ağ geçidi için erişim ve ana verileri içerecek üç alan gereklidir. Bu alanlar tüm FileMaker çözümünüzde kullanılmak üzere global olarak uygulanır. Alternatif olarak, alanlar yerine global değişkenler de kullanabilirsiniz. Senaryo başlatılmalıdır. Ana verilerin SMS mesajları göndermesi için aşağıdaki alanlar gereklidir:
- Gönderen - SMS'in gönderici kimliği, örneğin '0049123456789' veya '+49123456789'
- Ağ Geçidi Anahtarı - smstrade.de adresinden kayıt olduktan sonra alacağınız ağ geçidi anahtarı.
- Rota - smstrade üç tarife seçeneği sunmaktadır:
- temel Almanya içinde SMS mesajları göndermek için
- altın herhangi bir gönderici kimliği ile dünya çapında gönderim için
- doğrudan doğrudan şebeke operatörü aracılığıyla dünya çapında gönderim için
Veritabanınızda çözümünüz boyunca erişebileceğiniz üç alan veya global değişken oluşturun. Smstrade'e kaydolduktan sonra, ilgili alanlara ana verileri girin. Almanya içinde SMS mesajları göndermek için 'temel' tarife seçeneğini öneriyoruz.
SMS göndermek için komut dosyası
Bir sonraki adımda, tüm veritabanından herhangi bir alıcıya herhangi bir SMS mesajı gönderebileceğiniz bir komut dosyası programlayacağız. Komut dosyası daha sonra aşağıdaki beş komut dosyası parametresi ile çağrılabilir:
- Alıcı - Alıcının telefon numarası, örneğin '0049123456789' veya '+49123456789'
- Metin - SMS mesajının metni (bağlantılı SMS olarak en fazla 1.530 karakter)
- Gönderen - Gönderen Kimliği, genellikle ana veri alanından oluşturulur.
- Ağ Geçidi Anahtarı - Ağ geçidi anahtarı, genellikle ana veri alanından oluşturulur.
- Rota - Rota (tarife), genellikle ana veri alanından oluşturulur.
Ana veri alanlarından 'Gönderen', 'Ağ Geçidi Anahtarı' ve 'Rota' alanları oluşturursanız, kod öncelikle bu alanların da korunup korunmadığını kontrol etmelidir. Bu nedenle, kodumuz başlangıçta ilgili bir sorgu içerir. Aşağıda, MBS FileMaker eklentisinin desteğiyle SMS mesajları göndermeye yönelik tüm komut dosyasını bulacaksınız.
Kod parametrelerini geçirme
Bu kod çağrıldığında, beş kod parametresi, değerleri kesme işaretiyle (|) ayrılmış bir dize halinde aktarılır. Dizeyi ayırmak için bir Kendi işlevi "StringTrennen" olarak adlandırılır. Kodu gösterildiği gibi kullanabilmek için önce aşağıdakileri oluşturun Özel Fonksiyon (ayrı işlev) FileMaker Pro Advanced'de:
StringDisconnect (String; Sayı)
Eğer (sayı = 1;
CharacterLinks ( String; (Position ( String; "|"; 1; 1))-1);
CharacterCentre ( String;
(Pozisyon ( Dize; "|"; 1; Sayı-1))+1;
(Konum ( Dize; "|"; 1; Sayı)) - ((Konum ( Dize; "|"; 1; Sayı-1))+1)
)
)
SMS göndermek için komut dosyası
Yukarıda bahsedilen özel fonksiyonu eklediyseniz veya karakterle ayrılmış dizeleri ayıklayabilen başka bir özel fonksiyonunuz varsa, kod düzenleyicide yeni bir kod oluşturun ve kişisel adlandırma şemanıza göre alt simge olarak adlandırın (örn. 'ts.SMS_Versand').
Eğer [NOT IstLeer(Gönderen) AND NOT IstLeer(Anahtar) AND NOT IstLeer(Rota)]
#Skript parametreleri: Tel | Metin | Kimden | Anahtar | Rota
Değişkeni ayarla [$tel_nr; Değer:StringTrennen(Get(ScriptParameter); 1)]
Değişkeni ayarla [$text; Değer:StringDisconnect(Get(ScriptParameter); 2)]
Değişkeni ayarla [$from; Değer:StringDisconnect(Get(ScriptParameter); 3)]
Değişkeni ayarla [$key; Değer:StringDisconnect(Get(ScriptParameter); 4)]
Değişkeni ayarla [$route; Değer:StringTrenn(Get(ScriptParameter); 5)]
#
# Aktarımı başlat
Değişkeni ayarla [$r; Değer:MBS("Trace")]
Değişkeni ayarla [$to; değer:MBS("String.EncodeURLComponent"; $tel_nr; "utf8")]
Değişkeni ayarla [$from; değer:MBS("String.EncodeURLComponent"; $from; "utf8")]
Değişkeni ayarla [$body; Değer:Exchange(MBS("String.EncodeURLComponent"; $text; "utf8"); ""; "+")]
Değişkeni ayarla [$curl; Değer:MBS("CURL.New")]
Değişkeni ayarla [$result; value:MBS("CURL.SetOptionpost"; $curl; 1)]
Değişkeni ayarla [$result; Değer:MBS("CURL.SetOptionVerbose"; $curl; 1)]
Değişkeni ayarla [$result; Değer:MBS("CURL.SetOptionURL"; $curl; "https://gateway.smstrade.de")]
#
# Giriş XML ve SMS ayrıntılarını ayarlayın
Set variable [$content; value: "key=" & $key & "&" & "to=" & $to & "&" & "message=" & $body & "&" &
"route=" & $route & "&" & "from=" & $from & "&" & "charset=utf-8"]
Değişkeni ayarla [$content; Değer:MBS( "String.ReplaceNewline"; $content; 2 )]
Değişkeni ayarla [$result; Değer:MBS("CURL.SetOptionPostFields"; $curl; $content)]
#
# Aktarımı başlat
Değişkeni ayarla [$result; Değer:MBS("CURL.Perform"; $curl)]
#
# Kontrol sonucu
Değişkeni ayarla [$$debugText; Değer:MBS("String.ReplaceNewline"; MBS("CURL.GetDebugAsText"; $curl);1)]
Değişkeni ayarla [$$resultText; Değer:MBS("String.ReplaceNewline"; MBS("CURL.GetResultAsText"; $curl);1)]
Değişkeni ayarla [$r; değer:MBS("CURL.Cleanup"; $curl)]
Aksi takdirde
Kendi diyalog kutunuzu görüntüleyin ["SMS ağ geçidi ayarlanmamış"; "Ana veri girilmemiş!"; "Tamam"]
Son (eğer)
Komut dosyasının ilk bölümünde, iletilen komut dosyası parametre dizesi önce ayrı değişkenlere çıkarılır. İkinci kısımda, MBS'nin CURL motoru FileMaker Eklentisi başlatılır. Üçüncü bölüm, aşağıdaki dizeyi oluşturur Sunucu SMS ağ geçidinin gönderilir. Gönderme işlemi "Aktarımı başlat" alt simgesi içinde gerçekleşir. Son kısımda, gönderim durumu $$result ve $$debug global değişkenlerine yazılır ve gönderim sonrasında buradan okunabilir.
Demo veritabanını indirin
Tüm kaynak kodunu C=64 stilinde yazmak zorunda kalmamanız için, bu makalede açıklanan çözümü size bir Örnek dosya indirilebilir. Örnek dosya şurada fmp12 formatı ve yüklü FileMaker 12, 13 veya 14 kullanıyor MBS FileMaker Eklentisi önceden. FileMaker Pro Advanced lisansınız yoksa, yalnızca normal FileMaker Pro lisansınız varsa, aktarım dizesini ayırmak için gereken özel işlevi zaten içeren bu örnek dosyayı kullanabilirsiniz.

Markus Schall 1994'ten beri Claris FileMaker tabanlı özelleştirilmiş veritabanları, arayüzler ve iş uygulamaları geliştirmektedir. Kendisi Claris ortağı, 2011 FMM Ödülü sahibi ve ERP yazılımı gFM-Business. Kendisi aynı zamanda bir kitap yazarı ve M. Schall Yayınevleri.


Kulağa harika geliyor. FileMaker üzerinden SMS ALMANIN da bir yolu var mı?
Çok teşekkür ederim,
Matthias
adresinde bir "fmsms" çözümü bulunmaktadır. https://www.fmsms.comSMS mesajları almak için de kullanılabilir.