Navigace:  MobilChange™ - Dokumentace > Instalace MobilChange™ > Instalace serveru > Instalace serverových částí > Vlastní instalace > Interní rozhraní > MxServicePoints >

MxRestService

Předchozí stránkaDomůDalší stránka

REST obdoba služby nahrazující původní MxWebServices doplněné o další funkce např. auditorské logování.

 

Využití:

Umožňuje nakonfigurovat webové REST služby odpovídající původním MxWebServices na různých url s volitelnými rozšířeními:

 

•logování/audit parametrů požadavků - např. HTTP hlaviček, výsledků requestu, vstupních parametrů.

•generování parametru MessageId

•uživatelské validátory/authentikátory

 

Konfigurace:

Konfigurace MxRestService je definována XML.

Element <mxRestServiceConfiguration> obsahuje element <mxRestServices>,

který obsahuje elementy <mxRestService> s definicemi jednotlivých webových REST služeb.

 

Implementované metody:

SendSimpleSMS (POST) - Zjednodušené poslání SMS

SendSimpleSMSWithToken (POST) - Zjednodušené poslání SMS (ověřuje token)

SendSimpleSMSWithToken2 (POST) - Zjednodušené poslání SMS (ověřuje token) v2

SendSMS (POST) - Pokročilé poslání SMS

SendSMSWithToken (POST) - Pokročilé poslání SMS (ověřuje token)

SendSMSWithToken2 (POST) - Pokročilé poslání SMS (ověřuje token) v2

SendSMSEx (POST) - Pokročilé poslání SMS

ReadMessages (GET) - Načtení záznamů z fronty zpráv

ReadMessagesWithToken (GET) - Načtení záznamů z fronty zpráv (ověřuje token)

ConfirmMessages (POST) - Potvrzení převzetí zpráv získaných metodou ReadMessages

ConfirmMessagesWithToken (POST) - Potvrzení převzetí zpráv získaných metodou ReadMessages (ověření tokenem)

GetSentMessagesInfo (GET) - Vrátí počet zpráv na lince v určitém statusu

GetSentMessagesInfoWithToken (GET) - Vrátí počet zpráv na lince v určitém statusu (ověřuje token)

GetLineNames (GET) - Vrátí seznam linek MX

GetLineNamesWithToken (GET) - Vrátí seznam linek MX (ověřuje token)

 

 

SendSimpleSMS:

Zjednodušené poslání SMS

•Url: <bázová URL>/SendSimpleSMS

•Metoda: POST

•Request

oAtributy

▪ToNumber (string) ... Cílové telefonní číslo

▪MessageText(string) ... Text SMS

oPříklad požadavku

{
  "ToNumber" : "420732206714",
  "MessageText" : "Ahoj"
}

 

 

SendSimpleSMSWithToken:

Zjednodušené poslání SMS s tokenem pro autorizaci

•Url: <bázová URL>/SendSimpleSMSWithToken

•Metoda: POST

•Request

oAtributy

▪ToNumber (string) ... Cílové telefonní číslo

▪MessageText (string) ... Text SMS

▪Token (string) ... Token pro autorizaci

oPříklad požadavku

{
  "ToNumber" : "420732206714",
  "MessageText" : "Ahoj",
  "Token" : "abcdef"
}

 

SendSimpleSMSWithToken2:

Zjednodušené poslání SMS s tokenem pro autorizaci verze 2 (zjednodušená návratová hodnota - string)

•Url: <bázová URL>/SendSimpleSMSWithToken2

•Response: Description ze standardní odpovědi (pouze string)

SendSMS:

Pokročilé poslání SMS

•Url: <bázová URL>/SendSMS

•Metoda: POST

•Request

oAtributy

▪FromNumber(string) ... Číslo odesílatele

▪ToNumber (string) ... Cílové telefonní číslo

▪MessageType (číslo typu) ... Typ zprávy (TextMessage = 0, Binary = 1, MMS = 2, DataSms = 4)

▪MessageText (string) ... Text SMS

▪ReportLevel (číslo typu) ... Úroveň reportů (NoReports = 0, SendError = 1, SendInformation = 2, SendAndDeliveryInformation = 3)

▪Priority (číslo typu) ... Priorita SMS (Default = 4, Low = 1, Normal = 4, High = 16, UltraHigh = 64)

▪ViaLine (string) ... Název požadované odesílací linky

▪AllowReroute (bool) ... Povolení/zakázání přesměrování na jinou linku

▪DisplayOnly (bool) ... SMS pouze na displej

▪Schedule (DateTime?) ... Požadovaný čas odeslání SMS (nullable) ve formátu "/Date(<unix_expoch_ms>)/" (UTC) popř. "/Date(<unix_expoch_ms>+<cokoliv_ignorováno>)/" (LOCAL) víc |viz dokumenace

▪Expiration (int?) ... Expirace zprávy (nullable)

▪UserAppId (string) ... ID SMS zprávy v systémech odesilatele, hodnota bude vrácena v reportech, max. 100 znaků

▪MaxLength (int) ... Max. počet dílků SMS, na který se může text rozdělit. 0 = dle nastavení systému.

oPříklad požadavku (specifikovány jen některé atributy)

{
  "ToNumber" : "420732206714",
  "MessageText" : "Ahoj se application id",
  "UserAppId": "USERAPP-MX-REST",
  "MessageType": 4,
  "ReportLevel": 0
}

 

SendSMSWithToken:

Pokročilé poslání SMS s tokenem pro autorizaci

•Url: <bázová URL>/SendSMSWithToken

•Metoda: POST

•Request

oAtributy stejně jako u SendSMS + navíc

▪Token (string) ... Token pro autorizaci

SendSMSWithToken2:

Pokročilé poslání SMS s tokenem pro autorizaci verze 2 (zjednodušená návratová hodnota - string)

•Url: <bázová URL>/SendSMSWithToken2

•Response: Description ze standardní odpovědi (pouze string)

•Ostatní stejné jako SendSMS

SendSMSEx:

Rozšíření posílání SMS

•Url: <bázová URL>/SendSMSEx

•Metoda: POST

•Request

oAtributy

▪FromNumber(string) ... Číslo odesílatele

▪ToNumber (string) ... Cílové telefonní číslo

▪MessageType (číslo typu) ... Typ zprávy (TextMessage = 0, Binary = 1, MMS = 2, DataSms = 4)

▪MessageText (string) ... Text SMS

▪ReportLevel (číslo typu) ... Úroveň reportů (NoReports = 0, SendError = 1, SendInformation = 2, SendAndDeliveryInformation = 3)

▪Priority (číslo typu) ... Priorita SMS (Default = 4, Low = 1, Normal = 4, High = 16, UltraHigh = 64)

▪ViaLine (string) ... Název požadované odesílací linky

▪AllowReroute (bool) ... Povolení/zakázání přesměrování na jinou linku

▪DisplayOnly (bool) ... SMS pouze na displej

▪Schedule (DateTime?) ... Požadovaný čas odeslání SMS (nullable) ve formátu "/Date(<unix_expoch_ms>)/" (UTC) popř. "/Date(<unix_expoch_ms>+<cokoliv_ignorováno>)/" (LOCAL) víc dokumenace

▪Expiration (int?) ... Expirace zprávy (nullable)

▪UserAppId (string) ... ID SMS zprávy v systémech odesilatele, hodnota bude vrácena v reportech, max. 100 znaků

▪MaxLength (int) ... Max. počet dílků SMS, na který se může text rozdělit. 0 = dle nastavení systému.

▪MessageId (string) ... ID zprávy v odesílajícím systému pro případné dohledávání

▪GateWayType (string) ... typ gatewaye

▪Subject (string) ... předmět zprávy

▪FromName (string) ... logon name přihlášeného uživatele

▪FromEmail (string) ... odesílatel (sender) - identifikuje uživatele (obvykle aplikaci), který zprávu fakticky odeslal

▪FromSMTP (string) ... email adresa přihlášeného uživatele (tedy toho ZA kterého WS posílá tuto zprávu)

▪ReplyRequired (int?) ... nastavení nutnosti odpovědi

▪NoModify (int?) ... nemodifikovat text zprávy? (má vliv na doplnění hlaviček do textu SMS)

▪DontSaveText (int?) ... uložit subjekt/text zprávy do archívu

▪FixDr (int?) ... změna nastavení DR u uživatele

▪FixNdr (int?) ... změna nastavení NDR u uživatele

▪FixInfoMail (int?) ... změna nastavení infomailu u uživatele

▪RequireUnicode (string) ... použít Unicode SMS?

oPříklad požadavku (specifikovány jen některé atributy)

{
  "ToNumber" : "420732206714",
  "MessageText" : "Ahoj se application id",
  "UserAppId": "USERAPP-MX-REST",
  "MessageId": "MESSAGEID-MX-REST",
  "MessageType": 4,
  "ReportLevel": 0,
  "Schedule": "/Date(1670414368057+0500)/"
}

 

SendSMSExWithToken:

Rozšíření posílání SMS s tokenem pro autorizaci

•Url: <bázová URL>/SendSMSExWithToken

•Metoda: POST

•Request

oAtributy viz SendSMSEx + navíc

▪Token (string) ... Token pro autorizaci

•Ostatní analogické s SendSMSEx

SendSMSWithToken2:

Rozšíření posílání SMS s tokenem pro autorizaci verze 2 (zjednodušená návratová hodnota - string)

•Url: <bázová URL>/SendSMSExWithToken2

•Response: Description ze standardní odpovědi (pouze string)

•Ostatní stejné jako SendSMSExWithToken

ReadMessages:

Načtení záznamů z fronty zpráv

•Url: <bázová URL>/ReadMessages?applicationName={applicationName}&maxRecordsCount={maxRecordsCount}

•Metoda: GET

•Request

oAtributy v URL

▪applicationName (string) ... Název aplikace - NEPOUŽITO

▪maxRecodsCount (int) ... Maximální počet záznamů k načtení - velikost dávky

•Response

oAtributy

▪Messages (IncomingMessage) ... Seznam příchozích zpráv

▪Atributy IncomingMessage

•Id (long) ... TODO

•Type (IncomingMessageType) ... TODO Vychází ze statusu zprávy viz MX_SMS_SEND_STATUS

•SmsType (SmsType) ... Typ zprávy (TextMessage = 0, Binary = 1, MMS = 2, DataSms = 4)

•UserApplicationId (long) ... TODO je vyplněno pouze u zpráv přijatých přes O2 Premium SMS ovladač, popis a formát je zde UMS/Funkční_specifikace/MobilChange#Premium_sms_rec.231050

•LineName (string) ... TODO

•MessageText (string) ... TODO

•MessageBinary (string) ... TODO PDU u binárních příchozích sms u textových příchozích zde může být header z pdu ve formátu např.: header:050003020201_header:050003020202 (vícedílná sms)

•FromNumber (string) ... TODO

•ToNumber (string) ... TODO

•RecordTime (DateTime) ... RecordTime nebo DateTime.MinValue.ToUniversal() ve formátu "/Date(<unix_expoch_ms>)/" (pro MinValue bude záporné číslo)

•Operator (string) ... ID zdrojového operátora

oPříklad

{"Messages": [
      {
      "FromNumber": "666555444",
      "Id": 14,
      "LineName": "LINE1",
      "MessageBinary": null,
      "MessageText": "Ahoj došla",
      "Operator": null,
      "RecordTime": "/Date(-62135596800000)/",
      "SmsType": 0,
      "ToNumber": "777222333",
      "Type": 10,
      "UserApplicationId": 0
   },
      {
      "FromNumber": "666555444",
      "Id": 15,
      "LineName": "LINE1",
      "MessageBinary": null,
      "MessageText": "Ahoj došla",
      "Operator": null,
      "RecordTime": "/Date(-62135596800000)/",
      "SmsType": 0,
      "ToNumber": "777222333",
      "Type": 10,
      "UserApplicationId": 0
   }
]}

 

ReadMessagesWithToken:

Načtení záznamů z fronty zpráv s tokenem pro autorizaci

•Url: <bázová URL>/ReadMessagesWithToken?applicationName={applicationName}&maxRecordsCount={maxRecordsCount}&token={token}

•Metoda: GET

•Request

oAtributy v URL

▪applicationName (string) ... Název aplikace

▪maxRecodsCount (int) ... Maximální počet záznamů k načtení - velikost dávky

▪token (string) ... Token pro autorizaci

ConfirmMessages:

Potvrzení převzetí zpráv získaných metodou #ReadMessages

•Url: <bázová URL>/ConfirmMessages

•Metoda: POST

•Request

oAtributy

▪MessageIdentificators (pole long) ... Identifikátory zpráv

oPříklad požadavku

{
  "MessageIdentificators": [ 33, 34 ]
}

 

ConfirmMessagesWithToken:

Potvrzení převzetí zpráv získaných metodou #ReadMessages s tokenem pro authorizaci

•Url: <bázová URL>/ConfirmMessagesWithToken

•Metoda: POST

•Request

oAtributy

▪MessageIdentificators (pole long) ... Identifikátory zpráv

▪Token (string) ... Token pro autorizaci

oPříklad požadavku

{
  "MessageIdentificators": [ 33, 34 ],
  "Token": "abcdef"
}

 

GetLineNames:

Vrátí seznam linek MX

•Url: <bázová URL>/GetLineNames

•Metoda: GET

•Request

oAtributy - žádní

•Response

oSeznam linek jako pole řetězců nebo prázdný JSON

oPříklad

[
   "A",
   "B"
]

 

GetLineNamesWithToken:

Vrátí seznam linek MX (varianta s tokenem pro autorizaci)

•Url: <bázová URL>/GetLineNamesWithToken?token={token}

•Metoda: GET

•Request

oAtributy v URL

▪token (string) ... Token pro autorizaci

•Response

oSeznam linek jako pole řetězců nebo prázdný JSON

oPříklad

[
   "A",
   "B"
]

 

GetSentMessagesInfo:

Vrátí počet zpráv na lince v určitém statusu

•Url: <bázová URL>/GetSentMessagesInfo?lineName={lineName}&status={status}

•Metoda: GET

•Request

oAtributy v URL

▪lineName (string) ... Název linky

▪status (int) ... Status zprávy MX SMS SEND STATUS, pozor - některé statusy nemusí znát (nebyly domimplementovány) -> pak může vracet nesprávné hodnoty.

•Response

oPočet zpráv (int)

oPříklad

0

 

GetSentMessagesInfoWithToken:

Vrátí počet zpráv na lince v určitém statusu (varianta s token autorizací

•Url: <bázová URL>/GetSentMessagesInfoWithToken?lineName={lineName}&status={status}&token={token}

•Metoda: GET

•Request

oAtributy v URL

▪lineName (string) ... Název linky

▪status (int) ... Status zprávy MX SMS SEND STATUS, pozor - některé statusy nemusí znát (nebyly domimplementovány) -> pak může vracet nesprávné hodnoty.

▪token (string) ... Token pro autorizaci

•Response

oPočet zpráv (int)

oPříklad

0