Ako poslať viacero SMS z Tcl/Tk

Najjednoduchší spôsob, ako poslať viacero SMS z Tcl/Tk, je použiť vstavané HTTP/Rest SMS rozhranie Ozeki SMS Gateway. Keď použijete toto rozhranie, budete posielať SMS správy odoslaním HTTP POST požiadavky na SMS bránu. HTTP POST požiadavka bude obsahovať správu vo formáte JSON. SMS brána pošle túto SMS na telefón príjemcu a vráti HTTP 200 OK odpoveď na vašu požiadavku.

ako poslať viacero sms z tcl tk
Obrázok 1 - Ako poslať viacero SMS z Tcl/Tk

Tcl/Tk kód na odoslanie SMS na mobil

Ukážka kódu Tcl/Tk na odoslanie SMS nižšie demonštruje, ako môžete poslať viacero SMS pomocou HTTP REST SMS rozhrania Ozeki SMS Gateway s použitím knižnice Tcl/Tk Ozeki.Libs.Rest. Táto knižnica je poskytovaná bezplatne a môžete ju používať a upravovať v akomkoľvek z vašich projektov.

SendMultipleSms.tcl
source Ozeki.Libs.Rest.tcl


set configuration [ Configuration new ]
$configuration setUsername "http_user" 
$configuration setPassword "qwe123"
$configuration setApiUrl "http://127.0.0.1:9509/api"

set msg1 [ Message new ]
$msg1 setToAddress "+36201111111"
$msg1 setText "Hello world 1"

set msg2 [ Message new ]
$msg2 setToAddress "+36202222222"
$msg2 setText "Hello world 2"

set msg3 [ Message new ] 
$msg3 setToAddress "+36203333333"
$msg3 setText "Hello world 3"

set api [ MessageApi new $configuration ]

set messages [list]
lappend messages $msg1
lappend messages $msg2
lappend messages $msg3

set result [ $api send $messages ]

puts [ $result toString ]
	

Ako použiť ukážku Tcl/Tk na odoslanie SMS:

Túto ukážku Tcl/Tk na odoslanie SMS môžete použiť v akejkoľvek aplikácii Tcl/Tk. Na jej použitie musíte pridať súbor Ozeki.Libs.Rest.tcl do vášho projektu. Po pridaní súboru musíte vložiť direktívu source Ozeki.Libs.Rest.tcl do hlavičkovej časti vášho zdrojového kódu Tcl/Tk. To vám umožní používať triedy poskytované knižnicou Ozeki.Libs.Rest. Môžete použiť triedu Message na vytvorenie SMS. Môžete použiť triedu MessageApi na odoslanie SMS na SMS bránu. SMS brána prepošle vašu správu do mobilnej siete buď prostredníctvom bezdrôtového pripojenia alebo cez internet.

Stiahnuť SendMultipleSms.tcl

Zdrojový kód vysvetlený v tomto článku je možné stiahnuť, použiť a upravovať bezplatne.
Stiahnuť: SendMultipleSms.tcl.zip (4.17Kb)

Čo obsahuje súbor SendMultipleSms.tcl.zip?

Súbor SendMultipleSms.tcl.zip obsahuje knižnicu Ozeki.Libs.Rest, ktorá vám poskytuje všetky potrebné nástroje na odosielanie a prijímanie SMS správ. Nájdete v ňom tiež projekt SendMultipleSms, ktorý obsahuje ukážkový kód, ktorý vám ukáže, ako odoslať SMS. Tento ukážkový kód je uvedený nižšie.

odoslať sms tcl adresár
Obrázok 2 - Čo je vo vnútri SendMultipleSms.tcl.zip

Ako poslať SMS z Tcl/Tk (Jednoduché pokyny)

Na odoslanie SMS z Tcl/Tk:

  1. Nainštalujte používateľa HTTP API
  2. Povoľte Logovanie komunikačných udalostí na karte Pokročilé
  3. Stiahnite a nainštalujte knižnicu Tcllib
  4. Stiahnite a rozbaľte súbor SendMultipleSms.tcl.zip
  5. Otvorte súbor SendMultipleSms.tcl v textovom editore
  6. Spustite aplikáciu Ozeki SMS Gateway
  7. Spustite kód Tcl/Tk SendMultipleSms.tcl v termináli
  8. Skontrolujte logy, či bola SMS odoslaná
Nainštalujte Ozeki SMS Gateway a vytvorte používateľa HTTP API

Na odosielanie SMS z Tcl/Tk musíte najprv nainštalovať Ozeki SMS Gateway. SMS bránu je možné nainštalovať na rovnakom počítači, na ktorom vyvíjate svoj kód Tcl/Tk vo Visual Studio. Po inštalácii je ďalším krokom pripojenie Ozeki SMS Gateway k mobilnej sieti. Môžete odoslať testovaciu SMS z grafického rozhrania Ozeki na overenie, či vaše pripojenie k mobilnej sieti funguje. Posledným krokom pri príprave vášho prostredia je vytvorenie používateľského účtu HTTP SMS API. Vytvorte používateľa s menom "http_user" a heslom "qwe123", aby príklad fungoval bez úprav.

Po nastavení prostredia môžete spustiť svoj kód Tcl/Tk.

URL HTTP API na odoslanie SMS z Tcl/Tk

Na odoslanie SMS z Tcl/Tk bude vaša aplikácia Tcl/Tk musieť odoslať HTTP požiadavku na SMS bránu. URL API je uvedené nižšie. Upozorňujeme, že IP adresa (127.0.0.1) by mala byť nahradená IP adresou vašej SMS brány. Ak je Ozeki SMS Gateway nainštalovaný na rovnakom počítači, kde beží vaša aplikácia Tcl/Tk na odosielanie SMS, môže to byť 127.0.0.1. Ak je nainštalovaný na inom počítači, mala by to byť IP adresa toho počítača.

http://127.0.0.1:9509/api?action=rest
	
HTTP autentifikácia na odoslanie SMS z Tcl/Tk

Na autentifikáciu klienta Tcl/Tk na odosielanie SMS musíte odoslať používateľské meno a heslo v reťazci zakódovanom do base64 na server v HTTP požiadavke. Používa sa formát: base64(používateľské meno+":"+heslo). V Tcl/Tk môžete na toto kódovanie použiť nasledujúci kód:

set usernamePassword "$username:$password"
set usernamePasswordEncoded [ binary encode base64 $usernamePassword ]
return "Basic $usernamePasswordEncoded"
	

Napríklad, ak zakódujete používateľské meno 'http_user' a heslo 'qwe123', dostanete nasledujúci reťazec zakódovaný do base64: aHR0cF91c2VyOnF3ZTEyMw==. Na odoslanie

HTTP hlavička požiadavky na odoslanie SMS z Tcl/Tk

Na odoslanie SMS správ musíte do HTTP požiadavky zahrnúť nasledujúce riadky ako hlavičky. Upozorňujeme, že obsahujeme typ obsahu a autorizačnú hlavičku.

Content-Type: application/json
Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
	
HTTP požiadavka na odoslanie SMS z Tcl/Tk

Na odoslanie SMS bude vaša aplikácia Tcl/Tk posielať HTTP požiadavku podobnú nižšie uvedenej. Upozorňujeme, že táto požiadavka obsahuje časť HTTP hlavičky a časť tela HTTP. Telo HTTP je reťazec dát zakódovaný v JSON. Obsahuje čísla príjemcov a texty správ.

POST /api?action=sendmsg HTTP/1.1
Host: 127.0.0.1:9509
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 10.0) http/2.9.0 Tcl/8.6.9
Connection: close
Authorization: Basic aHR0cF91c2VyOnF3ZTEyMw==
Accept: */*
Accept-Encoding: gzip,deflate,compress
Content-Type: application/json
Content-Length: 935

{
	"messages": [
		{
			"message_id": "dbaf5396-a220-424b-bb17-534dc6a92c34",
			"to_address": "+36201111111",
			"text": "Hello world 1",
			"create_date": "2021-08-04T10:28:14",
			"valid_until": "2021-08-11T10:28:14",
			"time_to_send": "2021-08-04T10:28:14",
			"submit_report_requested": true,
			"delivery_report_requested": true,
			"view_report_requested": true
		},
		{
			"message_id": "b884f2c3-555b-416e-bcd4-5d7c653ec3ba",
			"to_address": "+36202222222",
			"text": "Hello world 2",
			"create_date": "2021-08-04T10:28:14",
			"valid_until": "2021-08-11T10:28:14",
			"time_to_send": "2021-08-04T10:28:14",
			"submit_report_requested": true,
			"delivery_report_requested": true,
			"view_report_requested": true
		},
		{
			"message_id": "911092b2-4338-4dc7-97f6-1939a99779f7",
			"to_address": "+36203333333",
			"text": "Hello world 3",
			"create_date": "2021-08-04T10:28:14",
			"valid_until": "2021-08-11T10:28:14",
			"time_to_send": "2021-08-04T10:28:14",
			"submit_report_requested": true,
			"delivery_report_requested": true,
			"view_report_requested": true
		}
	]
}
	
HTTP odpoveď prijatá príkladom SMS v Tcl/Tk

Keď SMS brána prijme túto požiadavku, vygeneruje HTTP odpoveď. HTTP odpoveď bude obsahovať stavový kód, ktorý indikuje, či bola požiadavka na odoslanie SMS úspešná alebo nie. Tiež vráti štruktúru zakódovanú v JSON, ktorá poskytne užitočné informácie o odoslaní správy.

HTTP/1.1 200 OK
Transfer-Encoding: chunked
Content-Type: application/json; charset=utf8
Last-Modified: Wed, 04 Aug 2021 08:44:43 GMT
Server: 10/10.3.124 Microsoft-HTTPAPI/2.0
User-Agent: OZEKI 10.3.124 (www.myozeki.com)
Access-Control-Allow-Origin: *
Date: Wed, 04 Aug 2021 08:28:14 GMT
Connection: close

{
  "http_code": 200,
  "response_code": "SUCCESS",
  "response_msg": "Messages queued for delivery.",
  "data": {
    "total_count": 3,
    "success_count": 3,
    "failed_count": 0,
    "messages": [
      {
        "message_id": "dbaf5396-a220-424b-bb17-534dc6a92c34",
        "from_station": "%",
        "to_address": "+36201111111",
        "to_station": "%",
        "text": "Hello world 1",
        "create_date": "2021-08-04 10:28:14",
        "valid_until": "2021-08-11 10:28:14",
        "time_to_send": "2021-08-04 10:28:14",
        "submit_report_requested": true,
        "delivery_report_requested": true,
        "view_report_requested": false,
        "tags": [
          {
            "name": "Type",
            "value": "SMS:TEXT"
          }
        ],
        "status": "SUCCESS"
      },
      {
        "message_id": "b884f2c3-555b-416e-bcd4-5d7c653ec3ba",
        "from_station": "%",
        "to_address": "+36202222222",
        "to_station": "%",
        "text": "Hello world 2",
        "create_date": "2021-08-04 10:28:14",
        "valid_until": "2021-08-11 10:28:14",
        "time_to_send": "2021-08-04 10:28:14",
        "submit_report_requested": true,
        "delivery_report_requested": true,
        "view_report_requested": false,
        "tags": [
          {
            "name": "Type",
            "value": "SMS:TEXT"
          }
        ],
        "status": "SUCCESS"
      },
      {
        "message_id": "911092b2-4338-4dc7-97f6-1939a99779f7",
        "from_station": "%",
        "to_address": "+36203333333",
        "to_station": "%",
        "text": "Hello world 3",
        "create_date": "2021-08-04 10:28:14",
        "valid_until": "2021-08-11 10:28:14",
        "time_to_send": "2021-08-04 10:28:14",
        "submit_report_requested": true,
        "delivery_report_requested": true,
        "view_report_requested": false,
        "tags": [
          {
            "name": "Type",
            "value": "SMS:TEXT"
          }
        ],
        "status": "SUCCESS"
      }
    ]
  }
}
	
Ako odoslať SMS z Tcl/Tk pomocou Tcl/Tk SMS API (Video návod)

Toto video vám ukáže, ako si stiahnuť súbor SendMultipleSms.tcl.zip z tejto stránky a ako si jeho obsah stiahnuť do textového editora. Ak sledujete video, všimnete si, že obsah SendMultipleSms.tcl zipu je umiestnený na pracovnej ploche. Uvidíte tiež, že dvakrát klikneme na súbor SendMultipleSms.tcl, aby sme otvorili skript Tcl.

Video 1 - Ako stiahnuť a spustiť príklad projektu (Video návod)

Príklad SMS v Tcl/Tk: SendMultipleSms.tcl

Príklad kódu nižšie je súčasťou súboru SendMultipleSms.tcl.zip. V zipu môžete nájsť dva súbory: SendMultipleSms.tcl a Ozeki.Libs.Rest.tcl

ako odoslať viacero SMS pomocou Tcl
Obrázok 3 - SendMultipleSms.tcl

Ako skontrolovať, že SMS bola prijatá HTTP používateľom (Video návod)

Po odoslaní SMS je dobré skontrolovať svoju SMS bránu, aby ste videli, čo prijala. Protokol môžete skontrolovať otvorením detailov HTTP používateľa z konzoly na správu Ozeki SMS Gateway. Nasledujúce video vám ukáže, čo hľadať. Video začína otvoreným kódom a končí detailami odoslanej správy. Dozviete sa, ako spustiť projekt, ako projekt vyzerá počas behu a ako vyzerá súbor protokolu po jeho ukončení. Video je dlhé len 42 sekúnd a ľahko zrozumiteľné. Nebudete mať problém s jeho sledovaním.

Video 2 - Ako odoslať viacero SMS správ pomocou vyššie uvedeného kódu Tcl/Tk (Video návod)

More information