Jak naplánovat SMS ve Scale

Nejjednodušší způsob, jak odeslat naplánovanou SMS ze Scaly, je použít vestavěné HTTP/Rest SMS API Ozeki SMS Gateway. Při použití tohoto API budete odesílat SMS zprávy vytvořením HTTP Post požadavku na SMS bránu. HTTP Post požadavek bude obsahovat zprávu ve formátu JSON. SMS brána následně odešle tuto SMS na telefon příjemce a vrátí HTTP 200 OK odpověď na váš požadavek.

jak naplánovat sms ve scale
Obrázek 1 - Jak naplánovat SMS ve Scale

Scala kód pro odeslání naplánované SMS na mobil

Ukázkový kód Scaly pro SMS níže ukazuje, jak můžete odeslat naplánovanou SMS pomocí HTTP REST SMS API Ozeki SMS Gateway s využitím knihovny Ozeki.Libs.Rest pro Scalu. Tato knihovna je poskytována zdarma a můžete ji používat a upravovat v jakémkoli z vašich projektů.

SendScheduledSms.scala
import Ozeki.Libs.Rest.{Configuration, Message, MessageApi}
import java.time.LocalDateTime
import java.time.format.DateTimeFormatter


object main  {
  def main(args: Array[String]): Unit = {

    val DateFormat = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")

    val configuration = Configuration(
      Username = "http_user",
      Password = "qwe123",
      ApiUrl = "http://127.0.0.1:9509/api"
    )

    val msg = Message(
      ToAddress = "+36201111111",
      Text = "Hello world!",
      TimeToSend = LocalDateTime.parse("2021-07-14 16:30:00", DateFormat)

    )

    val api = MessageApi(configuration)

    val result = api.Send(msg)

    println(result)
  }
}
	

Kód 1 - SendScheduledSms.scala

Jak použít příklad SMS ve Scale:

Tento příklad SMS ve Scale lze použít v jakékoli aplikaci Scala. Pro použití je nutné stáhnout knihovnu Ozeki.Libs.Rest. Po stažení knihovny je třeba přidat odkaz na ni ve vašem zdrojovém kódu Scaly. To vám umožní používat třídy poskytované knihovnou Ozeki.Libs.Rest. Třídu Message můžete použít k vytvoření SMS. Třídu MessageApi můžete použít k odeslání SMS na SMS bránu. SMS brána následně přepošle vaši zprávu do mobilní sítě buď prostřednictvím bezdrátového připojení nebo přes internet.

Stáhnout SendScheduledSms.scala

Zdrojový kód vysvětlený v tomto článku lze stáhnout, používat a upravovat zdarma.
Stáhnout: SendScheduledSms.scala.zip (91.4Kb)

Co obsahuje soubor SendScheduledSms.scala.zip?

V SendScheduledSms.scala.zip najdete soubor SendScheduledSms.scala, který obsahuje ukázkový kód, který vám ukáže, jak odeslat SMS. Tento ukázkový kód je uveden níže.

Obrázek 2 - Co je uvnitř SendScheduledSms.scala.zip

Jak odeslat SMS ze Scaly (Jednoduchý návod)

Pro odeslání SMS ze Scaly:

  1. Nainstalujte uživatele HTTP API
  2. Povolte Logování komunikačních událostí na záložce Pokročilé
  3. Nastavte Visual Studio
  4. Stáhněte a rozbalte soubor SendScheduledSms.scala.zip
  5. Otevřete projekt SendScheduledSms.scala v IDE IntelliJ
  6. Spusťte aplikaci Ozeki SMS Gateway
  7. Spusťte kód SendScheduledSms.scala v IDE IntelliJ
  8. Zkontrolujte logy, zda byla SMS odeslána

Instalace Ozeki SMS Gateway a vytvoření uživatele HTTP API

Pro odesílání SMS ze Scaly je nejprve nutné nainstalovat Ozeki SMS Gateway. SMS bránu lze nainstalovat na stejný počítač, kde vyvíjíte svůj kód Scaly v libovolném textovém editoru, například v poznámkovém bloku Windows. Po instalaci je dalším krokem připojení Ozeki SMS Gateway k mobilní síti. Můžete odeslat testovací SMS z grafického rozhraní Ozeki pro ověření, že vaše připojení k mobilní síti funguje. Posledním krokem přípravy prostředí je vytvoření uživatele HTTP SMS API. Vytvořte uživatele s uživatelským jménem "http_user" a heslem "qwe123", aby příklad fungoval bez úprav.

Po nastavení prostředí můžete spustit svůj kód Scaly.

URL HTTP API pro odesílání SMS ze Scaly

Pro odesílání SMS ze Scaly musí vaše Scala odeslat HTTP požadavek na SMS bránu. API URL je uvedeno níže. Poznámka: IP adresa (127.0.0.1) by měla být nahrazena IP adresou vaší SMS brány. Pokud je Ozeki SMS Gateway nainstalována na stejném počítači, kde běží R SMS aplikace, může to být 127.0.0.1. Pokud je nainstalována na jiném počítači, měla by to být IP adresa tohoto počítače.

http://127.0.0.1:9509/api?action=rest
	

HTTP autentizace pro odesílání SMS ze Scaly

Pro ověření klienta SMS ve Scale je nutné odeslat uživatelské jméno a heslo v řetězci zakódovaném v base64 na server v HTTP požadavku. Použitý formát je: base64(username+":"+password). Ve Scale můžete použít následující kód pro toto kódování:

val usernamePassword = "%s:%s".format(Username, Password).getBytes()
val usernamePasswordEncoded = Base64.getEncoder.encodeToString(usernamePassword)
"Basic %s".format(usernamePasswordEncoded)
	

Například, pokud zakódujete uživatelské jméno 'http_user' a heslo 'qwe123', získáte následující řetězec zakódovaný v base64: aHR0cF91c2VyOnF3ZTEyMw==. Pro odeslání

HTTP hlavička požadavku pro odeslání SMS z Scaly

Pro odeslání SMS zpráv je třeba do HTTP požadavku zahrnout následující řádky jako hlavičky. Všimněte si, že zahrnujeme typ obsahu a autorizační hlavičku.

Content-Type: application/json
Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
	

HTTP požadavek pro odeslání naplánované SMS z Scaly

Pro odeslání SMS vaše Scala aplikace odešle HTTP požadavek podobný níže uvedenému. Všimněte si, že tento požadavek obsahuje část HTTP hlavičky a část HTTP těla. HTTP tělo je řetězec zakódovaný ve formátu JSON. Obsahuje číslo příjemce, text zprávy a také čas, kdy chceme SMS odeslat.

POST /api?action=sendmsg HTTP/1.1
HTTP2-Settings: AAEAAEAAAAIAAAABAAMAAABkAAQBAAAAAAUAAEAA
Connection: Upgrade, HTTP2-Settings
Upgrade: h2c
Content-Length: 320
Content-Type: application/json
Accept: application/json
Authorization: Basic aHR0cF91c2VyOnF3ZTEyMw==
Host: 127.0.0.1:9509
User-Agent: Java-http-client/16.0.1

{
	"messages": [
		{
			"message_id":"e2f650ee-90cc-43c5-885b-5ea4a0458381",
			"to_address":"+36201111111",
			"text":"Hello world!",
			"create_date":"2021-07-15T10:32:42",
			"valid_until":"2021-07-22T10:32:42",
			"time_to_send":"2021-07-15T11:00:00",
			"submit_report_requested": true,
			"view_report_requested": true,
			"delivery_report_requested": true
		}
	]
}
	

HTTP odpověď přijatá příkladem SMS v Scale

Jakmile SMS brána obdrží tento požadavek, vygeneruje HTTP odpověď. HTTP odpověď bude obsahovat stavový kód, který indikuje, zda byl požadavek na odeslání SMS úspěšný nebo ne. Dále vrátí strukturu zakódovanou v JSON, která poskytuje užitečné informace o odeslání zprávy.

HTTP/1.1 200 OK
User-Agent: OZEKI 10.3.123 (www.myozeki.com)
Content-Type: application/json; charset=utf8
Last-Modified: Thu, 15 Jul 2021 10:26:26 GMT
Server: 10/10.3.123
Transfer-Encoding: chunked

{
	"http_code": 200,
	"response_code": "SUCCESS",
	"response_msg": "Messages queued for delivery.",
	"data": {
	  "total_count": 1,
	  "success_count": 1,
	  "failed_count": 0,
	  "messages": [
	    {
	      "message_id": "e2f650ee-90cc-43c5-885b-5ea4a0458381",
	      "from_station": "%",
	      "to_address": "+36201111111",
	      "to_station": "%",
	      "text": "Hello world!",
	      "create_date": "2021-07-15 10:32:42",
	      "valid_until": "2021-07-22 10:32:42",
	      "time_to_send": "2021-07-15 11:00:00",
	      "submit_report_requested": true,
	      "delivery_report_requested": true,
	      "view_report_requested": false,
	      "tags": [
	        {
	          "name": "Type",
	          "value": "SMS:TEXT"
	        }
	      ],
	      "status": "SUCCESS"
	    }
	  ]
	}
}
	

Jak odeslat SMS z Scaly pomocí Scala SMS API (Video návod)

Toto video vám ukáže, jak stáhnout soubor SendScheduledSms.scala.zip z této stránky. Pokud video sledujete, všimnete si, že obsah SendScheduledSms.scala.zip je umístěn na plochu Windows. Uvidíte také, že spouštíme příkazový řádek pro odeslání SMS.

Video 1 - Jak odeslat SMS z Scaly pomocí Scala SMS API (Video návod)

Příklad SMS v Scale: SendScheduledSms.scala

Níže uvedený příklad kódu je součástí souboru SendScheduledSms.scala.

příklad kódu pro odeslání naplánované sms pomocí scaly
Obrázek 3 - Soubor SendScheduledSms.scala

Jak ověřit, že SMS byla přijata HTTP uživatelem

Po odeslání SMS je dobré zkontrolovat vaši SMS bránu, abyste viděli, co přijala. Protokol můžete zkontrolovat otevřením detailů HTTP uživatele v konzoli pro správu Ozeki SMS Gateway. Následující video vám ukáže, na co se zaměřit.

Video 2 - Jak ověřit, že SMS byla přijata HTTP uživatelem (Video návod)

Shrnutí

Hlavním účelem tohoto článku bylo vysvětlit kroky plánování SMS ve Scale pomocí Ozeki SMS Gateway. Pokud bylo vše pečlivě přečteno, plánování SMS by mělo být velmi snadné. Perfektní načasování sdílení informací je důležité, pokud chcete pracovat s vysokým výkonem, protože tímto způsobem se můžete vyhnout rušným hodinám zákazníků, aby vaše zprávy neignorovali. Ozeki SMS Gateway vám umožňuje spravovat náklady na SMS a sledovat SMS provoz.

Nezapomeňte pokračovat ve čtení na stránce s návody Ozeki, kde najdete více informací o tématech, jako je mazání SMS ve Scale.

Nyní zbývá jen stáhnout Ozeki SMS Gateway a začít pracovat!

More information