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