SMS Gateway HTTP GET/POST rozhraní je určeno pro jednoduchou komunikaci mezi klientem a SMS bránou.
Ukázka jednoduché implementace HTTP GET/POST API: GitHub – smsgw-demo-apps
Zabezpečení
Komunikace probíhá protokolem HTTPS a kient se přihlašuje certifikátem.
Protokol
S bránou je možno komunikovat příkazy HTTP protokolu GET a POST. Příkazy GET a POST se liší pouze způsobem předávaní dat. Příkaz GET je navíc omezen na délku parametrů.
Označení parametrů:
x povinný
o nepovinný
– nepodporovaný
Požadavek
Parametry jsou posílány standardně dle specifikace metody GET nebo POST HTTP protokolu.
parametr | send | receive | confirm | délka | popis | výchozí hodnota |
---|---|---|---|---|---|---|
action | x | x | x | send – poslat textovou SMS receive – vyzvednutí SMS confirm – potvrzení vyzvednuté SMS | ||
baID | x | x | x | identifikace Business Application | ||
toNumber | x | – | – | cílové číslo ve formátu +420123456789 | ||
text | x | – | – | text SMS | ||
msgID | o | – | – | identifikace SMS | ||
deliveryReport | o | – | – | TRUE – z doručenkou FALSE – bez doručenky | TRUE | |
intruder | o | – | – | TRUE – SMS se zobrazí ihned FALSE – standardní SMS | FALSE | |
multipart | o | – | – | TRUE – delší SMS se rozdělí na více částí, max 900 znaků FALSE – standardní SMS, max 160 znaků | FALSE | |
suffix | o | – | – | BA Suffix number | ||
validityPeriod | o | – | – | počet sekund, jak dlouho se bude SMS snažit doručit příjemci | ||
priority | o | – | – | 1 – VIP 2 – vysoká 3 – normální | ||
refMsgID | – | – | x | msgID potvrzované SMS | ||
refBaID | – | – | x | baID potvrzované SMS | ||
fromNumber | o | – | – | odchozí číslo |
Odpověď
Parametry odpovědi jsou zasílány v těle odpovědi ve formátu: název=hodnota<nový řádek>
parametr | send | receive | confirm | délka | popis |
---|---|---|---|---|---|
selector | x | x | x | TextSms – příchozí textová SMS BinarySms – příchozí binární SMS Response – status report (doručenka) |
|
baID | x | x | x | identifikace Business Application | |
refMsgID | x | o | x | msgID potvrzované SMS | |
fromNumber | – | o | – | odchozí číslo ve formátu +420123456789 | |
toNumber | – | x | – | příchozí číslo | |
timestamp | x | x | x | čas generování odpovědi | |
text | – | o | – | text SMS | |
responseType | x | o | x | typ odpovědi | |
responseCode | x | o | x | návratový kód | |
responseDescription | x | o | x | popis responseCode | |
data | – | o | – | binární SMS v hexa formátu | |
header | – | o | – | hlavíčka SMS v hexa formátu | |
dataCodingScheme | – | o | – | data coding scheme pro binární SMS | |
protocolIdentifier | o | o | – | identifikator SMS zprávy (0 – 255) |
Návratové kódy
typ | kód | popis |
---|---|---|
APPL_ERROR | EAPP_003 | BaID neni aktivni – EAPP_003 – BaID is not active |
APPL_ERROR | EAPP_019 | Zprava zaslana po terminu platnosti zkusebniho rezimu – EAPP_019 – Trial period has expired |
APPL_ERROR | EAPP_020 | Pocet zprav ve zkusebnim rezimu vycerpan – EAPP_020 – No. of messages in trial mode exceeded |
APPL_ERROR | EAPP_023 | Prekrocen maximalni pocet zprav, ktere je mozne zaslat v jednom mesici – EAPP_023 – Maximum quota of messages per month exceeded |
APPL_ERROR | EAPP_024 | Prekrocen maximalni pocet zprav, ktere je mozne zaslat behem jednoho dne – EAPP_024 – Maximum quota of messages per day exceeded |
APPL_ERROR | EAPP_025 | Zprava potvrzovana pres pozadavek Confirm neni k dispozici – EAPP_025 – No message found for Confirm request |
APPL_ERROR | EAPP_037 | Limit zprav cekajicich na potvrzeni prijeti prekrocen – EAPP_037 – Too many messages waiting for confirmation |
APPL_ERROR | EAPP_050 | Maximalni limit soucasnych pozadavku prekrocen – EAPP_050 – Maximum number of concurrent requests exceeded |
APPL_ERROR | EAPP_051 | Nadlimitni pocet soucasnych pozadavku na potvrzeni prijeti zpravy EAPP_051 – Too many concurrent confirm requests |
APPL_ERROR | EAPP_052 | Nadlimitni pocet soucasnych pozadavku na prijeti zpravy – EAPP_052 – Too many concurrent receive requests |
APPL_ERROR | EAPP_053 | Nadlimitni pocet soucasnych pozadavku na zaslani zpravy – EAPP_053 – Too many concurrent send requests |
APPL_ERROR | EAPP_060 | Aplikace neni opravnena pouzivat cislo MSISDN v poli fromNumber – EAPP_060 – Application is not authorised to use MSISDN number in fromNumber field |
APPL_ERROR | EAPP_101 | Zprava musi byt potvrzena pres stejne rozhrani, pres jake byla prijata – EAPP_101 – Message must be confirmed via same interface through which it was received |
AUTHORIZATION_ERROR | EAUT_001 | Neplatny certifikat – EAUT_001 – Invalid certificate |
AUTHORIZATION_ERROR | EAUT_002 | ID neni platne nebo není autorizovano pro certifikat – EAUT_002 – BA ID not valid or not authorised for certificate |
AUTHORIZATION_ERROR | EAUT_003 | Ref BA ID neni autorizovano pro certifikat – EAUT_003 – Ref BA ID not authorised for certificate |
FORMAT_ERROR | EFMT_004 | Neplatny identifikator zpravy – EFMT_004 – Invalid message ID |
FORMAT_ERROR | EFMT_005 | Neplatna priorita zpravy – EFMT_005 – Invalid message priority |
FORMAT_ERROR | EFMT_006 | Nesoulad cisla fromNumber s BA ID – EFMT_006 – Invalid fromNumber (mismatch with BA ID) |
FORMAT_ERROR | EFMT_007 | Neplatny format MSISDN cisla prijemce – EFMT_007 – Invalid recipient MSISDN number format |
FORMAT_ERROR | EFMT_008 | Neznama hodnota pole Selector – EFMT_008 – Unknown Selector value |
FORMAT_ERROR | EFMT_009 | Prilis dlouhy sufix zpravy – EFMT_009 – Message suffix too long |
FORMAT_ERROR | EFMT_010 | Neplatny format MSISDN cisla fromNumber – EFMT_010 – Invalid MSISDN number format of fromNumber |
FORMAT_ERROR | EFMT_011 | Sufix zpravy musi byt ciselna hodnota – EFMT_011 – Message suffix must be numeric |
FORMAT_ERROR | EFMT_012 | Jen jedno z poli suffix a fromNumber muze byt vyplneno – EFMT_012 – Only one of the suffix and fromNumber fields might be filled in |
FORMAT_ERROR | EFMT_013 | Neplatna hodnota pole Report Level / Delivery Report – EFMT_013 – Invalid Report Level / Delivery Report |
FORMAT_ERROR | EFMT_016 | Neplatny format pole Validity period – EFMT-016 – Incorrect message validity format |
FORMAT_ERROR | EFMT_025 | SMS nemuze byt soucasne poslana jako multipart a intruder – EFMT_025 – SMS cannot be sent as multipart and intruder at the same time. |
FORMAT_ERROR | EFMT_026 | Nepripustna delka zpravy – EFMT_026 – Message too long |
FORMAT_ERROR | EFMT_032 | Pole BA ID je prazdne – EFMT_032 – BA ID empty |
FORMAT_ERROR | EFMT_034 | Zprava neobsahuje zadny text – EFMT_034 – Text message empty |
FORMAT_ERROR | EFMT_035 | Neplatny pozadavek – EFMT_035 – Bad Request |
FORMAT_ERROR | EFMT_101 | Neplatna hodnota pole Intruder – EFMT_101 – Invalid intruder format |
FORMAT_ERROR | EFMT_102 | Neplatna hodnota pole multipart – EFMT_102 – Invalid multipart format |
FORMAT_ERROR | EFMT_105 | Text zpravy obsahuje nepodporovane znaky – EFMT_105 – SMS text contains unsupported characters |
FORMAT_ERROR | EFMT_106 | Neplatna hodnota pole data coding scheme – EFMT_106 – Invalid data coding scheme |
FORMAT_ERROR | EFMT_121 | Neplatna hodnota pole protocolIdentifier – EFMT_121 – Invalid protocolIdentifier value |
INTERNAL_ERROR | EINT_005 | Zprava zamitnuta SMSC/MMSC – EINT_005 – Message rejected by SMSC/MMSC2 |
INTERNAL_ERROR | EINT_012 | Chyba – Zprava nedorucena z technickych duvodu – EINT_012 – Message not delivered for technical reasons |
INTERNAL_ERROR | EINT_102 | Zprava nedorucena z technickych duvodu – EINT_102 – Message not delivered for technical reasons |
SUCCESS | ISUC_001 | Pozadavek Send uspesne zpracovan – ISUC_001 – Send request successfully processed |
SUCCESS | ISUC_002 | Pozadavek Confirm uspesne zpracovan – ISUC_002 – Confirm request successfully processed |
SUCCESS | ISUC_005 | Zprava byla dorucena – ISUC_005 – Message delivered |
SUCCESS | ISUC_006 | Zprava nebyla dorucena – ISUC_006 – Message delivery failed |
SUCCESS | ISUC_010 | Zprava byla dorucena na SMSC/MMSC – ISUC_010 – Message forwarded to SMSC/MMSC |