Specyfikacja wysyłek marketingowych v1.10 1
Historia zmian: Al. Jerozolimskie 81 Data Autor Opis 05-07-2013 Olga Krygier-Zawistowska Dodano przykład w PHP 2
Specyfikacja komunikacji Al. Jerozolimskie 81 Zadaniem systemu jest przekazywanie wiadomości marketingowych w kierunku od dostawcy do klienta (komórka). Teleaudio wystawia skrypt na który będą przesyłane dane za pomocą HTTP Post. Dokument XML powinien być przekazany w parametrze xmlmsg metody POST. Jeden przesłany dokument może zawierać wiele wiadomości SMS. Uwaga: Adres URL w atrybucie link elementu <att> powinien być unikalny jeśli ten sam adres zostanie przesłany więcej niż raz, system Teleaudio pobierze go z cache a, nie z serwera Partnera. <data> <msisdn id="12339864">500500500</msisdn> <! - gdzie: msisdn - numer telefonu klienta w formacie 9 cyfrowym, id - unikalny identyfikator wiadomości po stronie partnera Możliwe jest użycie do 100 elementów msisdn. <la>sms INFO</la> <! - numer/nadpis (max. 11 znaków) za pomocą którego ma być wysłana wiadomość <msg>tresc sms</msg> treść wiadomości (max długość = 900 znaków) <requestsentreport>true</requestsentreport> <! wymóg raportów wysłania wiadomości, dopuszczalne wartości: true dla każdej wiadomości wysłanie zostanie raport z wysyłki onerror raport zostanie wysłany tylko dla wiadomości odrzuconych <requestdeliveryreport>true</requestdeliveryreport> <! wymóg raportów dostarczenia wiadomości </data> 3
Przykład: <data> <msisdn id="43339864">608309300</msisdn> <la>smsinfo</la> <msg>zapraszamy do naszego sklepu z tym sms promocyjnym</msg> <requestsentreport>true</requestsentreport> <requestdeliveryreport>true</requestdeliveryreport> </data> W odpowiedzi serwer Teleaudio będzie odsyłał http 200 jeśli poprawnie uda się umieścić smsy w kolejce do wysłania. Aplikacja odbierająca może zwrócić następujące błędy http 500 + ERROR: XML PARSING http 500 + ERROR: Your request was not recognized http 401 http 500 + ERROR odebrany dokument XML nie jest poprawny i został odrzucony przez parser XML klient dostaje się pod zły adres błąd autoryzacji wystąpił wewnętrzny błąd w aplikacji odbierającej Zabezpieczenie przez zduplikowanymi wiadomościami System SRM przekazuje wiadomości do DeDuplikatora systemu sprawdzającego czy w przeciągu ostatnich kilkunastu minut, nie były przez Partnera wysyłane wiadomości o takim samym id na ten sam numer telefonu (msisdn). Jeśli zdarzy się taka sytuacja, zduplikowana wiadomość nie zostanie dostarczona na telefon komórkowy. Mimo to SRM odpowie na xml owy request wartością true w elemencie accepted (jeśli tylko request będzie prawidłowy). Żądania wysyłki należy kierować na adres: http://srm.teleaudio.pl/srm_v2/partner/send.aspx?ver=ext 4
Serwer Teleaudio po otrzymaniu takiego żądania zwraca raport z informacjami o statusie. <response> <accepted>true/false</accepted> status dalszego przetwarzania, true znaczy że TA podejmie próbę dostarczenia wiadomości do operatora. <guid>baf6d036-d92b-4fe7-a159-aed5448a8847</guid> identyfikator wiadomości nadany przez system TA <id>25346782</id> identyfikator wiadomości partnera, której dotyczy status <reason>powód odrzucenia</reason> tekstowy opis powodu odrzucenia wiadomości pojawia się tylko w przypadku błędu </response> Przykład: <response> <accepted>true</accepted> <guid>abf6d036-c92b-4je7-a159-aem5448a8847</guid> <id>124525734</id> <reason>delivery failed</reason> </response> 5
Przykład w PHP // --- create required variables $id = '12345'; $la = '4455'; $msisdn = '600972393'; $msg = 'TEST'; // ----- create xmlmsg body $xml = '<?xml version="1.0" encoding="utf-8"?><data> <msisdn id="'. $id. '">'. $msisdn.'</msisdn> <la>'. $la. '</la><msg>'. $msg. '</msg></data>'; // ----- $fields = array('xmlmsg' => urlencode($xml)); $url = 'http://srm.teleaudio.pl/srm_v2/partner/send.aspx?ver=ext'; foreach($fields as $key=>$value) { $fields_string.= $key.'='.$value.'&'; } rtrim($fields_string,'&'); $ch = curl_init(); curl_setopt($ch, CURLOPT_USERAGENT, "partner.domain system" ); curl_setopt($ch,curlopt_url,$url); curl_setopt($ch,curlopt_post,count($fields)); curl_setopt($ch,curlopt_postfields,$fields_string); curl_setopt($ch,curlopt_returntransfer,1); $result = curl_exec($ch); $info = curl_getinfo($ch); curl_close($ch); print '<b>result:</b> <pre>'. print_r($result,1). '</pre><br >'; print '<b>info:</b> <pre>'. print_r($info,1). '</pre><br >'; 6
Informacje wymagane do skonfigurowania połączenia Al. Jerozolimskie 81 Następujące dane są wymagane: 1) Adres IP, z którego Partner wysyła żądania 2) Adres URL, na który Teleaudio będzie wysyłać wiadomości 3) Nazwisko i dane kontaktowe osoby po stronie Partnera, odpowiedzialnej za kwestie techniczne Uwaga: Teleaudio wysyła żądania z następującego adresu IP: 195.8.220.0/23 Kontakt techniczny: programisci@teleaudio.pl Przygotowali: Olga Krygier-Zawistowska Email: olga.krygier-zawistowska@teleaudio.pl Tel.: +48 22 244 40 41 Artur Aksamit Email: artur.aksamit@teleaudio.pl Tel.: +48 22 244 40 46 7