{"id":23833,"date":"2021-06-30T09:44:20","date_gmt":"2021-06-30T07:44:20","guid":{"rendered":"https:\/\/www.smsapi.pl\/blog\/?p=23833"},"modified":"2024-04-03T17:09:05","modified_gmt":"2024-04-03T15:09:05","slug":"api-smsapi-od-podstaw-odbieranie-sms-online","status":"publish","type":"post","link":"https:\/\/www.smsapi.pl\/blog\/podstawy\/api-smsapi-od-podstaw-odbieranie-sms-online\/","title":{"rendered":"API SMSAPI od podstaw \u2013 odbieranie SMS online #02"},"content":{"rendered":"\n<p><strong>W poprzednim artykule z serii \u201eAPI SMSAPI od podstaw\u201d opisa\u0142em metod\u0119, jak\u0105 mo\u017cna wykorzysta\u0107, aby wys\u0142a\u0107 SMS online przez Panel Klienta SMSAPI. W tym artykule chcia\u0142bym poruszy\u0107 temat odwrotny: jak za pomoc\u0105 systemu informatycznego odebra\u0107 SMS wys\u0142any przez klienta?<\/strong><\/p>\n\n\n\n<!--more-->\n\n\n\n<div class=\"wp-block-buttons is-content-justification-center is-layout-flex wp-container-core-buttons-is-layout-16018d1d wp-block-buttons-is-layout-flex\">\n<div class=\"wp-block-button is-style-secondary\"><a class=\"wp-block-button__link wp-element-button\" href=\"https:\/\/www.smsapi.pl\/docs\/\"><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-white-color\">Dokumentacja SMSAPI<\/mark><\/a><\/div>\n<\/div>\n\n\n\n<p>To jest <strong>druga cze\u015b\u0107 poradnika programisty<\/strong> SMSAPI. Je\u017celi szukasz bardziej podstawowej wiedzy zapraszam do lektury wprowadzenia w wykorzystanie API do wysy\u0142ki <a href=\"https:\/\/www.smsapi.pl\/kampanie-sms\">kampanii SMS<\/a>.<\/p>\n\n\n\n<figure class=\"wp-block-embed is-type-wp-embed is-provider-blog-smsapi wp-block-embed-blog-smsapi\"><div class=\"wp-block-embed__wrapper\">\n<blockquote class=\"wp-embedded-content\" data-secret=\"61pRiRRKuZ\"><a href=\"https:\/\/www.smsapi.pl\/blog\/podstawy\/api-smsapi-od-podstaw-poradnik\/\">API SMSAPI od podstaw \u2013 poradnik programisty #01<\/a><\/blockquote><iframe loading=\"lazy\" class=\"wp-embedded-content\" sandbox=\"allow-scripts\" security=\"restricted\" style=\"position: absolute; clip: rect(1px, 1px, 1px, 1px);\" title=\"&#8222;API SMSAPI od podstaw \u2013 poradnik programisty #01&#8221; &#8212; Blog SMSAPI\" src=\"https:\/\/www.smsapi.pl\/blog\/podstawy\/api-smsapi-od-podstaw-poradnik\/embed\/#?secret=AMPaRq0L3L#?secret=61pRiRRKuZ\" data-secret=\"61pRiRRKuZ\" width=\"600\" height=\"338\" frameborder=\"0\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"no\"><\/iframe>\n<\/div><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Od firm coraz cz\u0119\u015bciej oczekujemy interakcji, a nie jedynie informacji<\/h2>\n\n\n\n<p>My\u015bl\u0119, \u017ce w przypadku obs\u0142ugi klienta taka potrzeba istnia\u0142a zawsze, ale dopiero od niedawna popularne technologie zacz\u0119\u0142y na ni\u0105 odpowiada\u0107. Narz\u0119dziem, kt\u00f3re jako pierwsze kojarzy si\u0119 z tak\u0105 interakcj\u0105 jest Facebook Messenger. <a href=\"https:\/\/www.smsapi.pl\/whatsapp\">WhatsApp<\/a> do\u0142\u0105czy\u0142 do tego grona daj\u0105c partnerom (i w konsekwencji firmom) dost\u0119p do swojego biznesowego API, a wcze\u015bniej b\u0105d\u017a p\u00f3\u017aniej tym tropem posz\u0142y r\u00f3wnie\u017c inne komunikatory popularne (Viber czy Telegram) w r\u00f3\u017cnych cz\u0119\u015bciach \u015bwiata.<\/p>\n\n\n\n<p>Wykorzystuj\u0105c interfejs programistyczny jeste\u015bmy w stanie prowadzi\u0107 dialog z u\u017cytkownikiem. Pierwszym przyk\u0142adem, kt\u00f3ry przychodzi mi na my\u015bl jest komunikacja w Biurze Obs\u0142ugi Klienta. Wyobra\u017amy sobie tak\u0105 sytuacj\u0119: konsument pisze z firm\u0105 przez WhatsApp. Po drugiej stronie, za kilkoma systemami po\u015brednicz\u0105cymi, jak\u0105\u015b wtyczk\u0105 i platform\u0105 customer service, za monitorem i klawiatur\u0105 odpowiada pracownik.<\/p>\n\n\n\n<p>Pi\u0119kne s\u0105 tutaj dwie rzeczy: fakt, \u017ce <strong>klient u\u017cywa apki, kt\u00f3r\u0105 zna i ma zainstalowan\u0105 na swoim telefonie<\/strong> oraz <strong>u\u0142atwienie pracy dzia\u0142u BOK<\/strong> \u2013 tutaj te\u017c osoba pisze wykorzystuj\u0105c sw\u00f3j dobrze znany interfejs. Prosty proces nie tylko usprawnia obs\u0142ug\u0119 zapyta\u0144, a tak\u017ce zapewnia porz\u0105dek w BOK.<\/p>\n\n\n\n<div class=\"wp-block-smsapi-blog-2021-infobox infobox infobox--info post-content--full-width\"><div class=\"infobox__icon\"><img decoding=\"async\" src=\"data:image\/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcKICAgd2lkdGg9IjEwMCUiCiAgIGhlaWdodD0iMTAwJSIKICAgdmlld0JveD0iMCAwIDEyIDE2IgogICBjbGlwLXJ1bGU9ImV2ZW5vZGQiCiAgIHhtbDpzcGFjZT0icHJlc2VydmUiCiAgIHZlcnNpb249IjEuMSIKICAgaWQ9InN2ZzYzIgogICB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgogIDxwYXRoCiAgICBzdHlsZT0iZmlsbDogcmdiKDE3LCAxOTIsIDEyOCk7IGZpbGwtcnVsZTogbm9uemVybzsiCiAgIGQ9Im03LjUxNDA1LDExbC0zLDBjMCwtMyAxLjYsLTQgMi43LC00LjZjMC40LC0wLjIgMC43LC0wLjQgMC45LC0wLjZjMC41LC0wLjUgMC4zLC0xLjIgMC4yLC0xLjRjLTAuMywtMC43IC0xLC0xLjQgLTIuMywtMS40Yy0yLjEsMCAtMi41LDEuOSAtMi41LDIuM2wtMywtMC40YzAuMiwtMS43IDEuNywtNC45IDUuNSwtNC45YzIuMywwIDQuMywxLjMgNS4xLDMuMmMwLjcsMS43IDAuNCwzLjUgLTAuOCw0LjdjLTAuNSwwLjUgLTEuMSwwLjggLTEuNiwxLjFjLTAuOSwwLjUgLTEuMiwxIC0xLjIsMnoiCiAgIGlkPSJwYXRoNTkiIC8+CiAgPHBhdGgKICAgIHN0eWxlPSJmaWxsOiByZ2IoMTcsIDE5MiwgMTI4KTsgZmlsbC1ydWxlOiBub256ZXJvOyIKICAgZD0ibTgsMTRjMCwxLjEwNSAtMC44OTUsMiAtMiwyYy0xLjEwNSwwIC0yLC0wLjg5NSAtMiwtMmMwLC0xLjEwNSAwLjg5NSwtMiAyLC0yYzEuMTA1LDAgMiwwLjg5NSAyLDJ6IgogICBpZD0icGF0aDYxIiAvPgo8L3N2Zz4K\"\/><\/div><div class=\"infobox__title\"><h4>Conversational Messaging definicja<\/h4><\/div><div class=\"infobox__content\">\n<p>Komunikacja konwersacyjna (Conversational Messaging) oznacza interakcj\u0119 jeden na jeden pomi\u0119dzy klientem i biznesem za pomoc\u0105 r\u00f3\u017cnorodnych kana\u0142\u00f3w komunikacyjnych. Na zapytania mo\u017ce odpowiada\u0107 zar\u00f3wno pracownik biura obs\u0142ugi klienta, jak i bot czy zaplanowany skrypt.<\/p>\n<\/div><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Do brzegu, gdzie ten odbi\u00f3r SMS?<\/h2>\n\n\n\n<p>SMSAPI zapewnia narz\u0119dzia, kt\u00f3re pomog\u0105 Ci wykorzysta\u0107 moc SMS-a do wdro\u017cenia komunikacji dwustronnej. Kr\u00f3tko m\u00f3wi\u0105c, Ty b\u0119dziesz m\u00f3g\u0142 napisa\u0107 o czym\u015b klientowi, a klient b\u0119dzie m\u00f3g\u0142 odpowiedzie\u0107. <\/p>\n\n\n\n<figure class=\"wp-block-embed is-type-wp-embed is-provider-blog-smsapi wp-block-embed-blog-smsapi\"><div class=\"wp-block-embed__wrapper\">\n<blockquote class=\"wp-embedded-content\" data-secret=\"4JIi3TOtPU\"><a href=\"https:\/\/www.smsapi.pl\/blog\/wiedza\/sms-badanie-lojalnosci-nps\/\">SMS badanie lojalno\u015bci klient\u00f3w: sprawd\u017a wska\u017anik NPS (Net Promoter Score)<\/a><\/blockquote><iframe loading=\"lazy\" class=\"wp-embedded-content\" sandbox=\"allow-scripts\" security=\"restricted\" style=\"position: absolute; clip: rect(1px, 1px, 1px, 1px);\" title=\"&#8222;SMS badanie lojalno\u015bci klient\u00f3w: sprawd\u017a wska\u017anik NPS (Net Promoter Score)&#8221; &#8212; Blog SMSAPI\" src=\"https:\/\/www.smsapi.pl\/blog\/wiedza\/sms-badanie-lojalnosci-nps\/embed\/#?secret=L03wwZtsCy#?secret=4JIi3TOtPU\" data-secret=\"4JIi3TOtPU\" width=\"600\" height=\"338\" frameborder=\"0\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"no\"><\/iframe>\n<\/div><\/figure>\n\n\n\n<p>\u015awietnym przyk\u0142adem jest modu\u0142 <a href=\"https:\/\/www.smsapi.pl\/ankiety-i-glosowania\" class=\"ek-link\">Ankiety i g\u0142osowania<\/a>, kt\u00f3ry wykorzystuj\u0105c <a href=\"https:\/\/www.smsapi.pl\/dwukierunkowa-komunikacja-sms\" class=\"ek-link\">dwukierunkow\u0105 komunikacj\u0119 SMS<\/a> pozwala na prowadzanie bada\u0144. Cz\u0119sto mo\u017cemy je spotka\u0107 w telewizji albo radio. Nasz rz\u0105d te\u017c doskonale zna zalety SMS-\u00f3w, wykorzystuje je mi\u0119dzy innymi do zapis\u00f3w na szczepienia przeciw COVID.<\/p>\n\n\n\n<p>W jednym z wcze\u015bniejszych artyku\u0142\u00f3w opisywa\u0142em <strong>pomiar wska\u017anika NPS<\/strong>. SMS jest doskona\u0142ym narz\u0119dziem do przeprowadzenia badania satysfakcji klient\u00f3w. Ca\u0142y czas jestem pod wielkim wra\u017ceniem mo\u017cliwo\u015bci i prostoty tego rozwi\u0105zania (no i wyniku, ale nie wypada mi chyba ca\u0142y czas o tym wspomina\u0107, wi\u0119c tego nie zrobi\u0119\u2026).<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Wi\u0119cej o odbiorze SMS-\u00f3w od klient\u00f3w<\/h3>\n\n\n\n<figure class=\"wp-block-embed is-type-wp-embed is-provider-blog-smsapi wp-block-embed-blog-smsapi\"><div class=\"wp-block-embed__wrapper\">\n<blockquote class=\"wp-embedded-content\" data-secret=\"K7t3em5RJo\"><a href=\"https:\/\/www.smsapi.pl\/blog\/wiedza\/odbior-sms-firma\/\">Odbi\u00f3r SMS \u2013 poznaj odbieranie wiadomo\u015bci SMS od klient\u00f3w<\/a><\/blockquote><iframe loading=\"lazy\" class=\"wp-embedded-content\" sandbox=\"allow-scripts\" security=\"restricted\" style=\"position: absolute; clip: rect(1px, 1px, 1px, 1px);\" title=\"&#8222;Odbi\u00f3r SMS \u2013 poznaj odbieranie wiadomo\u015bci SMS od klient\u00f3w&#8221; &#8212; Blog SMSAPI\" src=\"https:\/\/www.smsapi.pl\/blog\/wiedza\/odbior-sms-firma\/embed\/#?secret=cKMBrrVUhI#?secret=K7t3em5RJo\" data-secret=\"K7t3em5RJo\" width=\"600\" height=\"338\" frameborder=\"0\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"no\"><\/iframe>\n<\/div><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Odbi\u00f3r SMS konfiguracja<\/h2>\n\n\n\n<p>W SMSAPI daje mo\u017cliwo\u015b\u0107 odbierania&nbsp;SMS. Dzieje si\u0119 to <strong>za pomoc\u0105 mechanizmu callback<\/strong>. Jako pierwszy krok, musisz zadba\u0107 o to, \u017ceby wys\u0142ane SMS trafia\u0142y na numer skojarzony z Twoim kontem (albo wsp\u00f3\u0142dzielony z innymi kontami za pomoc\u0105 prefiksu).<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"zarezerwuj-numer-odbiorczy-SMS\">Krok 1: Zarezerwuj numer odbiorczy SMS<\/h3>\n\n\n\n<p>Pierwsz\u0105 rzecz\u0105 jest <a href=\"https:\/\/ssl.smsapi.pl\/receive_register\" target=\"_blank\" rel=\"noopener\">zarezerwowanie numeru odbiorczego SMS<\/a>, kt\u00f3rego zamierzasz u\u017cywa\u0107. Dysponujesz pul\u0105 <strong>numer\u00f3w d\u0142ugich<\/strong> (9 cyfr), <strong>kr\u00f3tkich<\/strong> (4 lub 5 cyfr) oraz przeznaczonymi na potrzeby kampanii zagranicznych. <\/p>\n\n\n\n<p>Wyb\u00f3r zale\u017cy od konkretnego przypadku i je\u015bli decyzja nie jest jasna, zawsze mo\u017cesz zadzwoni\u0107 do naszego Biura Obs\u0142ugi Klienta, kt\u00f3re na pewno doradzi Ci najlepsz\u0105 na \u015bwiecie opcj\u0119.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"880\" height=\"350\" src=\"https:\/\/www.smsapi.pl\/blog\/wp-content\/uploads\/2021\/06\/smsapi-krotki-numer-sms.png\" alt=\"SMS API zarezerwuj kr\u00f3tki numer SMS do odbioru\" class=\"wp-image-29614\" style=\"width:650px;height:undefinedpx\" srcset=\"https:\/\/www.smsapi.pl\/blog\/wp-content\/uploads\/2021\/06\/smsapi-krotki-numer-sms.png 880w, https:\/\/www.smsapi.pl\/blog\/wp-content\/uploads\/2021\/06\/smsapi-krotki-numer-sms-300x119.png 300w, https:\/\/www.smsapi.pl\/blog\/wp-content\/uploads\/2021\/06\/smsapi-krotki-numer-sms-730x290.png 730w, https:\/\/www.smsapi.pl\/blog\/wp-content\/uploads\/2021\/06\/smsapi-krotki-numer-sms-150x60.png 150w, https:\/\/www.smsapi.pl\/blog\/wp-content\/uploads\/2021\/06\/smsapi-krotki-numer-sms-768x305.png 768w, https:\/\/www.smsapi.pl\/blog\/wp-content\/uploads\/2021\/06\/smsapi-krotki-numer-sms-700x278.png 700w\" sizes=\"auto, (max-width: 880px) 100vw, 880px\" \/><figcaption class=\"wp-element-caption\">Zarezerwuj numer odbiorczy SMS w Panelu Klienta SMSAPI<\/figcaption><\/figure>\n<\/div>\n\n\n<p>Na tej stronie mo\u017cesz wybra\u0107 i skonfigurowa\u0107 parametry numeru do odbioru SMS-\u00f3w. Wszystkie wiadomo\u015bci przes\u0142ane przez klient\u00f3w b\u0119d\u0105 dost\u0119pne w Panelu.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"aktywacja-numeru-odbiorczego-SMS\">Krok 2: Aktywacja numeru odbiorczego SMS<\/h3>\n\n\n\n<p>Teraz mo\u017cesz p\u00f3j\u015b\u0107 po kaw\u0119, a nasze Biuro Obs\u0142ugi Klienta aktywuje wybrany przez Ciebie numer odbiorczy SMS.<\/p>\n\n\n\n<p>Ale miej pod r\u0119k\u0105 telefon, bo w zale\u017cno\u015bci od historii i aktywno\u015bci dotychczasowej wsp\u00f3\u0142pracy, mo\u017ce si\u0119 wydarzy\u0107, \u017ce kt\u00f3ra\u015b z kole\u017canek z BOK-u poprosi telefonicznie b\u0105d\u017a za pomoc\u0105 poczty e-mail o dodatkowe informacje. Przedstaw zamiary i cele odbioru SMS-\u00f3w, dzi\u0119ki temu b\u0119dzie w stanie lepiej doradzi\u0107 w r\u00f3\u017cnych obszarach, chocia\u017cby proponuj\u0105c inny typ numeru bardziej adekwatny do Twojej kampanii SMS.<\/p>\n\n\n\n<p>Sama aktywacja powinna nast\u0105pi\u0107 bardzo szybko. Mo\u017cesz za\u0142o\u017cy\u0107, \u017ce w godzinach pracy (poniedzia\u0142ek-pi\u0105tek, 08-17), ca\u0142\u0105 procedur\u0119 uda si\u0119 za\u0142atwi\u0107 w trzy kwadranse.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"przygotowanie-skryptu-ktory-bedzie-obslugiwal-odbiory-SMS\">Krok 3: Przygotowanie skryptu, kt\u00f3ry b\u0119dzie obs\u0142ugiwa\u0142 odbiory SMS<\/h3>\n\n\n\n<p>W ko\u0144cu troch\u0119 prawdziwego programowania! Ale te\u017c nie za du\u017co, akurat tyle, \u017ceby zd\u0105\u017cy\u0107 przed \u015bniadaniem. Zacznij od przygotowania skryptu obs\u0142uguj\u0105cego informacje przekazywane SMSAPI po zarejestrowaniu odebranej wiadomo\u015bci SMS. <\/p>\n\n\n\n<p><strong>Warunki, kt\u00f3re musi spe\u0142ni\u0107 skrypt do odbioru SMS:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>by\u0107 <strong>dost\u0119pny publicznie<\/strong> z internetu, a przynajmniej z adresu IP serwer\u00f3w SMSAPI,<\/li>\n\n\n\n<li>by\u0107 w stanie <strong>obs\u0142u\u017cy\u0107 pola z tablicy POST<\/strong>, wymienione w <a href=\"https:\/\/www.smsapi.pl\/docs\/#odbior-sms\">Dokumentacji<\/a>, kt\u00f3re b\u0119d\u0105 informowa\u0142y o szczeg\u00f3\u0142owych danych SMS-a przychodz\u0105cego,<\/li>\n\n\n\n<li>by\u0107 <strong>zarejestrowany do obs\u0142ugi callback\u00f3w<\/strong> przychodz\u0105cych w Panelu Klienta, ale o tym wi\u0119cej w nast\u0119pnym kroku.<\/li>\n<\/ul>\n\n\n\n<p>Konfiguracja webservera i interpretera PHP jest poza zakresem tego artyku\u0142u. Ja w moim laboratorium wykorzysta\u0142em nginx w dosy\u0107 standardowej konfiguracji z PHP w wersji 7.3.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Odbi\u00f3r SMS \u2013 PHP skrypt przyk\u0142adowy<\/h2>\n\n\n\n<pre class=\"wp-block-code language-php\"><code>&lt;?php\n\n$to = $_POST&#91;'sms_to'] ?? '';\n$from = $_POST&#91;'sms_from'] ?? '';\n$date = $_POST&#91;'sms_date'] ?? '';\n$content = $_POST&#91;'sms_text'] ?? '';\n\n$logTemplate = \"to: %s\\n\"\n    . \"from: %s\\n\"\n    . \"date: %s\\n\"\n    . \"content: %s\\n\";\n\n$log = sprintf($logTemplate, $to, $from, $date, $content);\n\n$file = fopen('callback-sms.log', 'a+');\nfwrite($file, $log);\nfwrite($file, str_repeat('-', 32) . PHP_EOL);\nfclose($file);\n\necho 'OK';<\/code><\/pre>\n\n\n\n<p>Celem tego skryptu jest zinterpretowanie danych, kt\u00f3re zostan\u0105 wys\u0142ane za pomoc\u0105 callbacka oraz zapisanie ich do pliku callback-sms.log.<\/p>\n\n\n\n<p>W pierwszej cz\u0119\u015bci skryptu zadeklarowane s\u0105 zmienne, kt\u00f3re b\u0119d\u0105 wy\u015bwietlane dalej. S\u0105 one od razu wype\u0142nione stosownymi elementami tablicy POST, kt\u00f3ra zostanie skryptowi przekazana wraz z tablic\u0105. Komplet zmiennych, kt\u00f3re przekazujesz z ka\u017cdym typem callback\u00f3w jest dost\u0119pny w <a href=\"https:\/\/www.smsapi.pl\/docs\/#10-odbiory-wiadomosci\">Dokumentacji<\/a>.<\/p>\n\n\n\n<div class=\"wp-block-smsapi-blog-2021-infobox infobox infobox--attention post-content--full-width\"><div class=\"infobox__icon\"><img decoding=\"async\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIiB2aWV3Qm94PSIwIDAgMTAgMTYiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgY2xpcC1ydWxlPSJldmVub2RkIiB4bWw6c3BhY2U9InByZXNlcnZlIiB2ZXJzaW9uPSIxLjEiPgogIDxwYXRoIGlkPSJzdmdfMSIgc3R5bGU9ImZpbGw6IHJnYigxNywgMTkyLCAxMjgpOyBmaWxsLXJ1bGU6IG5vbnplcm87IiBkPSJtMi45MTk2NCwwbDQsMGwwLDRsLTEsN2wtMiwwbC0xLC03bDAsLTR6Ii8+CiAgPHBhdGggaWQ9InN2Z18yIiBzdHlsZT0iZmlsbDogcmdiKDE3LCAxOTIsIDEyOCk7IGZpbGwtcnVsZTogbm9uemVybzsiIGQ9Im03LjAwODM3LDE0YzAsMS4xMDUgLTAuODk1LDIgLTIsMmMtMS4xMDUsMCAtMiwtMC44OTUgLTIsLTJjMCwtMS4xMDUgMC44OTUsLTIgMiwtMmMxLjEwNSwwIDIsMC44OTUgMiwyeiIvPgo8L3N2Zz4K\"\/><\/div><div class=\"infobox__title\"><h4>Uwaga na typy callback<\/h4><\/div><div class=\"infobox__content\">\n<p>Zwr\u00f3\u0107 szczeg\u00f3ln\u0105 uwag\u0119 na subtelne r\u00f3\u017cnice pomi\u0119dzy r\u00f3\u017cnymi typami callback\u00f3w. W przypadku callbacka z odbiorem tablica b\u0119dzie typu POST, ale w przypadku callbacka z raportem tablica b\u0119dzie ju\u017c typu GET.<\/p>\n<\/div><\/div>\n\n\n\n<p>Dalej definiujesz format, w kt\u00f3rym b\u0119dziesz logowa\u0107 informacje przes\u0142ane przez callback i przypisane do zmiennych. Nast\u0119pnie, w oparciu o ten format zmienna $log wype\u0142niana jest danymi do wy\u015bwietlenia.<\/p>\n\n\n\n<p>W kolejnym kroku zapisujesz dane do pliku callback-sms.log i <strong>wysy\u0142asz jako odpowied\u017a string \u201eOK\u201d<\/strong>, kt\u00f3rego SMSAPI oczekuje jako potwierdzenie. Koniecznie musi to by\u0107 \u201eOK\u201d \u2013 odes\u0142anie kodu http 200 nie wystarczy. Tyle kodzenia na dzisiaj!<\/p>\n\n\n\n<p>Plik umie\u015bci\u0142em na publicznie widocznym serwerze, pod adresem https:\/\/adres_serwera\/smsapi\/receive.php. Teraz pozostaje jedynie skonfigurowa\u0107 callback w serwisie SMSAPI. Do dzie\u0142a!<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"konfiguracja-callbacka\">Krok 4: Konfiguracja callbacka<\/h3>\n\n\n\n<p>Po zalogowaniu do Panelu Klienta SMSAPI przejd\u017a do widoku <a href=\"https:\/\/ssl.smsapi.pl\/react\/callbacks\" target=\"_blank\" rel=\"noopener\">Adresy callback<\/a>. W tym miejscu mo\u017cesz skonfigurowa\u0107 wszystkie dost\u0119pne w SMSAPI callbacki (a jest ich sporo!), ale teraz interesuje Ci\u0119 jedynie \u201eOdbi\u00f3r SMS\u201d. Wybierz go z listy.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full is-resized\"><a href=\"https:\/\/ssl.smsapi.pl\/react\/callbacks\" target=\"_blank\" rel=\"noopener\"><img loading=\"lazy\" decoding=\"async\" width=\"800\" height=\"275\" src=\"https:\/\/www.smsapi.pl\/blog\/wp-content\/uploads\/2021\/06\/smsapi-sms-api-callback-add.png\" alt=\"Dodaj adres callback w Panelu Klienta SMSAPI\" class=\"wp-image-23848\" style=\"width:650px;height:224px\" srcset=\"https:\/\/www.smsapi.pl\/blog\/wp-content\/uploads\/2021\/06\/smsapi-sms-api-callback-add.png 800w, https:\/\/www.smsapi.pl\/blog\/wp-content\/uploads\/2021\/06\/smsapi-sms-api-callback-add-300x103.png 300w, https:\/\/www.smsapi.pl\/blog\/wp-content\/uploads\/2021\/06\/smsapi-sms-api-callback-add-730x251.png 730w, https:\/\/www.smsapi.pl\/blog\/wp-content\/uploads\/2021\/06\/smsapi-sms-api-callback-add-150x52.png 150w, https:\/\/www.smsapi.pl\/blog\/wp-content\/uploads\/2021\/06\/smsapi-sms-api-callback-add-768x264.png 768w\" sizes=\"auto, (max-width: 800px) 100vw, 800px\" \/><\/a><\/figure>\n<\/div>\n\n\n<p>Callback mo\u017cesz skonfigurowa\u0107 tak, \u017ceby zostawa\u0142 uaktywniony tylko wtedy, kiedy otrzymasz SMS na konkretny numer odbiorczy. Wybierz, wi\u0119c numer (na li\u015bcie mo\u017ce by\u0107 ich wi\u0119cej \u2013 musisz wybra\u0107 dok\u0142adnie ten, kt\u00f3ry aktywowa\u0142e\u015b w kroku 2), a nast\u0119pnie uzupe\u0142nij adres, pod kt\u00f3rym widoczny jest skrypt z kroku 3. Kliknij dodaj, a na li\u015bcie pojawia si\u0119 \u015bwie\u017cutko stworzona konfiguracja.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"800\" height=\"210\" src=\"https:\/\/www.smsapi.pl\/blog\/wp-content\/uploads\/2021\/06\/smsapi-sms-api-callback-list.png\" alt=\"\" class=\"wp-image-23849\" style=\"width:650px;height:170px\" srcset=\"https:\/\/www.smsapi.pl\/blog\/wp-content\/uploads\/2021\/06\/smsapi-sms-api-callback-list.png 800w, https:\/\/www.smsapi.pl\/blog\/wp-content\/uploads\/2021\/06\/smsapi-sms-api-callback-list-300x79.png 300w, https:\/\/www.smsapi.pl\/blog\/wp-content\/uploads\/2021\/06\/smsapi-sms-api-callback-list-730x192.png 730w, https:\/\/www.smsapi.pl\/blog\/wp-content\/uploads\/2021\/06\/smsapi-sms-api-callback-list-150x39.png 150w, https:\/\/www.smsapi.pl\/blog\/wp-content\/uploads\/2021\/06\/smsapi-sms-api-callback-list-768x202.png 768w\" sizes=\"auto, (max-width: 800px) 100vw, 800px\" \/><\/figure>\n<\/div>\n\n\n<h3 class=\"wp-block-heading\" id=\"test\">Krok 5: Test!<\/h3>\n\n\n\n<p>Teraz mo\u017cesz (a w zasadzie powiniene\u015b) przetestowa\u0107 po\u0142\u0105czenie \u2013 sprawd\u017a, czy callback zostaje dostarczony. W tym celu kliknij ikonk\u0119 \u201ePlay\u201d w kolumnie Opcje po prawej stronie. W moim przypadku test wypad\u0142 pozytywnie, co zosta\u0142o potwierdzone niebieskim dymkiem w prawej g\u00f3rnej cz\u0119\u015bci ekranu.<\/p>\n\n\n\n<p>Je\u015bli jednak co\u015b nie zadzia\u0142a (SMSAPI poka\u017ce Ci po chwili kr\u00f3tki raport ze \u017ar\u00f3d\u0142em problemu), musisz sprawdzi\u0107 publiczn\u0105 dost\u0119pno\u015b\u0107 Twojego skryptu i adres URL.<\/p>\n\n\n\n<p>Nast\u0119pnie sprawd\u017a, czy konfiguracja, skrypt i numer funkcjonuj\u0105 prawid\u0142owo. Najpro\u015bciej zrobisz to wysy\u0142aj\u0105c SMS z telefonu na numer aktywowany w kroku 2 i jednocze\u015bnie monitoruj\u0105c plik callback-sms.log. <\/p>\n\n\n\n<p>Je\u015bli zostanie on utworzony, to oznacza, \u017ce pojawi\u0142 si\u0119 pierwszy SMS. Sukces! Wys\u0142any z telefonu SMS zosta\u0142 zarejestrowany przez SMSAPI, a informacja o nim zosta\u0142a przes\u0142ana callbackiem do skryptu. Ten zarejestrowa\u0142 i zinterpretowa\u0142 informacj\u0119 zapisuj\u0105c j\u0105 do pliku.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">No dobra, co\u015b tam niby si\u0119 pojawi\u0142o\u2026 Ale co dalej?<\/h2>\n\n\n\n<p>Podany przyk\u0142ad jest tylko zach\u0119t\u0105 do tego, \u017ceby budowa\u0107 dalej. Odbieranie SMS przez system informatyczny daje wielorakie mo\u017cliwo\u015bci \u2013 od budowania proces\u00f3w klasy Marketing Automation, po wspomniane na pocz\u0105tku wykorzystanie wiadomo\u015bci tekstowych jako kana\u0142u wsparcia w Biurze Obs\u0142ugi Klienta\u2026 Sky is the limit.<\/p>\n\n\n\n<p>Photo by <a href=\"https:\/\/unsplash.com\/@andreuuuw\" target=\"_blank\" rel=\"noopener noreferrer nofollow\">Andrew Wulf<\/a> on <a href=\"https:\/\/unsplash.com\/\" target=\"_blank\" rel=\"noopener noreferrer nofollow\">Unsplash<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>W poprzednim artykule z serii \u201eAPI SMSAPI od podstaw\u201d opisa\u0142em metod\u0119, jak\u0105 mo\u017cna wykorzysta\u0107, aby wys\u0142a\u0107 SMS online przez Panel Klienta SMSAPI. W tym artykule chcia\u0142bym poruszy\u0107 temat odwrotny: jak za pomoc\u0105 systemu informatycznego odebra\u0107 SMS wys\u0142any przez klienta?<\/p>\n","protected":false},"author":3,"featured_media":24180,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[321],"tags":[253,230,223],"class_list":["post-23833","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-podstawy","tag-2way","tag-it","tag-api"],"_links":{"self":[{"href":"https:\/\/www.smsapi.pl\/blog\/wp-json\/wp\/v2\/posts\/23833","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.smsapi.pl\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.smsapi.pl\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.smsapi.pl\/blog\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/www.smsapi.pl\/blog\/wp-json\/wp\/v2\/comments?post=23833"}],"version-history":[{"count":38,"href":"https:\/\/www.smsapi.pl\/blog\/wp-json\/wp\/v2\/posts\/23833\/revisions"}],"predecessor-version":[{"id":30267,"href":"https:\/\/www.smsapi.pl\/blog\/wp-json\/wp\/v2\/posts\/23833\/revisions\/30267"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.smsapi.pl\/blog\/wp-json\/wp\/v2\/media\/24180"}],"wp:attachment":[{"href":"https:\/\/www.smsapi.pl\/blog\/wp-json\/wp\/v2\/media?parent=23833"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.smsapi.pl\/blog\/wp-json\/wp\/v2\/categories?post=23833"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.smsapi.pl\/blog\/wp-json\/wp\/v2\/tags?post=23833"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}