{"id":4185,"date":"2024-09-03T16:19:50","date_gmt":"2024-09-03T16:19:50","guid":{"rendered":"https:\/\/testwww.messageflow.com\/developer-platform\/"},"modified":"2026-08-25T07:51:21","modified_gmt":"2026-08-25T07:51:21","slug":"platforma-dla-developerow","status":"publish","type":"page","link":"https:\/\/messageflow.com\/pl\/platforma-dla-developerow\/","title":{"rendered":"Platforma dla developer\u00f3w"},"content":{"rendered":"<section id=\"acf-block-content-with-media-block_c1fb3a4fe6a4e6f76a1e240e409a8908\" class=\"acf-block-content-with-media  hero-section  c-mt-0  c-mb-0 bg-primary-900 c-pt-only-10 c-pb-4 js-content-with-media\">    <div class=\"container\">        <div class=\"row c-row-gap-only-5\">            <div class=\"col-lg-6 d-flex flex-column c-row-gap-only-5 align-items-start justify-content-start order-2 order-lg-1 justify-content-lg-start\">                <div>                            <h2 class=\"h2  text-white text-start\"><span class=\"ez-toc-section\" id=\"platforma-komunikacyjna-dla-deweloperow-messageflow-api\"><\/span>        <span class=\"text-accent-green-500\">Platforma komunikacyjna dla deweloper\u00f3w:<\/span> MessageFlow API    <span class=\"ez-toc-section-end\"><\/span><\/h2>                    <\/div>                                                    <div class=\"entry-content entry-content--list-with-ticks text-white\">                        <p><strong>MessageFlow API<\/strong> to ujednolicone <strong>REST API<\/strong> do wysy\u0142ki i zarz\u0105dzania wiadomo\u015bciami e-mail, SMS, mobile push i Viber. Jako <strong>platforma komunikacyjna dla deweloper\u00f3w<\/strong> \u0142\u0105czy w jednym miejscu ruch marketingowy i transakcyjny, zarz\u0105dzanie kontaktami i \u015bledzenie dostarczenia w czasie rzeczywistym \u2013 zgodnie ze specyfikacj\u0105 JSONAPI i OpenAPI 3.0.2, z obs\u0142ug\u0105 kompresji Gzip.<\/p>                    <\/div>                                                    <div class=\"d-flex flex-row flex-wrap align-items-center justify-content-start c-row-gap-only-3 c-column-gap-only-3\">                                <div class=\"crunch-button-wrapper c-mt-0\">            <a href=\"https:\/\/dev.messageflow.com\/#\/\" class=\"crunch-button crunch-button__full-background crunch-button__full-background--accent-yellow-color crunch-button__full-background--medium\" target=\"_blank\" rel=\"nofollow\">Przejd\u017a do dokumentacji API<\/a>        <\/div>                                    <div class=\"crunch-button-wrapper c-mt-0\">            <a href=\"https:\/\/messageflow.com\/pl\/kontakt\/\" class=\"crunch-button crunch-button__outline crunch-button__outline--white-color crunch-button__outline--medium\" target=\"_self\">Zapytaj o MessageFlow API<\/a>        <\/div>                        <\/div>                            <\/div>            <div class=\"d-flex col-lg-6 align-items-center justify-content-center order-1 order-lg-2 justify-content-lg-start align-items-lg-start\">                <div class=\"acf-block-content-with-media__media-wrapper mw-100\">                    <img decoding=\"async\" width=\"768\" height=\"779\" src=\"https:\/\/messageflow.com\/wp-content\/uploads\/2026\/07\/developers-hero-img-1-768x779.webp\" class=\"adjustable-element mh-100\" alt=\"\" srcset=\"https:\/\/messageflow.com\/wp-content\/uploads\/2026\/07\/developers-hero-img-1-768x779.webp 768w, https:\/\/messageflow.com\/wp-content\/uploads\/2026\/07\/developers-hero-img-1-48x49.webp 48w, https:\/\/messageflow.com\/wp-content\/uploads\/2026\/07\/developers-hero-img-1-96x97.webp 96w, https:\/\/messageflow.com\/wp-content\/uploads\/2026\/07\/developers-hero-img-1-320x325.webp 320w, https:\/\/messageflow.com\/wp-content\/uploads\/2026\/07\/developers-hero-img-1-640x649.webp 640w, https:\/\/messageflow.com\/wp-content\/uploads\/2026\/07\/developers-hero-img-1-576x584.webp 576w, https:\/\/messageflow.com\/wp-content\/uploads\/2026\/07\/developers-hero-img-1-1152x1169.webp 1152w, https:\/\/messageflow.com\/wp-content\/uploads\/2026\/07\/developers-hero-img-1-991x1005.webp 991w, https:\/\/messageflow.com\/wp-content\/uploads\/2026\/07\/developers-hero-img-1-1080x1096.webp 1080w, https:\/\/messageflow.com\/wp-content\/uploads\/2026\/07\/developers-hero-img-1.webp 1174w\" sizes=\"(max-width: 768px) 100vw, 768px\" \/>                <\/div>            <\/div>        <\/div>    <\/div><\/section><section id=\"acf-block-columns-grid-block_4e2dd85c83251dbd9c7c642b309f50a3\" class=\"acf-block-columns-grid  c-mt-0 c-mb-0 bg-primary-900 c-pt-only-8 c-pb-6\">    <div class=\"container\">                <h2 class=\"h2  text-white text-start br-lg-up c-mb-only-5\"><span class=\"ez-toc-section\" id=\"dokumentacja-api\"><\/span>        Dokumentacja API    <span class=\"ez-toc-section-end\"><\/span><\/h2>                        <div class=\"row row-gap-40px\">                    <div class=\"col-lg-8 text-white entry-content\">        <p>Jedno REST API \u2013 cztery kana\u0142y komunikacyjne. Ka\u017cdy z dedykowanymi endpointami, niezale\u017cnym \u015bledzeniem status\u00f3w i wydzielon\u0105 sekcj\u0105 w jednej, scentralizowanej dokumentacji deweloperskiej. Zyskaj dost\u0119p do pe\u0142nych referencji technicznych, przewodnik\u00f3w po uwierzytelnianiu i przyk\u0142ad\u00f3w request\u00f3w. Specyfikacja API jest dost\u0119pna w formacie OpenAPI 3.0.2 \u2013 gotowa do importu do Postman lub Swagger UI bezpo\u015brednio z <a style=\"color: inherit;\" href=\"https:\/\/dev.messageflow.com\/openapi.yaml\">dev.messageflow.com\/openapi.yaml<\/a>.<\/p>    <\/div>            <\/div>            <\/div><\/section><section id=\"acf-block-cards-with-icons-block_fe53365a9d9a51001f7c0904636291d4\" class=\"acf-block-cards-with-icons   c-mt-0  c-mb-0 bg-primary-900\">    <div class=\"container\">                        <div class=\"cards-with-icons__grid\">                        <div class=\"cards-with-icons__card\">                <div class=\"cards-with-icons__header\">                                        <div class=\"cards-with-icons__icon\">                        <object type=\"image\/svg+xml\" data=\"https:\/\/messageflow.com\/wp-content\/uploads\/2026\/07\/Email-API.svg\" class=\"w-100 h-100 object-fit-contain\"><\/object>                    <\/div>                                                            <h2 class=\"cards-with-icons__title fz-24\"><span class=\"ez-toc-section\" id=\"e-mail-api\"><\/span>                        E-mail API                    <span class=\"ez-toc-section-end\"><\/span><\/h2>                                    <\/div>                                <div class=\"cards-with-icons__content fz-16\">                    <p>Wysy\u0142aj wiadomo\u015bci transakcyjne przez REST do 200 odbiorc\u00f3w w pojedynczym \u017c\u0105daniu. Dynamiczne szablony obs\u0142uguj\u0105 zmienne, instrukcje warunkowe i p\u0119tle po zbiorach danych \u2013 wsp\u00f3lny szablon dla wszystkich odbiorc\u00f3w. Statusy dostarczenia mo\u017cesz pobiera\u0107 przez API (metody GET), odbiera\u0107 w czasie rzeczywistym za pomoc\u0105 webhook\u00f3w lub przegl\u0105da\u0107 w panelu analitycznym.<\/p>                <\/div>                                                <div class=\"cards-with-icons__cta\">                            <div class=\"crunch-button-wrapper c-mt-0\">            <a href=\"https:\/\/dev.messageflow.com\/#\/operations\/SendEmails\" class=\"crunch-button crunch-button__text-only crunch-button__text-only--white-color crunch-button__text-only--medium\" target=\"_blank\" rel=\"nofollow\">Dokumentacja e-mail API<\/a>        <\/div>                    <\/div>                            <\/div>                        <div class=\"cards-with-icons__card\">                <div class=\"cards-with-icons__header\">                                        <div class=\"cards-with-icons__icon\">                        <object type=\"image\/svg+xml\" data=\"https:\/\/messageflow.com\/wp-content\/uploads\/2026\/07\/SMS-API.svg\" class=\"w-100 h-100 object-fit-contain\"><\/object>                    <\/div>                                                            <h2 class=\"cards-with-icons__title fz-24\"><span class=\"ez-toc-section\" id=\"sms-api\"><\/span>                        SMS API                    <span class=\"ez-toc-section-end\"><\/span><\/h2>                                    <\/div>                                <div class=\"cards-with-icons__content fz-16\">                    <p>Wysy\u0142aj SMS-y transakcyjne z pe\u0142nym \u015bledzeniem DLR. Nasze <b>API do dostarczania wiadomo\u015bci<\/b> obs\u0142uguje Unicode, skracanie link\u00f3w, priorytetowy routing i komunikacj\u0119 dwukierunkow\u0105 (SMS przychodz\u0105ce przez webhooki).<\/p>                <\/div>                                                <div class=\"cards-with-icons__cta\">                            <div class=\"crunch-button-wrapper c-mt-0\">            <a href=\"https:\/\/dev.messageflow.com\/#\/operations\/SendSmsV2_1\" class=\"crunch-button crunch-button__text-only crunch-button__text-only--white-color crunch-button__text-only--medium\" target=\"_blank\" rel=\"nofollow\">Dokumentacja SMS API<\/a>        <\/div>                    <\/div>                            <\/div>                        <div class=\"cards-with-icons__card\">                <div class=\"cards-with-icons__header\">                                        <div class=\"cards-with-icons__icon\">                        <object type=\"image\/svg+xml\" data=\"https:\/\/messageflow.com\/wp-content\/uploads\/2026\/07\/PUSH-API.svg\" class=\"w-100 h-100 object-fit-contain\"><\/object>                    <\/div>                                                            <h2 class=\"cards-with-icons__title fz-24\"><span class=\"ez-toc-section\" id=\"mobile-push-api\"><\/span>                        Mobile push API                    <span class=\"ez-toc-section-end\"><\/span><\/h2>                                    <\/div>                                <div class=\"cards-with-icons__content fz-16\">                    <p>Wysy\u0142aj powiadomienia push przez REST API na iOS i Android. Zapewniamy obs\u0142ug\u0119 wieloj\u0119zycznych tre\u015bci, obraz\u00f3w, silent push, TTL i akcji po klikni\u0119ciu (URL lub deeplink). Nasze statusy push rozr\u00f3\u017cniaj\u0105 sze\u015b\u0107 stan\u00f3w \u2013 od przyj\u0119cia przez operatora a\u017c po interakcj\u0119 u\u017cytkownika.<\/p>                <\/div>                                                <div class=\"cards-with-icons__cta\">                            <div class=\"crunch-button-wrapper c-mt-0\">            <a href=\"https:\/\/dev.messageflow.com\/#\/operations\/PushCreate\" class=\"crunch-button crunch-button__text-only crunch-button__text-only--white-color crunch-button__text-only--medium\" target=\"_blank\" rel=\"nofollow\">Dokumentacja Push API<\/a>        <\/div>                    <\/div>                            <\/div>                        <div class=\"cards-with-icons__card\">                <div class=\"cards-with-icons__header\">                                        <div class=\"cards-with-icons__icon\">                        <object type=\"image\/svg+xml\" data=\"https:\/\/messageflow.com\/wp-content\/uploads\/2026\/07\/Viber-API.svg\" class=\"w-100 h-100 object-fit-contain\"><\/object>                    <\/div>                                                            <h2 class=\"cards-with-icons__title fz-24\"><span class=\"ez-toc-section\" id=\"viber-api\"><\/span>                        Viber API                    <span class=\"ez-toc-section-end\"><\/span><\/h2>                                    <\/div>                                <div class=\"cards-with-icons__content fz-16\">                    <p>Wybierz <b>API komunikacyjne MessageFlow<\/b> i wysy\u0142aj wiadomo\u015bci transakcyjne kana\u0142em OTT Viber z obs\u0142ug\u0105 czterech format\u00f3w tre\u015bci: tekst, obraz, tekst z akcj\u0105 oraz tekst z obrazem i akcj\u0105. Sender wymaga wcze\u015bniejszej rejestracji i mo\u017ce mie\u0107 maksymalnie 28 znak\u00f3w. W jednym \u017c\u0105daniu obs\u0142u\u017cysz do 200 odbiorc\u00f3w.<\/p>                <\/div>                                                <div class=\"cards-with-icons__cta\">                            <div class=\"crunch-button-wrapper c-mt-0\">            <a href=\"https:\/\/dev.messageflow.com\/#\/operations\/sendViberMessage\" class=\"crunch-button crunch-button__text-only crunch-button__text-only--white-color crunch-button__text-only--medium\" target=\"_blank\" rel=\"nofollow\">Dokumentacja Viber API<\/a>        <\/div>                    <\/div>                            <\/div>                    <\/div>            <\/div><\/section><section id=\"acf-block-columns-grid-block_1ac37af12317ee205e1c97e75d242a13\" class=\"acf-block-columns-grid  c-mt-0 c-mb-0 bg-primary-900 c-pt-only-8 c-pb-6\">    <div class=\"container\">                <h2 class=\"h2  text-white text-start br-lg-up c-mb-only-5\"><span class=\"ez-toc-section\" id=\"model-integracji\"><\/span>        Model integracji    <span class=\"ez-toc-section-end\"><\/span><\/h2>                        <div class=\"row row-gap-40px\">                    <div class=\"col-lg-8 text-white entry-content\">        <p><strong>MessageFlow API<\/strong> zosta\u0142o zbudowane na sprawdzonej architekturze technicznej \u2013 dostosowanej do \u015brodowisk produkcyjnych wysokiej skali.<\/p>    <\/div>            <\/div>            <\/div><\/section><section id=\"acf-block-accordion-with-code-block_1f55b89d650f973aa257e84b7aa5f555\" class=\"acf-block-accordion-with-code   c-mt-0  c-mb-0 bg-primary-900 c-pb-only-2\">    <div class=\"container\">                        <div class=\"awc__layout\" data-block=\"awc-block_1f55b89d650f973aa257e84b7aa5f555\">            <!-- Left: Accordion list -->            <div class=\"awc__accordion\">                                <div class=\"awc__accordion-item active\"                     data-index=\"0\"                     data-block=\"awc-block_1f55b89d650f973aa257e84b7aa5f555\">                    <button class=\"awc__accordion-header\" type=\"button\"                            aria-expanded=\"true\">                                                <span class=\"awc__accordion-icon\">                            <img decoding=\"async\" src=\"https:\/\/messageflow.com\/wp-content\/uploads\/2026\/07\/model-integracji-01a.svg\" alt=\"\" \/>                        <\/span>                                                <span class=\"awc__accordion-title fz-22 fw-semibold\">                            Architektura i format danych                        <\/span>                    <\/button>                <\/div>                                <div class=\"awc__accordion-item \"                     data-index=\"1\"                     data-block=\"awc-block_1f55b89d650f973aa257e84b7aa5f555\">                    <button class=\"awc__accordion-header\" type=\"button\"                            aria-expanded=\"false\">                                                <span class=\"awc__accordion-icon\">                            <img decoding=\"async\" src=\"https:\/\/messageflow.com\/wp-content\/uploads\/2026\/07\/model-integracji-02a.svg\" alt=\"\" \/>                        <\/span>                                                <span class=\"awc__accordion-title fz-22 fw-semibold\">                            Uwierzytelnianie kluczami API                         <\/span>                    <\/button>                <\/div>                                <div class=\"awc__accordion-item \"                     data-index=\"2\"                     data-block=\"awc-block_1f55b89d650f973aa257e84b7aa5f555\">                    <button class=\"awc__accordion-header\" type=\"button\"                            aria-expanded=\"false\">                                                <span class=\"awc__accordion-icon\">                            <img decoding=\"async\" src=\"https:\/\/messageflow.com\/wp-content\/uploads\/2026\/07\/model-integracji-03a.svg\" alt=\"\" \/>                        <\/span>                                                <span class=\"awc__accordion-title fz-22 fw-semibold\">                            Architektura zdarzeniowa i webhooki                        <\/span>                    <\/button>                <\/div>                            <\/div>            <!-- Right: Content panel -->            <div class=\"awc__panel\">                                <div class=\"awc__panel-slide active\"                     data-index=\"0\">                                        <h3 class=\"awc__panel-title fz-24 fw-semibold\"><span class=\"ez-toc-section\" id=\"architektura-i-format-danych\"><\/span>                        Architektura i format danych                    <span class=\"ez-toc-section-end\"><\/span><\/h3>                                                            <div class=\"awc__panel-description fz-16\">                        <p>Wszystkie endpointy REST zwracaj\u0105 JSON z obiektem meta zawieraj\u0105cym kod HTTP, liczb\u0119 b\u0142\u0119d\u00f3w oraz uniqId \u2013 identyfikator ka\u017cdego \u017c\u0105dania, niezb\u0119dny przy kontakcie ze wsparciem technicznym. Nasza specyfikacja REST API jest zgodna z JSONAPI i OpenAPI 3.0.2.<\/p>                    <\/div>                                                            <div class=\"awc__code-block\">                        <pre class=\"awc__code\">{<br \/>    &quot;meta&quot;: {<br \/>        &quot;numberOfErrors&quot;: NUMBER_OF_ELEMENTS_IN_ERRORS (number),<br \/>        &quot;numberOfData&quot;: NUMBER_OF_ELEMENTS_IN_DATA (number),<br \/>        &quot;status&quot;: HTTP_STATUS (number),<br \/>        &quot;uniqId&quot;: UNIQUE_REQUEST_ID (string)<br \/>        &quot;someField&quot;: SOME_VALUE (string)<br \/>    },<br \/>    &quot;data&quot;: [],<br \/>    &quot;errors&quot;: [<br \/>        {<br \/>            &quot;title&quot;: ERROR_TITLE (string),<br \/>            &quot;message&quot;: ERROR_MESSAGE (string),<br \/>            &quot;code&quot;: ERROR_CODE (string),<br \/>            &quot;meta&quot;:{<br \/>                &quot;parameter&quot;: SOME_VALUE (string),<br \/>                &quot;value&quot;: SOME_VALUE (string),<br \/>                &quot;source&quot;: SOME_VALUE (string),<br \/>                &quot;someField&quot;: SOME_VALUE (string)<br \/>            }<br \/>        }<br \/>    ]<br \/>}<\/pre>                    <\/div>                                    <\/div>                                <div class=\"awc__panel-slide \"                     data-index=\"1\">                                        <h3 class=\"awc__panel-title fz-24 fw-semibold\"><span class=\"ez-toc-section\" id=\"uwierzytelnianie-kluczami-api\"><\/span>                        Uwierzytelnianie kluczami API                     <span class=\"ez-toc-section-end\"><\/span><\/h3>                                                            <div class=\"awc__panel-description fz-16\">                        <p>Kontrola dost\u0119pu do API opiera si\u0119 na parze kluczy \u2013 Authorization i Application-Key \u2013 generowanych i zarz\u0105dzanych bezpo\u015brednio z panelu. Ka\u017cdy klucz mo\u017cesz dodatkowo powi\u0105za\u0107 z list\u0105 dozwolonych adres\u00f3w IP: nawet przej\u0119ty klucz nie umo\u017cliwi dost\u0119pu do API spoza zaufanej infrastruktury. To istotna warstwa ochrony wsz\u0119dzie tam, gdzie bezpiecze\u0144stwo danych klient\u00f3w jest krytyczne.<\/p>                    <\/div>                                                            <div class=\"awc__code-block\">                        <pre class=\"awc__code\">$ curl --request POST \\<br \/>  --header &#039;Content-Type: application\/json&#039; \\<br \/>  --header &#039;Application-Key: &#039; \\<br \/>  --header &#039;Authorization: &#039; \\<br \/>  --url &#039;...&#039;<br \/>  --data &#039;{ ... }&#039;<\/pre>                    <\/div>                                    <\/div>                                <div class=\"awc__panel-slide \"                     data-index=\"2\">                                        <h3 class=\"awc__panel-title fz-24 fw-semibold\"><span class=\"ez-toc-section\" id=\"architektura-zdarzeniowa-i-webhooki\"><\/span>                        Architektura zdarzeniowa i webhooki                    <span class=\"ez-toc-section-end\"><\/span><\/h3>                                                            <div class=\"awc__panel-description fz-16\">                        <p>Zamiast cyklicznego pollingu Twoja aplikacja otrzymuje powiadomienia o zdarzeniach w momencie ich wyst\u0105pienia \u2013 bez zb\u0119dnych request\u00f3w i op\u00f3\u017anie\u0144. Webhooki obs\u0142uguj\u0105 wszystkie kana\u0142y i pe\u0142en zakres zdarze\u0144: statusy dostarczenia, klikni\u0119cia, otwarcia i b\u0142\u0119dy. Ka\u017cde powiadomienie jest kryptograficznie podpisane (SHA1). Dla ka\u017cdego kana\u0142u konfigurujesz dwa adresy URL: je\u015bli g\u0142\u00f3wny endpoint jest niedost\u0119pny, zdarzenie automatycznie trafia na zapasowy.<\/p>                    <\/div>                                                            <div class=\"awc__code-block\">                        <pre class=\"awc__code\">[{<br \/>  &quot;externalId&quot;:&quot;xxxxxxxxxxxxxxxxxxxxxxxx&quot;,<br \/>  &quot;phoneNumber&quot;:&quot;+48XXXXXXXXX&quot;,<br \/>  &quot;status&quot;:1,<br \/>  &quot;statusDesc&quot;:&quot;DELIVERED&quot;,<br \/>  &quot;statusTime&quot;:&quot;2021-04-27T00:00:18&quot;,<br \/>  &quot;webhookUrl&quot;:&quot;xxxxxxxxxxxxxxx&quot;<br \/>}]<\/pre>                    <\/div>                                    <\/div>                            <\/div>        <\/div>            <\/div><\/section><section id=\"acf-block-columns-grid-block_addfe8727d294d9458b2592dec4623a7\" class=\"acf-block-columns-grid  c-mt-0 c-mb-0 bg-primary-900 c-pt-only-8 c-pb-6\">    <div class=\"container\">                <h2 class=\"h2  text-white text-start br-lg-up c-mb-only-5\"><span class=\"ez-toc-section\" id=\"sledzenie-dostarczenia-i-obsluga-statusow\"><\/span>        \u015aledzenie dostarczenia i obs\u0142uga status\u00f3w    <span class=\"ez-toc-section-end\"><\/span><\/h2>                        <div class=\"row row-gap-40px\">                    <div class=\"col-lg-8 text-white entry-content\">        <p><strong>MessageFlow API<\/strong> dostarcza kompletny model status\u00f3w dla ka\u017cdego kana\u0142u. Taka architektura pozwala aplikacji integruj\u0105cej reagowa\u0107 na zdarzenia w czasie rzeczywistym: automatycznie aktualizowa\u0107 rekordy w systemach docelowych, wyzwala\u0107 logik\u0119 fallback na alternatywne kana\u0142y komunikacji oraz utrzymywa\u0107 rygorystyczn\u0105 higien\u0119 bazy odbiorc\u00f3w poprzez zautomatyzowan\u0105 obs\u0142ug\u0119 twardych zwrotek i skarg spamowych.<\/p>    <\/div>            <\/div>            <\/div><\/section><section id=\"acf-block-status-flow-cards-block_85d29af4956db89c0a4b74e3afdb10d6\" class=\"acf-block-status-flow-cards   c-mt-0  c-mb-0 bg-primary-900\">    <div class=\"container\">                        <div class=\"sfc__cards\">                        <div class=\"sfc__card\">                                <h2 class=\"sfc__card-title fz-22 fw-semibold\"><span class=\"ez-toc-section\" id=\"e-mail-api-statusy-wiadomosci\"><\/span>                    E-mail API: statusy wiadomo\u015bci                <span class=\"ez-toc-section-end\"><\/span><\/h2>                                                <div class=\"sfc__status-flow\">                                        <span class=\"sfc__status-item\">                        <span class=\"sfc__badge sfc__badge--filled\" style=\"background-color:rgba(175,176,250,0.15);color:#afb0fa;\">                            injected                        <\/span>                                                <span class=\"sfc__separator sfc__separator--arrow\" aria-hidden=\"true\">\u2192<\/span>                                            <\/span>                                        <span class=\"sfc__status-item\">                        <span class=\"sfc__badge sfc__badge--filled\" style=\"background-color:rgba(170,255,192,0.2);color:#aaffc0;\">                            ok                        <\/span>                                                <span class=\"sfc__separator sfc__separator--pipe\" aria-hidden=\"true\">|<\/span>                                            <\/span>                                        <span class=\"sfc__status-item\">                        <span class=\"sfc__badge sfc__badge--filled\" style=\"background-color:rgba(220,83,77,0.15);color:#dc534d;\">                            hardbounce                        <\/span>                                                <span class=\"sfc__separator sfc__separator--pipe\" aria-hidden=\"true\">|<\/span>                                            <\/span>                                        <span class=\"sfc__status-item\">                        <span class=\"sfc__badge sfc__badge--filled\" style=\"background-color:rgba(255,231,102,0.15);color:#ffe766;\">                            softbounce                        <\/span>                                                <span class=\"sfc__separator sfc__separator--pipe\" aria-hidden=\"true\">|<\/span>                                            <\/span>                                        <span class=\"sfc__status-item\">                        <span class=\"sfc__badge sfc__badge--filled\" style=\"background-color:rgba(226,160,38,0.15);color:#e2a026;\">                            spambounce                        <\/span>                                                <span class=\"sfc__separator sfc__separator--pipe\" aria-hidden=\"true\">|<\/span>                                            <\/span>                                        <span class=\"sfc__status-item\">                        <span class=\"sfc__badge sfc__badge--filled\" style=\"background-color:rgba(177,209,251,0.15);color:#b1d1fb;\">                            deferred                        <\/span>                                                <span class=\"sfc__separator sfc__separator--pipe\" aria-hidden=\"true\">|<\/span>                                            <\/span>                                        <span class=\"sfc__status-item\">                        <span class=\"sfc__badge sfc__badge--filled\" style=\"background-color:rgba(220,83,77,0.15);color:#dc534d;\">                            dropped                        <\/span>                                            <\/span>                                    <\/div>                                                <div class=\"sfc__card-description fz-16\">                    <p>Webhooki raportuj\u0105 siedem stan\u00f3w dla ka\u017cdej wiadomo\u015bci \u2014 od <span style=\"color: #b1d1fb\">injected<\/span> (przyj\u0119ta do kolejki) przez <span style=\"color: #b1d1fb\">ok<\/span> (dostarczona) a\u017c po <span style=\"color: #b1d1fb\">hardbounce<\/span>, <span style=\"color: #b1d1fb\">softbounce<\/span>, <span style=\"color: #b1d1fb\">spambounce<\/span>, <span style=\"color: #b1d1fb\">deferred<\/span> i <span style=\"color: #b1d1fb\">dropped<\/span>. Ka\u017cde zdarzenie niesie pe\u0142n\u0105 histori\u0119 stan\u00f3w wiadomo\u015bci (<span style=\"color: #b1d1fb\">allStatuses<\/span>), dane nadawcy i odbiorcy oraz znacznik czasu. Platforma automatycznie weryfikuje adresy email przed wysy\u0142k\u0105 przez wbudowan\u0105 baz\u0119 spam trap\u00f3w \u2013 bez \u017cadnej konfiguracji z Twojej strony.<\/p>                <\/div>                            <\/div>                        <div class=\"sfc__card\">                                <h2 class=\"sfc__card-title fz-22 fw-semibold\"><span class=\"ez-toc-section\" id=\"sms-api-statusy-dlr\"><\/span>                    SMS API: statusy DLR                <span class=\"ez-toc-section-end\"><\/span><\/h2>                                                <div class=\"sfc__status-flow\">                                        <span class=\"sfc__status-item\">                        <span class=\"sfc__badge sfc__badge--filled\" style=\"background-color:rgba(175,176,250,0.15);color:#afb0fa;\">                            SENT                        <\/span>                                                <span class=\"sfc__separator sfc__separator--arrow\" aria-hidden=\"true\">\u2192<\/span>                                            <\/span>                                        <span class=\"sfc__status-item\">                        <span class=\"sfc__badge sfc__badge--filled\" style=\"background-color:rgba(170,255,192,0.2);color:#aaffc0;\">                            DELIVERED                        <\/span>                                                <span class=\"sfc__separator sfc__separator--pipe\" aria-hidden=\"true\">|<\/span>                                            <\/span>                                        <span class=\"sfc__status-item\">                        <span class=\"sfc__badge sfc__badge--filled\" style=\"background-color:rgba(220,83,77,0.15);color:#dc534d;\">                            UNDELIVERED                        <\/span>                                                <span class=\"sfc__separator sfc__separator--pipe\" aria-hidden=\"true\">|<\/span>                                            <\/span>                                        <span class=\"sfc__status-item\">                        <span class=\"sfc__badge sfc__badge--filled\" style=\"background-color:rgba(255,231,102,0.15);color:#ffe766;\">                            EXPIRED                        <\/span>                                                <span class=\"sfc__separator sfc__separator--pipe\" aria-hidden=\"true\">|<\/span>                                            <\/span>                                        <span class=\"sfc__status-item\">                        <span class=\"sfc__badge sfc__badge--filled\" style=\"background-color:rgba(220,83,77,0.15);color:#dc534d;\">                            REJECTED                        <\/span>                                            <\/span>                                    <\/div>                                                <div class=\"sfc__card-description fz-16\">                    <p>Zyskaj pe\u0142ny wgl\u0105d w dostarczenie ka\u017cdego SMS-a: <span style=\"color: #b1d1fb\">DELIVERED<\/span>, <span style=\"color: #b1d1fb\">UNDELIVERED<\/span>, <span style=\"color: #b1d1fb\">EXPIRED<\/span>, <span style=\"color: #b1d1fb\">REJECTED<\/span>. Architektura pozwala na monitorowanie raport\u00f3w DLR na dwa sposoby: asynchronicznie w czasie rzeczywistym za pomoc\u0105 webhook\u00f3w lub poprzez odpytywanie dedykowanego endpointa metod\u0105 GET. Wyb\u00f3r modelu nale\u017cy do Ciebie \u2013 mo\u017cesz te\u017c wskaza\u0107 docelowy adres webhooka bezpo\u015brednio w \u017c\u0105daniu wysy\u0142ki, kieruj\u0105c statusy DLR do wybranego endpointa niezale\u017cnie od domy\u015blnej konfiguracji.<\/p>                <\/div>                            <\/div>                        <div class=\"sfc__card\">                                <h2 class=\"sfc__card-title fz-22 fw-semibold\"><span class=\"ez-toc-section\" id=\"push-api-statusy-dostarczenia-i-interakcji\"><\/span>                    Push API: statusy dostarczenia i interakcji                <span class=\"ez-toc-section-end\"><\/span><\/h2>                                                <div class=\"sfc__status-flow\">                                        <span class=\"sfc__status-item\">                        <span class=\"sfc__badge sfc__badge--filled\" style=\"background-color:rgba(170,255,192,0.2);color:#aaffc0;\">                            DELIVERED                        <\/span>                                                <span class=\"sfc__separator sfc__separator--arrow\" aria-hidden=\"true\">\u2192<\/span>                                            <\/span>                                        <span class=\"sfc__status-item\">                        <span class=\"sfc__badge sfc__badge--filled\" style=\"background-color:rgba(170,255,192,0.2);color:#aaffc0;\">                            OPENED                        <\/span>                                                <span class=\"sfc__separator sfc__separator--arrow\" aria-hidden=\"true\">\u2192<\/span>                                            <\/span>                                        <span class=\"sfc__status-item\">                        <span class=\"sfc__badge sfc__badge--filled\" style=\"background-color:rgba(220,83,77,0.15);color:#dc534d;\">                            REJECTED                        <\/span>                                                <span class=\"sfc__separator sfc__separator--arrow\" aria-hidden=\"true\">\u2192<\/span>                                            <\/span>                                        <span class=\"sfc__status-item\">                        <span class=\"sfc__badge sfc__badge--filled\" style=\"background-color:rgba(255,231,102,0.15);color:#ffe766;\">                            EXPIRED                        <\/span>                                            <\/span>                                    <\/div>                                                <div class=\"sfc__card-description fz-16\">                    <p>Push API raportuje cztery warto\u015bci pola statusDesc: <span style=\"color: #b1d1fb\">DELIVERED<\/span>, <span style=\"color: #b1d1fb\">OPENED<\/span>, <span style=\"color: #b1d1fb\">REJECTED<\/span> i <span style=\"color: #b1d1fb\">EXPIRED<\/span>, kt\u00f3re pozwalaj\u0105 rozr\u00f3\u017cni\u0107 dostarczenie, otwarcie, odrzucenie oraz wyga\u015bni\u0119cie powiadomienia. Pole statusDetails dodatkowo precyzuje typ zdarzenia lub interakcji, np. <span style=\"color: #b1d1fb\">NOTIFICATION_CLICK_ACTION<\/span>. Dzi\u0119ki temu mo\u017cna analizowa\u0107 nie tylko sam fakt dostarczenia push, ale r\u00f3wnie\u017c p\u00f3\u017aniejsze dzia\u0142ania u\u017cytkownika.<\/p>                <\/div>                            <\/div>                        <div class=\"sfc__card\">                                <h2 class=\"sfc__card-title fz-22 fw-semibold\"><span class=\"ez-toc-section\" id=\"ustrukturyzowane-bledy-i-odpowiedzi-czesciowe\"><\/span>                    Ustrukturyzowane b\u0142\u0119dy i odpowiedzi cz\u0119\u015bciowe                <span class=\"ez-toc-section-end\"><\/span><\/h2>                                                                <div class=\"sfc__card-description fz-16\">                    <p>Ka\u017cda odpowied\u017a z b\u0142\u0119dem zawiera obiekt JSON z kodem, opisem i kontekstem \u2013 parametrem, warto\u015bci\u0105 i \u017ar\u00f3d\u0142em problemu. HTTP 207 Multi-Status oznacza cz\u0119\u015bciowe powodzenie \u017c\u0105dania \u2013 np. 180 z 200 odbiorc\u00f3w zosta\u0142o przetworzonych poprawnie, a 20 odrzuconych.<\/p>                <\/div>                            <\/div>                    <\/div>            <\/div><\/section><section id=\"acf-block-columns-grid-block_b35b322ee43369033c3ce8e99595eb33\" class=\"acf-block-columns-grid  c-mt-0 c-mb-0 bg-primary-900 c-pt-only-8 c-pb-6\">    <div class=\"container\">                <h2 class=\"h2  text-white text-start br-lg-up c-mb-only-5\"><span class=\"ez-toc-section\" id=\"wydajnosc-i-przepustowosc\"><\/span>        Wydajno\u015b\u0107 i przepustowo\u015b\u0107    <span class=\"ez-toc-section-end\"><\/span><\/h2>                        <div class=\"row row-gap-40px\">                    <div class=\"col-lg-8 text-white entry-content\">        <p>MessageFlow API zosta\u0142o zaprojektowane pod \u015brodowiska produkcyjne, gdzie wolumen wysy\u0142ki jest wysoki, a niezawodno\u015b\u0107 dostarczenia \u2013 krytyczna.<\/p>    <\/div>            <\/div>            <\/div><\/section><section id=\"acf-block-content-with-media-block_4025e17e2552bc3003a9899cc08b850d\" class=\"acf-block-content-with-media  row-gap-5px  c-mt-0  c-mb-0 bg-primary-900 c-pt-0 c-pb-6 js-content-with-media\">    <div class=\"container\">        <div class=\"row c-row-gap-only-5\">            <div class=\"col-lg-6 d-flex flex-column c-row-gap-only-5 align-items-start justify-content-start order-2 order-lg-1 justify-content-lg-start\">                <div>                            <h2 class=\"h4  text-white text-start\"><span class=\"ez-toc-section\" id=\"kolejkowanie-i-wysoka-przepustowosc\"><\/span>        Kolejkowanie i wysoka przepustowo\u015b\u0107    <span class=\"ez-toc-section-end\"><\/span><\/h2>                    <\/div>                                                    <div class=\"entry-content entry-content--list-with-ticks text-white\">                        <p>Chwilowe przeci\u0105\u017cenie po stronie operatora nie zatrzymuje wysy\u0142ki. Architektura kolejkowania wiadomo\u015bci sprawia, \u017ce ka\u017cda wiadomo\u015b\u0107 czeka w kolejce i wychodzi, gdy droga jest wolna \u2013 bez konieczno\u015bci r\u0119cznego ponawiania \u017c\u0105da\u0144.<\/p>                    <\/div>                                            <\/div>            <div class=\"d-flex col-lg-6 align-items-center justify-content-center order-1 order-lg-2 justify-content-lg-start align-items-lg-start\">                <div class=\"acf-block-content-with-media__media-wrapper mw-100\">                    <img decoding=\"async\" width=\"768\" height=\"326\" src=\"https:\/\/messageflow.com\/wp-content\/uploads\/2026\/07\/kolejkowanie-i-wysoka-przepustowosc-768x326.webp\" class=\"adjustable-element mh-100\" alt=\"\" srcset=\"https:\/\/messageflow.com\/wp-content\/uploads\/2026\/07\/kolejkowanie-i-wysoka-przepustowosc-768x326.webp 768w, https:\/\/messageflow.com\/wp-content\/uploads\/2026\/07\/kolejkowanie-i-wysoka-przepustowosc-48x20.webp 48w, https:\/\/messageflow.com\/wp-content\/uploads\/2026\/07\/kolejkowanie-i-wysoka-przepustowosc-96x41.webp 96w, https:\/\/messageflow.com\/wp-content\/uploads\/2026\/07\/kolejkowanie-i-wysoka-przepustowosc-320x136.webp 320w, https:\/\/messageflow.com\/wp-content\/uploads\/2026\/07\/kolejkowanie-i-wysoka-przepustowosc-640x272.webp 640w, https:\/\/messageflow.com\/wp-content\/uploads\/2026\/07\/kolejkowanie-i-wysoka-przepustowosc-576x244.webp 576w, https:\/\/messageflow.com\/wp-content\/uploads\/2026\/07\/kolejkowanie-i-wysoka-przepustowosc.webp 924w\" sizes=\"(max-width: 768px) 100vw, 768px\" \/>                <\/div>            <\/div>        <\/div>    <\/div><\/section><div class=\"container\"><div class=\"row\"><div class=\"col-12\"><div class=\"entry-content\"><hr class=\"wp-block-separator has-text-color has-alpha-channel-opacity has-background is-style-wide has-custom-css wp-custom-css-f4555d65\" style=\"background-color:#33335c;color:#33335c\"\/><\/div><\/div><\/div><\/div><section id=\"acf-block-content-with-media-block_98f25ff7917f07b5cab9d5e15c81e5c3\" class=\"acf-block-content-with-media  row-gap-5px  c-mt-0  c-mb-0 bg-primary-900 c-pt-6 c-pb-0 js-content-with-media\">    <div class=\"container\">        <div class=\"row c-row-gap-only-5\">            <div class=\"col-lg-6 d-flex flex-column c-row-gap-only-5 align-items-start justify-content-start order-2 order-lg-1 justify-content-lg-start\">                <div>                            <h2 class=\"h4  text-white text-start\"><span class=\"ez-toc-section\" id=\"redundancja-i-monitoring-niezawodnosci\"><\/span>        Redundancja i monitoring niezawodno\u015bci    <span class=\"ez-toc-section-end\"><\/span><\/h2>                    <\/div>                                                    <div class=\"entry-content entry-content--list-with-ticks text-white\">                        <p>Infrastruktura oparta na redundantnych w\u0119z\u0142ach z automatycznym failoverem. Stan platformy monitorujesz publicznie przez Status Page \u2013 albo wbudowujesz endpoint GET \/v2.1\/service\/status bezpo\u015brednio we w\u0142asny system monitoringu i reagujesz programistycznie.<\/p>                    <\/div>                                                    <div class=\"d-flex flex-row flex-wrap align-items-center justify-content-start c-row-gap-only-3 c-column-gap-only-3\">                                                        <div class=\"crunch-button-wrapper c-mt-0\">            <a href=\"https:\/\/dev.messageflow.com\/#\/operations\/GetCurrentStatus\" class=\"crunch-button crunch-button__outline crunch-button__outline--white-color crunch-button__outline--medium\" target=\"_blank\" rel=\"nofollow\">Sprawd\u017a Status Page<\/a>        <\/div>                        <\/div>                            <\/div>            <div class=\"d-flex col-lg-6 align-items-center justify-content-center order-1 order-lg-2   justify-content-lg-start\">                <div class=\"acf-block-content-with-media__media-wrapper mw-100\">                    <div class=\"code-snippet bg-primary-900 rounded-4 box-shadow-16-primary-900 w-100 overflow-hidden\">    <nav class=\"border-bottom border-accent-violet-500\">        <div class=\"code-snippet__nav nav nav-tabs border-0 d-flex flex-row flex-wrap c-row-gap-only-2\" id=\"snippets-tab-block_98f25ff7917f07b5cab9d5e15c81e5c3\" role=\"tablist\">                            <button class=\"code-snippet__nav-link nav-link border-0 active\" id=\"-block_98f25ff7917f07b5cab9d5e15c81e5c3-tab\" data-bs-toggle=\"tab\" data-bs-target=\"#-block_98f25ff7917f07b5cab9d5e15c81e5c3\" type=\"button\" role=\"tab\" aria-controls=\"-block_98f25ff7917f07b5cab9d5e15c81e5c3-tab\" aria-selected=\"true\"><\/button>                    <\/div>    <\/nav>    <div class=\"tab-content\" id=\"snippets-tab-block_98f25ff7917f07b5cab9d5e15c81e5c3-content\">                    <div class=\"code-snippet__panel tab-pane fade position-relative js-code-snippet show active\" id=\"-block_98f25ff7917f07b5cab9d5e15c81e5c3\" role=\"tabpanel\" aria-labelledby=\"-block_98f25ff7917f07b5cab9d5e15c81e5c3-tab\" tabindex=\"0\">                <button class=\"code-snippet__copy js-copy-button position-absolute z-index-1\" data-copied=\"Skopiowano\">Kopiuj<\/button>                <div class=\"code-snippet__code\">                    <pre class=\"js-code\">                        <br \/>{<br \/>  &quot;meta&quot;: {<br \/>    &quot;numberOfErrors&quot;: 0,<br \/>    &quot;numberOfData&quot;: 1,<br \/>    &quot;status&quot;: 200,<br \/>    &quot;uniqId&quot;: &quot;00d928f759&quot;<br \/>  },<br \/>  &quot;errors&quot;: [<br \/>    {<br \/>      &quot;title&quot;: &quot;Empty result&quot;,<br \/>      &quot;message&quot;: &quot;Not found any result with this query&quot;,<br \/>      &quot;code&quot;: &quot;E-0-005&quot;<br \/>    }<br \/>  ]<br \/>}                    <\/pre>                <\/div>            <\/div>            <\/div><\/div>                <\/div>            <\/div>        <\/div>    <\/div><\/section><section id=\"acf-block-columns-grid-block_2afbc91b4085c1f68f209d84df5a99e9\" class=\"acf-block-columns-grid  c-mt-0 c-mb-0 bg-primary-900 c-pt-6 c-pb-6\">    <div class=\"container\">                <h2 class=\"h2  text-white text-start br-lg-up c-mb-only-5\"><span class=\"ez-toc-section\" id=\"zasoby-dla-developerow\"><\/span>        Zasoby dla developer\u00f3w    <span class=\"ez-toc-section-end\"><\/span><\/h2>                        <div class=\"row row-gap-40px\">                    <div class=\"col-lg-8 text-white entry-content\">        <p>Skorzystaj z gotowych zasob\u00f3w skracaj\u0105cych czas do pierwszej integracji \u2013 niezale\u017cnie od stosu technologicznego. Przyk\u0142ady kodu dost\u0119pne s\u0105 w C#, Java, Node.js, PHP, Python i Go \u2013 ka\u017cdy zawiera poprawne uwierzytelnianie, struktur\u0119 payloadu i obs\u0142ug\u0119 odpowiedzi API.<\/p>    <\/div>            <\/div>            <\/div><\/section><section id=\"acf-block-code-with-tabs-block_a3758da54fe0628fbfc16fed23b39b80\" class=\"acf-block-code-with-tabs   c-mt-0  c-mb-0 bg-primary-900\">    <div class=\"container\">                <div class=\"cwt__wrapper\" data-block=\"cwt-block_a3758da54fe0628fbfc16fed23b39b80\">            <!-- Header: title + language tabs -->            <div class=\"cwt__header\">                                <span class=\"cwt__title fz-18 fw-semibold\">                    Wysy\u0142ka SMS przez messaging API                <\/span>                                                <div class=\"cwt__tabs\" role=\"tablist\">                                        <button class=\"cwt__tab active\"                            type=\"button\"                            role=\"tab\"                            aria-selected=\"true\"                            data-index=\"0\"                            data-block=\"cwt-block_a3758da54fe0628fbfc16fed23b39b80\">                        C#                    <\/button>                                        <button class=\"cwt__tab \"                            type=\"button\"                            role=\"tab\"                            aria-selected=\"false\"                            data-index=\"1\"                            data-block=\"cwt-block_a3758da54fe0628fbfc16fed23b39b80\">                        Java                    <\/button>                                        <button class=\"cwt__tab \"                            type=\"button\"                            role=\"tab\"                            aria-selected=\"false\"                            data-index=\"2\"                            data-block=\"cwt-block_a3758da54fe0628fbfc16fed23b39b80\">                        Python                    <\/button>                                        <button class=\"cwt__tab \"                            type=\"button\"                            role=\"tab\"                            aria-selected=\"false\"                            data-index=\"3\"                            data-block=\"cwt-block_a3758da54fe0628fbfc16fed23b39b80\">                        PHP                    <\/button>                                        <button class=\"cwt__tab \"                            type=\"button\"                            role=\"tab\"                            aria-selected=\"false\"                            data-index=\"4\"                            data-block=\"cwt-block_a3758da54fe0628fbfc16fed23b39b80\">                        GO                    <\/button>                                        <button class=\"cwt__tab \"                            type=\"button\"                            role=\"tab\"                            aria-selected=\"false\"                            data-index=\"5\"                            data-block=\"cwt-block_a3758da54fe0628fbfc16fed23b39b80\">                        Node.js                    <\/button>                                    <\/div>                            <\/div>            <!-- Code panels -->                        <div class=\"cwt__code-area\">                <button class=\"cwt__copy-btn\" type=\"button\" aria-label=\"Copy code\" data-block=\"cwt-block_a3758da54fe0628fbfc16fed23b39b80\">                    <svg width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" aria-hidden=\"true\">                        <rect x=\"9\" y=\"9\" width=\"13\" height=\"13\" rx=\"2\" stroke=\"currentColor\" stroke-width=\"1.5\"\/>                        <path d=\"M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1\" stroke=\"currentColor\" stroke-width=\"1.5\"\/>                    <\/svg>                <\/button>                                <div class=\"cwt__panel active\"                     role=\"tabpanel\"                     data-index=\"0\">                    <pre class=\"cwt__code\">using System.Net.Http.Headers;<br \/>var client = new HttpClient();<br \/>var request = new HttpRequestMessage<br \/>{<br \/>    Method = HttpMethod.Post,<br \/>    RequestUri = new Uri(&quot;https:\/\/api.messageflow.com\/v2.1\/sms&quot;),<br \/>    Headers =<br \/>    {<br \/>        { &quot;Accept&quot;, &quot;application\/json&quot; },<br \/>        { &quot;Authorization&quot;, &quot;123&quot; },<br \/>        { &quot;Application-Key&quot;, &quot;123&quot; },<br \/>    },<br \/>    Content = new StringContent(&quot;{\\n  \\&quot;sender\\&quot;: \\&quot;string\\&quot;,\\n  \\&quot;message\\&quot;: \\&quot;Twoja wiadomo\u015b\u0107 testowa\\&quot;,\\n  \\&quot;phoneNumbers\\&quot;: [\\n    \\&quot;+48111222333\\&quot;,\\n    \\&quot;+48111222444\\&quot;\\n  ],\\n  \\&quot;phoneNumber\\&quot;: \\&quot;+48111222333\\&quot;,\\n  \\&quot;validity\\&quot;: 4320,\\n  \\&quot;scheduleTime\\&quot;: 0,\\n  \\&quot;type\\&quot;: 0,\\n  \\&quot;shortLink\\&quot;: true,\\n  \\&quot;webhookUrl\\&quot;: \\&quot;string\\&quot;,\\n  \\&quot;externalId\\&quot;: \\&quot;xxxx-xxxx-xxxx\\&quot;\\n}&quot;)<br \/>    {<br \/>        Headers =<br \/>        {<br \/>            ContentType = new MediaTypeHeaderValue(&quot;application\/json&quot;)<br \/>        }<br \/>    }<\/pre>                <\/div>                                <div class=\"cwt__panel \"                     role=\"tabpanel\"                     data-index=\"1\">                    <pre class=\"cwt__code\">HttpRequest request = HttpRequest.newBuilder()<br \/>        .uri(URI.create(&quot;https:\/\/api.messageflow.com\/v2.1\/sms&quot;))<br \/>        .header(&quot;Content-Type&quot;, &quot;application\/json&quot;)<br \/>        .header(&quot;Accept&quot;, &quot;application\/json&quot;)<br \/>        .header(&quot;Authorization&quot;, &quot;123&quot;)<br \/>        .header(&quot;Application-Key&quot;, &quot;123&quot;)<br \/>        .method(&quot;POST&quot;, HttpRequest.BodyPublishers.ofString(&quot;{\\n  \\&quot;sender\\&quot;: \\&quot;string\\&quot;,\\n  \\&quot;message\\&quot;: \\&quot;Twoja wiadomo\u015b\u0107 testowa\\&quot;,\\n  \\&quot;phoneNumbers\\&quot;: [\\n    \\&quot;+48111222333\\&quot;,\\n    \\&quot;+48111222444\\&quot;\\n  ],\\n  \\&quot;phoneNumber\\&quot;: \\&quot;+48111222333\\&quot;,\\n  \\&quot;validity\\&quot;: 4320,\\n  \\&quot;scheduleTime\\&quot;: 0,\\n  \\&quot;type\\&quot;: 0,\\n  \\&quot;shortLink\\&quot;: true,\\n  \\&quot;webhookUrl\\&quot;: \\&quot;string\\&quot;,\\n  \\&quot;externalId\\&quot;: \\&quot;xxxx-xxxx-xxxx\\&quot;\\n}&quot;))<br \/>        .build();<br \/><br \/>HttpResponse&lt;String&gt; response = HttpClient.newHttpClient().send(request, HttpResponse.BodyHandlers.ofString());<br \/>System.out.println(response.body());<\/pre>                <\/div>                                <div class=\"cwt__panel \"                     role=\"tabpanel\"                     data-index=\"2\">                    <pre class=\"cwt__code\">import http.client<br \/><br \/>conn = http.client.HTTPSConnection(&quot;api.messageflow.com&quot;)<br \/><br \/>payload = &quot;{\\n  \\&quot;sender\\&quot;: \\&quot;string\\&quot;,\\n  \\&quot;message\\&quot;: \\&quot;Twoja wiadomo\u015b\u0107 testowa\\&quot;,\\n  \\&quot;phoneNumbers\\&quot;: [\\n    \\&quot;+48111222333\\&quot;,\\n    \\&quot;+48111222444\\&quot;\\n  ],\\n  \\&quot;phoneNumber\\&quot;: \\&quot;+48111222333\\&quot;,\\n  \\&quot;validity\\&quot;: 4320,\\n  \\&quot;scheduleTime\\&quot;: 0,\\n  \\&quot;type\\&quot;: 0,\\n  \\&quot;shortLink\\&quot;: true,\\n  \\&quot;webhookUrl\\&quot;: \\&quot;string\\&quot;,\\n  \\&quot;externalId\\&quot;: \\&quot;xxxx-xxxx-xxxx\\&quot;\\n}&quot;<br \/><br \/>headers = {<br \/>    &#039;Content-Type&#039;: &quot;application\/json&quot;,<br \/>    &#039;Accept&#039;: &quot;application\/json&quot;,<br \/>    &#039;Authorization&#039;: &quot;123&quot;,<br \/>    &#039;Application-Key&#039;: &quot;123&quot;<br \/>}<br \/><br \/>conn.request(&quot;POST&quot;, &quot;\/v2.1\/sms&quot;, payload, headers)<br \/><br \/>res = conn.getresponse()<br \/>data = res.read()<br \/><br \/>print(data.decode(&quot;utf-8&quot;))<\/pre>                <\/div>                                <div class=\"cwt__panel \"                     role=\"tabpanel\"                     data-index=\"3\">                    <pre class=\"cwt__code\">&lt;?php<br \/><br \/>$curl = curl_init();<br \/><br \/>curl_setopt_array($curl, [<br \/>  CURLOPT_URL =&gt; &quot;https:\/\/api.messageflow.com\/v2.1\/sms&quot;,<br \/>  CURLOPT_RETURNTRANSFER =&gt; true,<br \/>  CURLOPT_ENCODING =&gt; &quot;&quot;,<br \/>  CURLOPT_MAXREDIRS =&gt; 10,<br \/>  CURLOPT_TIMEOUT =&gt; 30,<br \/>  CURLOPT_HTTP_VERSION =&gt; CURL_HTTP_VERSION_1_1,<br \/>  CURLOPT_CUSTOMREQUEST =&gt; &quot;POST&quot;,<br \/>  CURLOPT_POSTFIELDS =&gt; json_encode([<br \/>    &#039;sender&#039; =&gt; &#039;string&#039;,<br \/>    &#039;message&#039; =&gt; &#039;Twoja wiadomo\u015b\u0107 testowa&#039;,<br \/>    &#039;phoneNumbers&#039; =&gt; [<br \/>        &#039;+48111222333&#039;,<br \/>        &#039;+48111222444&#039;<br \/>    ],<br \/>    &#039;phoneNumber&#039; =&gt; &#039;+48111222333&#039;,<br \/>    &#039;validity&#039; =&gt; 4320,<br \/>    &#039;scheduleTime&#039; =&gt; 0,<br \/>    &#039;type&#039; =&gt; 0,<br \/>    &#039;shortLink&#039; =&gt; null,<br \/>    &#039;webhookUrl&#039; =&gt; &#039;string&#039;,<br \/>    &#039;externalId&#039; =&gt; &#039;xxxx-xxxx-xxxx&#039;<br \/>  ]),<br \/>  CURLOPT_HTTPHEADER =&gt; [<br \/>    &quot;Accept: application\/json&quot;,<br \/>    &quot;Application-Key: 123&quot;,<br \/>    &quot;Authorization: 123&quot;,<br \/>    &quot;Content-Type: application\/json&quot;<br \/>  ],<br \/>]);<br \/><br \/>$response = curl_exec($curl);<br \/>$err = curl_error($curl);<br \/><br \/>curl_close($curl);<br \/><br \/>if ($err) {<br \/>  echo &quot;cURL Error #:&quot; . $err;<br \/>} else {<br \/>  echo $response;<br \/>}<\/pre>                <\/div>                                <div class=\"cwt__panel \"                     role=\"tabpanel\"                     data-index=\"4\">                    <pre class=\"cwt__code\">package main<br \/><br \/>import (<br \/>&quot;fmt&quot;<br \/>&quot;io&quot;<br \/>&quot;net\/http&quot;<br \/>&quot;strings&quot;<br \/>)<br \/><br \/>func main() {<br \/><br \/>url := &quot;https:\/\/api.messageflow.com\/v2.1\/sms&quot;<br \/><br \/>payload := strings.NewReader(&quot;{\\n  \\&quot;sender\\&quot;: \\&quot;string\\&quot;,\\n  \\&quot;message\\&quot;: \\&quot;Hello world!\\&quot;,\\n  \\&quot;phoneNumbers\\&quot;: [\\n    \\&quot;+48111222333\\&quot;,\\n    \\&quot;+48111222444\\&quot;\\n  ],\\n  \\&quot;phoneNumber\\&quot;: \\&quot;+48111222333\\&quot;,\\n  \\&quot;validity\\&quot;: 4320,\\n  \\&quot;scheduleTime\\&quot;: 0,\\n  \\&quot;type\\&quot;: 0,\\n  \\&quot;shortLink\\&quot;: true,\\n  \\&quot;webhookUrl\\&quot;: \\&quot;string\\&quot;,\\n  \\&quot;externalId\\&quot;: \\&quot;xxxx-xxxx-xxxx\\&quot;\\n}&quot;)<br \/><br \/>req, _ := http.NewRequest(&quot;POST&quot;, url, payload)<br \/><br \/>req.Header.Add(&quot;Content-Type&quot;, &quot;application\/json&quot;)<br \/>req.Header.Add(&quot;Accept&quot;, &quot;application\/json&quot;)<br \/>req.Header.Add(&quot;Authorization&quot;, &quot;123&quot;)<br \/>req.Header.Add(&quot;Application-Key&quot;, &quot;123&quot;)<br \/><br \/>res, _ := http.DefaultClient.Do(req)<br \/><br \/>defer res.Body.Close()<br \/>body, _ := io.ReadAll(res.Body)<br \/><br \/>fmt.Println(res)<br \/>fmt.Println(string(body))<br \/><br \/>}<\/pre>                <\/div>                                <div class=\"cwt__panel \"                     role=\"tabpanel\"                     data-index=\"5\">                    <pre class=\"cwt__code\">const response = await fetch(&#039;https:\/\/api.messageflow.com\/v2.1\/sms&#039;, {<br \/>  method: &#039;POST&#039;,<br \/>  headers: {<br \/>    &#039;Content-Type&#039;: &#039;application\/json&#039;,<br \/>    &#039;Accept&#039;: &#039;application\/json&#039;,<br \/>    &#039;Authorization&#039;: &#039;YOUR_AUTHORIZATION_TOKEN&#039;,<br \/>    &#039;Application-Key&#039;: &#039;YOUR_APPLICATION_KEY&#039;<br \/>  },<br \/>  body: JSON.stringify({<br \/>    sender: &#039;YourCompany&#039;,<br \/>    message: &#039;Hello world!&#039;,<br \/>    phoneNumbers: [&#039;+48111222333&#039;]<br \/>  })<br \/>});<br \/><br \/>const data = await response.json();<br \/><br \/>console.log(data);<\/pre>                <\/div>                            <\/div>                    <\/div>                        <div class=\"cwt__cta\">                    <div class=\"crunch-button-wrapper c-mt-0\">            <a href=\"https:\/\/dev.messageflow.com\/#\/operations\/docs-introduction\" class=\"crunch-button crunch-button__outline crunch-button__outline--white-color crunch-button__outline--medium\" target=\"_blank\" rel=\"nofollow\">Przejd\u017a do pe\u0142nej dokumentacji dla kana\u0142\u00f3w i j\u0119zyk\u00f3w<\/a>        <\/div>            <\/div>            <\/div><\/section><section id=\"acf-block-cta-with-background-block_d5b6f3c4e35e518eb47ce7a788ca9633\" class=\"acf-block-cta-with-background   c-mt-0  c-mb-0 bg-primary-900 c-py-only-8\">    <div class=\"container\">                <div class=\"ctab__card\" style=\"background-image: url('https:\/\/messageflow.com\/wp-content\/uploads\/2026\/07\/cta_background-e1784634492769.webp')\">            <div class=\"ctab__content\">                                <div class=\"ctab__heading\">                            <h2 class=\"h4  text-white text-start\"><span class=\"ez-toc-section\" id=\"przewodnik-po-webhookach\"><\/span>        Przewodnik po webhookach    <span class=\"ez-toc-section-end\"><\/span><\/h2>                    <\/div>                                                <div class=\"ctab__description fz-16\">                    <p>Sprawd\u017a pe\u0142n\u0105 dokumentacj\u0119 konfiguracji webhook\u00f3w: formaty danych, mechanizmy powt\u00f3rze\u0144 i weryfikacj\u0119 autentyczno\u015bci \u017c\u0105da\u0144. Gdy g\u0142\u00f3wny endpoint nie odpowie w ci\u0105gu 500 ms, zdarzenie automatycznie trafia na zapasowy URL. Konfiguracja dost\u0119pna w panelu lub bezpo\u015brednio przez API.<\/p>                <\/div>                                                <div class=\"ctab__cta\">                            <div class=\"crunch-button-wrapper c-mt-0\">            <a href=\"https:\/\/dev.messageflow.com\/#\/operations\/docs-incoming-webhooks\" class=\"crunch-button crunch-button__outline crunch-button__outline--white-color crunch-button__outline--medium\" target=\"_self\">Przejd\u017a do dokumentacji webhook\u00f3w<\/a>        <\/div>                                        <\/div>                            <\/div>        <\/div>    <\/div><\/section><section id=\"acf-block-columns-grid-block_39ed0e06cb28bfc1310c61ab483b4c1c\" class=\"acf-block-columns-grid  list-with-icon-wrapper c-mt-0 c-mb-0 bg-primary-900 c-pt-2 c-pb-4\">    <div class=\"container\">                <h2 class=\"h2  text-white text-start br-lg-up c-mb-only-5\"><span class=\"ez-toc-section\" id=\"wsparcie-techniczne\"><\/span>        Wsparcie techniczne    <span class=\"ez-toc-section-end\"><\/span><\/h2>                        <div class=\"row row-gap-40px\">                    <div class=\"col-lg-8 text-white entry-content\">        <p>Oferujemy wsparcie integracyjne dla zespo\u0142\u00f3w developerskich i IT na ka\u017cdym etapie wdro\u017cenia. Klienci korzystaj\u0105cy z dedykowanych Pakiet\u00f3w Supportowych otrzymuj\u0105 dost\u0119p do Technical Account Managera (TAM), kt\u00f3ry prowadzi integracj\u0119 i dba o ci\u0105g\u0142o\u015b\u0107 dzia\u0142ania \u015brodowiska produkcyjnego.<\/p>    <\/div>            <\/div>            <\/div><\/section><section id=\"acf-block-columns-grid-block_9d8f871bb1a13858b50318c472b27c07\" class=\"acf-block-columns-grid  list-with-icon-wrapper c-mt-0 c-mb-0 bg-primary-900 c-pt-2 c-pb-6\">    <div class=\"container\">                            <div class=\"row row-gap-40px\">                    <div class=\"list-with-icon d-flex flex-column c-row-gap-only-3 justiyfy-content-start align-items-start col-lg-4 text-white\">        <object type=\"image\/svg+xml\" data=\"https:\/\/messageflow.com\/wp-content\/uploads\/2026\/07\/Support.svg\" class=\"content-with-title-and-icon__icon adjustable-element\"><\/object>        <h3 class=\"text-white text-start fz-18 c-mt-only-2\"><span class=\"ez-toc-section\" id=\"onboarding-techniczny\"><\/span>        Onboarding techniczny    <span class=\"ez-toc-section-end\"><\/span><\/h3>                        <div class=\"d-flex flex-column gap-12px fz-16 entry-content opacity-50\">                <p>Przeprowadzimy Ci\u0119 przez ca\u0142y proces integracji \u2013 od wygenerowania pierwszych kluczy API po uruchomienie produkcyjne. Dostosujemy konfiguracj\u0119 do Twojego \u015brodowiska technicznego i wymaga\u0144 bezpiecze\u0144stwa.<\/p>            <\/div>            <\/div>    <div class=\"list-with-icon d-flex flex-column c-row-gap-only-3 justiyfy-content-start align-items-start col-lg-4 text-white\">        <object type=\"image\/svg+xml\" data=\"https:\/\/messageflow.com\/wp-content\/uploads\/2026\/07\/Deliverability.svg\" class=\"content-with-title-and-icon__icon adjustable-element\"><\/object>        <h3 class=\"text-white text-start fz-18 c-mt-only-2\"><span class=\"ez-toc-section\" id=\"konsultacje-dostarczalnosci\"><\/span>        Konsultacje dostarczalno\u015bci    <span class=\"ez-toc-section-end\"><\/span><\/h3>                        <div class=\"d-flex flex-column gap-12px fz-16 entry-content opacity-50\">                <p>Pomo\u017cemy Ci wycisn\u0105\u0107 maksimum z ka\u017cdego kana\u0142u. Dla email: konfiguracja SPF, DKIM i DMARC. Dla SMS: dob\u00f3r routingu przez operator\u00f3w lokalnych. Dzia\u0142amy razem, \u017ceby Twoje wiadomo\u015bci trafia\u0142y tam, gdzie powinny.<\/p>            <\/div>            <\/div>    <div class=\"list-with-icon d-flex flex-column c-row-gap-only-3 justiyfy-content-start align-items-start col-lg-4 text-white\">        <object type=\"image\/svg+xml\" data=\"https:\/\/messageflow.com\/wp-content\/uploads\/2026\/07\/Developer-platform.svg\" class=\"content-with-title-and-icon__icon adjustable-element\"><\/object>        <h3 class=\"text-white text-start fz-18 c-mt-only-2\"><span class=\"ez-toc-section\" id=\"wsparcie-drugiego-poziomu\"><\/span>        Wsparcie drugiego poziomu    <span class=\"ez-toc-section-end\"><\/span><\/h3>                        <div class=\"d-flex flex-column gap-12px fz-16 entry-content opacity-50\">                <p>Je\u015bli napotkasz z\u0142o\u017cony problem integracyjny, trafia on bezpo\u015brednio do wyspecjalizowanego zespo\u0142u technicznego z gwarantowanym czasem odpowiedzi. W zg\u0142oszeniu wystarczy poda\u0107 meta.uniqId z odpowiedzi API \u2013 reszt\u0105 zajmiemy si\u0119 my.<\/p>            <\/div>            <\/div>            <\/div>            <\/div><\/section><div class=\"container\"><div class=\"row\"><div class=\"col-12\">        <div class=\"crunch-button-wrapper text-center c-mt-0\">            <a href=\"https:\/\/messageflow.com\/pl\/cennik\/pakiety-supportowe\/\" class=\"crunch-button crunch-button__outline crunch-button__outline--white-color crunch-button__outline--medium c-mt-only-4 c-mt-lg-only-5\" target=\"_self\">Poznaj pakiety supportowe <\/a>        <\/div>    <\/div><\/div><\/div><section id=\"acf-block-accordion-block_395263078dc49893269bd332c5b1d026\" class=\"acf-block-accordion  c-mt-0 c-mb-0 bg-gray-50 c-pt-only-8 c-pb-only-8\">    <div class=\"container\">        <div class=\"row\">            <div class=\"col-lg-12 d-flex flex-column c-row-gap-only-5 \">                                    <div class=\"d-flex flex-column c-row-gap-only-4\">                        <div>                                    <h2 class=\"h2  text-primary-900 text-start\"><span class=\"ez-toc-section\" id=\"faq-integracja-przez-rest-api-messageflow\"><\/span>        FAQ: integracja przez REST API MessageFlow    <span class=\"ez-toc-section-end\"><\/span><\/h2>                            <\/div>                                                    <div class=\"entry-content text-gray-700\">                                <p>Oto niekt\u00f3re z najcz\u0119\u015bciej zadawanych pyta\u0144, na kt\u00f3re odpowiadaj\u0105 nasi eksperci.<\/p>                            <\/div>                                            <\/div>                                                    <div class=\"accordion js-accordion d-flex flex-column c-row-gap-only-2\" id=\"bootstrap-acf-block-accordion-block_395263078dc49893269bd332c5b1d026\">                                                                                                        <div id=\"question-1\" class=\"single-row js-single-row border border-gray-100 rounded-2 c-p-only-4 bg-white\">                                <div class=\"single-row__header\">                                    <h3 class=\"single-row__title position-relative\" id=\"heading1\"><span class=\"ez-toc-section\" id=\"jak-uwierzytelniac-zadania-do-messageflow-api\"><\/span>                                        <button class=\"single-row__button text-start d-block bg-transparent fw-semibold border-0 w-100 fz-18  c-pl-0\" type=\"button\" data-bs-toggle=\"collapse\" data-bs-target=\"#faq-1\" aria-expanded=\"true\" aria-controls=\"faq-1\">                                            Jak uwierzytelnia\u0107 \u017c\u0105dania do MessageFlow API?                                        <\/button>                                    <span class=\"ez-toc-section-end\"><\/span><\/h3>                                <\/div>                                <div id=\"faq-1\" class=\"collapse js-collapse show\" aria-labelledby=\"heading1\" data-bs-parent=\"#bootstrap-acf-block-accordion-block_395263078dc49893269bd332c5b1d026\">                                    <div class=\"single-row__content entry-content c-mt-only-3 text-gray-700\">                                        <p>Ka\u017cde \u017c\u0105danie wymaga dw\u00f3ch nag\u0142\u00f3wk\u00f3w HTTP jednocze\u015bnie: Authorization z 128-znakowym kluczem autoryzacji oraz Application-Key z kluczem aplikacji. Oba klucze generujesz w panelu administracyjnym (Konto \u2192 Ustawienia \u2192 API). Mo\u017cliwe jest opcjonalne ograniczenie dost\u0119pu do API wy\u0142\u0105cznie z okre\u015blonych adres\u00f3w IP \u2013 konfiguracja per klucz. Brak kt\u00f3regokolwiek nag\u0142\u00f3wka skutkuje odpowiedzi\u0105 HTTP 401 Unauthorized.<\/p>                                    <\/div>                                <\/div>                            <\/div>                                                                                                            <div id=\"question-2\" class=\"single-row js-single-row border border-gray-100 rounded-2 c-p-only-4 bg-white\">                                <div class=\"single-row__header\">                                    <h3 class=\"single-row__title position-relative\" id=\"heading2\"><span class=\"ez-toc-section\" id=\"czy-messaging-api-obsluguje-webhooki\"><\/span>                                        <button class=\"single-row__button text-start d-block bg-transparent fw-semibold border-0 w-100 fz-18 collapsed c-pl-0\" type=\"button\" data-bs-toggle=\"collapse\" data-bs-target=\"#faq-2\" aria-expanded=\"false\" aria-controls=\"faq-2\">                                            Czy messaging API obs\u0142uguje webhooki?                                        <\/button>                                    <span class=\"ez-toc-section-end\"><\/span><\/h3>                                <\/div>                                <div id=\"faq-2\" class=\"collapse js-collapse\" aria-labelledby=\"heading2\" data-bs-parent=\"#bootstrap-acf-block-accordion-block_395263078dc49893269bd332c5b1d026\">                                    <div class=\"single-row__content entry-content c-mt-only-3 text-gray-700\">                                        <p><span style=\"font-weight: 400\">Tak \u2013 webhooki to centralny mechanizm powiadomie\u0144 o zdarzeniach w MessageFlow. Obs\u0142ugiwane zdarzenia obejmuj\u0105 statusy dostarczenia (DLR), otwarcia, klikni\u0119cia i zdarzenia b\u0142\u0119d\u00f3w dla wszystkich kana\u0142\u00f3w. Dla ka\u017cdego typu webhooka konfigurujesz dwa URL-e (domy\u015blny i zapasowy) \u2013 failover nast\u0119puje automatycznie. Konfiguracja przez panel (<\/span><span style=\"font-weight: 400\">Konto \u2192 Ustawienia \u2192 Webhooki<\/span><span style=\"font-weight: 400\">) lub bezpo\u015brednio przez API.<\/span><\/p>                                    <\/div>                                <\/div>                            <\/div>                                                                                                            <div id=\"question-3\" class=\"single-row js-single-row border border-gray-100 rounded-2 c-p-only-4 bg-white\">                                <div class=\"single-row__header\">                                    <h3 class=\"single-row__title position-relative\" id=\"heading3\"><span class=\"ez-toc-section\" id=\"jak-raportowane-sa-statusy-dostarczenia-wiadomosci\"><\/span>                                        <button class=\"single-row__button text-start d-block bg-transparent fw-semibold border-0 w-100 fz-18 collapsed c-pl-0\" type=\"button\" data-bs-toggle=\"collapse\" data-bs-target=\"#faq-3\" aria-expanded=\"false\" aria-controls=\"faq-3\">                                            Jak raportowane s\u0105 statusy dostarczenia wiadomo\u015bci?                                        <\/button>                                    <span class=\"ez-toc-section-end\"><\/span><\/h3>                                <\/div>                                <div id=\"faq-3\" class=\"collapse js-collapse\" aria-labelledby=\"heading3\" data-bs-parent=\"#bootstrap-acf-block-accordion-block_395263078dc49893269bd332c5b1d026\">                                    <div class=\"single-row__content entry-content c-mt-only-3 text-gray-700\">                                        <p><span style=\"font-weight: 400\">Statusy dostarczenia przekazywane s\u0105 przez webhooki w czasie rzeczywistym \u2013 bez konieczno\u015bci pollingu. Dla SMS: kody DLR (DELIVERED, UNDELIVERED, EXPIRED, REJECTED). Dla email: statusy zdarze\u0144 (injected, ok, hardbounce, softbounce, spambounce, dropped, deferred). Dla push: sze\u015b\u0107 stan\u00f3w od przyj\u0119cia przez operatora a\u017c po interakcj\u0119 u\u017cytkownika. Dla Viber: statusy dostarczenia i interakcji. Wszystkie zdarzenia dost\u0119pne s\u0105 r\u00f3wnie\u017c w przeszukiwalnym panelu operacyjnym.<\/span><\/p>                                    <\/div>                                <\/div>                            <\/div>                                                                                                            <div id=\"question-4\" class=\"single-row js-single-row border border-gray-100 rounded-2 c-p-only-4 bg-white\">                                <div class=\"single-row__header\">                                    <h3 class=\"single-row__title position-relative\" id=\"heading4\"><span class=\"ez-toc-section\" id=\"jakie-formaty-danych-obsluguje-rest-api-messageflow\"><\/span>                                        <button class=\"single-row__button text-start d-block bg-transparent fw-semibold border-0 w-100 fz-18 collapsed c-pl-0\" type=\"button\" data-bs-toggle=\"collapse\" data-bs-target=\"#faq-4\" aria-expanded=\"false\" aria-controls=\"faq-4\">                                            Jakie formaty danych obs\u0142uguje REST API MessageFlow?                                        <\/button>                                    <span class=\"ez-toc-section-end\"><\/span><\/h3>                                <\/div>                                <div id=\"faq-4\" class=\"collapse js-collapse\" aria-labelledby=\"heading4\" data-bs-parent=\"#bootstrap-acf-block-accordion-block_395263078dc49893269bd332c5b1d026\">                                    <div class=\"single-row__content entry-content c-mt-only-3 text-gray-700\">                                        <p><span style=\"font-weight: 400\">REST API MessageFlow oparte jest na formacie JSON zgodnym ze specyfikacj\u0105 JSONAPI. \u017b\u0105dania obs\u0142uguj\u0105 kompresj\u0119 Gzip (<\/span><span style=\"font-weight: 400\">Content-Encoding: gzip<\/span><span style=\"font-weight: 400\">) w celu optymalizacji transferu. Specyfikacja API dost\u0119pna jest w formacie OpenAPI 3.0.2 pod adresami <\/span><span style=\"font-weight: 400\">dev.messageflow.com\/openapi.yaml<\/span><span style=\"font-weight: 400\"> i <\/span><span style=\"font-weight: 400\">dev.messageflow.com\/openapi.json<\/span><span style=\"font-weight: 400\"> \u2013 gotowa do importu do Postman lub Swagger UI.<\/span><\/p>                                    <\/div>                                <\/div>                            <\/div>                                                                                                            <div id=\"question-5\" class=\"single-row js-single-row border border-gray-100 rounded-2 c-p-only-4 bg-white\">                                <div class=\"single-row__header\">                                    <h3 class=\"single-row__title position-relative\" id=\"heading5\"><span class=\"ez-toc-section\" id=\"co-to-jest-redlink-api\"><\/span>                                        <button class=\"single-row__button text-start d-block bg-transparent fw-semibold border-0 w-100 fz-18 collapsed c-pl-0\" type=\"button\" data-bs-toggle=\"collapse\" data-bs-target=\"#faq-5\" aria-expanded=\"false\" aria-controls=\"faq-5\">                                            Co to jest Redlink API?                                        <\/button>                                    <span class=\"ez-toc-section-end\"><\/span><\/h3>                                <\/div>                                <div id=\"faq-5\" class=\"collapse js-collapse\" aria-labelledby=\"heading5\" data-bs-parent=\"#bootstrap-acf-block-accordion-block_395263078dc49893269bd332c5b1d026\">                                    <div class=\"single-row__content entry-content c-mt-only-3 text-gray-700\">                                        <p><span style=\"font-weight: 400\">Redlink API to poprzednia nazwa interfejsu API platformy MessageFlow. Je\u015bli korzystasz z dokumentacji lub kodu opartego na Redlink API, zasoby dost\u0119pne s\u0105 w sekcji historii wersji. Skontaktuj si\u0119 z zespo\u0142em technicznym w przypadku pyta\u0144 dotycz\u0105cych migracji.<\/span><\/p>                                    <\/div>                                <\/div>                            <\/div>                                                                        <\/div>                            <\/div>        <\/div>    <\/div><\/section><section id=\"acf-block-text-call-to-action-with-logo-block_f49697a3faecb9b7f939da382d33f7c4\" class=\"text-call-to-action-with-logo acf-block-text-call-to-action-with-logo  c-pt-only-8 c-pb-only-8 bg-primary-900\">    <div class=\"container\">        <div class=\"row\">            <div class=\"col-lg-8 c-pr-lg-0 d-flex flex-column c-row-gap-only-5\">                                    <a href=\"https:\/\/messageflow.com\/pl\/\"                        class=\"text-call-to-action-with-logo__logo hover-opacity-0-75\">                        <object type=\"image\/svg+xml\" data=\"https:\/\/messageflow.com\/wp-content\/uploads\/2024\/08\/logo-white.svg\" class=\"w-100 h-100 d-block object-fit-cover\"><\/object>                    <\/a>                                        <h2 class=\"h3  text-white text-start\"><span class=\"ez-toc-section\" id=\"zwieksz-zaangazowanie-klientow-korzystajac-z-platformy-cross-channel-dostosowanej-do-twoich-potrzeb\"><\/span>        Zwi\u0119ksz zaanga\u017cowanie klient\u00f3w, korzystaj\u0105c<br> z <span class=\"text-accent-green-500\">platformy cross-channel<\/span> dostosowanej do Twoich potrzeb.    <span class=\"ez-toc-section-end\"><\/span><\/h2>                        <div class=\"d-flex align-items-center gap-3\">                                <div class=\"crunch-button-wrapper c-mt-0\">            <a href=\"https:\/\/app.messageflow.com\/register\" class=\"crunch-button crunch-button__full-background crunch-button__full-background--accent-yellow-color crunch-button__full-background--medium\" target=\"_self\">Za\u0142\u00f3\u017c konto<\/a>        <\/div>                        <\/div>            <\/div>        <\/div>    <\/div><\/section><div class=\"text-call-to-action-with-logo__decor w-100\"><\/div><div class=\"container\"><div class=\"row\"><div class=\"col-12\"><div class=\"entry-content\"><style data-wp-block-html=\"css\">.content-wrapper {background: linear-gradient(to top, rgba(26, 26, 77, 1), rgba(0, 0, 51, 1));}.code-snippet__panel:after {content: none;}.content-wrapper .bg-primary-900:not(.text-call-to-action-with-logo.acf-block-text-call-to-action-with-logo) {    background-color: transparent !important;}.text-white:not(.h2, .h3, .h4, h3, h2, h4) {color: #EFEFFE !important;}h3 + .opacity-50 {opacity: 1 !important;}.breadcrumbs {display: none;}.code-snippet__code {    height: 15.875rem;    overflow: auto;    padding: 0 1.75rem;    position: relative;    overflow-x: auto;    overflow-y: auto;    max-height: 15rem;    border: 0.0625rem solid rgb(50 51 99);    border-radius: 15px;    background: rgba(1, 0, 54, 0.8);    scrollbar-width: none;    transition: scrollbar-color 0.2s ease;}.code-snippet__code pre {color: #aaffc0;}.acf-block-content-with-media__media-wrapper {width: 100%;}.acf-block-content-with-media nav.border-bottom, .acf-block-content-with-media .code-snippet__copy {display: none;}.acf-block-columns-grid + .container {\/\/ background-color: #003;max-width: 100vw;padding-bottom: 80px;}.acf-block-content-with-media + .container {\/\/ background-color: #003;max-width: 100vw;}.acf-block-content-with-media + .container .col-12 {        max-width: 1160px;margin: 0 auto;}.acf-block-content-with-media.row-gap-5px .c-row-gap-only-5 {row-gap: 10px !important;}.acf-block-content-with-media.row-gap-5px .c-row-gap-only-5 .crunch-button-wrapper.c-mt-0 {margin-top: 30px !important;}.acf-block-content-with-media h2.h4 {font-size: 24px !important;}.acf-block-columns-grid.list-with-icon-wrapper .row.row-gap-40px {justify-content: space-between;}.text-call-to-action-with-logo.acf-block-text-call-to-action-with-logo h2:not(h2 span) {font-weight: 500;}.text-call-to-action-with-logo.acf-block-text-call-to-action-with-logo h2 .text-accent-green-500 {font-weight: 700;}@media (min-width: 1200px) {.hero-section .d-flex.flex-wrap {flex-wrap: nowrap !important;}.hero-section .crunch-button {white-space: nowrap !important;}.list-with-icon {max-width: 370px;}}@media (min-width: 992px) {    .text-call-to-action-with-logo.acf-block-text-call-to-action-with-logo .col-lg-8 {width: 100%;}}<\/style><\/div><\/div><\/div><\/div>","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_acf_changed":false,"footnotes":""},"class_list":["post-4185","page","type-page","status-publish","hentry"],"acf":[],"_links":{"self":[{"href":"https:\/\/messageflow.com\/pl\/wp-json\/wp\/v2\/pages\/4185","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/messageflow.com\/pl\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/messageflow.com\/pl\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/messageflow.com\/pl\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/messageflow.com\/pl\/wp-json\/wp\/v2\/comments?post=4185"}],"version-history":[{"count":21,"href":"https:\/\/messageflow.com\/pl\/wp-json\/wp\/v2\/pages\/4185\/revisions"}],"predecessor-version":[{"id":27953,"href":"https:\/\/messageflow.com\/pl\/wp-json\/wp\/v2\/pages\/4185\/revisions\/27953"}],"wp:attachment":[{"href":"https:\/\/messageflow.com\/pl\/wp-json\/wp\/v2\/media?parent=4185"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}