Artykuły eksperckie/Przewodnik techniczny
Przewodnik techniczny

Integracja API eSIM: architektura, workflow, webhooki i bezpieczeństwo

API eSIM pozwala firmie sprzedawać łączność i zarządzać nią we własnej witrynie, aplikacji mobilnej, procesie rezerwacji, portalu klienta lub systemie przedsiębiorstwa.

Klient może nigdy nie zobaczyć dostawcy łączności działającego w tle. Wybiera plan, płaci znanej sobie marce, otrzymuje informacje o instalacji i zarządza usługą w jednym spójnym środowisku.

Integracja techniczna stojąca za tym procesem jest bardziej złożona niż wysłanie jednego żądania i otrzymanie kodu QR. Zamówienia mogą być realizowane asynchronicznie. Profile mają własny cykl życia. Ważność pakietu może rozpoczynać się przy zakupie, instalacji lub pierwszym użyciu sieci. Rekordy zużycia mogą docierać później. Webhooki mogą być opóźnione, zduplikowane lub dostarczone w innej kolejności. Przekroczenie czasu oczekiwania nie dowodzi niepowodzenia zamówienia.

Niezawodna integracja musi zatem odpowiedzieć na cztery pytania:

  1. Który system odpowiada za poszczególne dane?
  2. Które operacje są synchroniczne, a które asynchroniczne?
  3. Jak integracja wychodzi ze stanów niepewności i awarii?
  4. Jak wrażliwe operacje są uwierzytelniane, autoryzowane, monitorowane i uzgadniane?

Ten przewodnik wyjaśnia praktyczną architekturę dla firm integrujących usługę white-label SIM i eSIM. Przykłady są niezależne od dostawcy i mają charakter ilustracyjny. Nie stanowią specyfikacji aktualnego API SIM24.biz.

Najważniejsze wnioski

  • Handlowe API eSIM zwykle łączy systemy biznesowe z platformą dostawcy. Nie daje zwykłemu sklepowi bezpośredniego dostępu do eUICC ani SM-DP+.
  • Zdefiniuj systemy źródłowe przed rozpoczęciem developmentu. Platforma handlowa, dostawca, usługa płatnicza i CRM nie powinny jednocześnie uznawać się za rozstrzygające źródło tego samego stanu.
  • Traktuj realizację zamówień i wiele operacji cyklu życia jako asynchroniczne, nawet jeśli zwykle kończą się szybko.
  • Używaj stabilnej referencji wygenerowanej przez klienta API i strategii idempotencji, aby ponowienie nie tworzyło niezamierzonego drugiego zamówienia.
  • Wynik żądania, którego czas oczekiwania upłynął, pozostaje nieznany, dopóki klient nie odczyta zasobu lub nie otrzyma zweryfikowanego zdarzenia.
  • Odbiorcy webhooków muszą weryfikować autentyczność, odrzucać przeterminowane lub nieprawidłowe komunikaty, zapisywać identyfikatory zdarzeń i bezpiecznie obsługiwać duplikaty.
  • Kod powodzenia HTTP potwierdza przyjęcie żądania lub pomyślne zwrócenie odpowiedzi. Niekoniecznie dowodzi instalacji profilu czy działania danych mobilnych.
  • Rozdziel stany zamówienia, profilu, pakietu, sieci i płatności. Sprowadzenie ich do jednej flagi „active” podważa wiarygodność obsługi i uzgadniania danych.
  • Stosuj poświadczenia z minimalnymi uprawnieniami, bezpieczne przechowywanie sekretów, kontrolowaną rotację, silną izolację kont organizacji i szczegółowe logi audytowe.
  • Realistyczny sandbox, testy awarii i uzgadnianie finansowe są wymaganiami uruchomienia produkcyjnego, a nie opcjonalnymi ulepszeniami.

Co właściwie robi API eSIM?

Określenie „API eSIM” stosuje się do kilku różnych interfejsów.

API handlowe i produktowe

Interfejs udostępnia produkty, ceny, kierunki, limity, ważność i reguły handlowe. Partner wykorzystuje go do budowy katalogu lub wybrania produktu do zamówienia.

API zamówień i realizacji

Tworzy zamówienie, rezerwuje lub przydziela profil i zwraca informacje o realizacji, kiedy staną się dostępne.

API cyklu życia profilu

W zależności od usługi i architektury provisioningu może udostępniać przydział profilu, stan pobrania, informacje o włączeniu, wymianę lub inne dozwolone działania cyklu życia.

API zarządzania łącznością

Może udostępniać stan SIM, stan pakietu, zużycie, saldo, doładowania, zawieszenie, reaktywację, informacje o sieci i alerty.

API administracji partnera

Platforma obsługująca resellerów lub klientów firmowych może oferować hierarchię kont, uprawnienia, cenniki, limity i raportowanie.

Interfejsy zdalnego provisioningu SIM

Specyfikacje GSMA definiują interfejsy i procedury bezpieczeństwa używane przez takie komponenty jak SM-DP+, Local Profile Assistant, eUICC, IoT Profile Assistant i eSIM IoT Remote Manager.

Nie są one tym samym co publiczne API handlowe. Aplikacja podróżna zwykle wywołuje biznesowe API swojego dostawcy. Platforma dostawcy współpracuje następnie z odpowiednim zasobem profili i infrastrukturą provisioningową za pośrednictwem kontrolowanych systemów.

To rozróżnienie jest istotne. Pomyślna odpowiedź API zamówień może oznaczać przydzielenie profilu i dostępność informacji aktywacyjnych. Nie dowodzi, że urządzenie klienta pobrało profil, włączyło go, zarejestrowało się w sieci lub użyło danych.

Praktyczna architektura referencyjna

Typowa usługa white-label oparta na API zawiera następujące warstwy.

WarstwaTypowa odpowiedzialność
Kanał klientaWitryna, aplikacja mobilna, portal partnera, osadzony checkout lub interfejs przedsiębiorstwa
Backend handlowyKonto klienta, koszyk, ceny, podatki, orkiestracja płatności, referencje zamówień i obsługi
Usługa integracyjnaUwierzytelnianie wobec dostawcy, mapowanie żądań, ponawianie, obsługa webhooków, synchronizacja stanów i audyt
Platforma dostawcy white-labelKatalog produktów, przydział profili lub SIM, operacje cyklu życia, zużycie i mechanizmy kontroli partnera
Systemy provisioningu i łącznościSM-DP+ lub inne właściwe komponenty provisioningu, systemy abonentów, naliczanie opłat, polityki i dostęp do sieci
Usługi zewnętrzneDostawca płatności, CRM, e-mail, SMS, analityka, systemy antyfraudowe i obsługowe

Dlaczego usługa integracyjna jest przydatna

Sklep może wywoływać dostawcę bezpośrednio, ale dedykowany backend lub warstwa integracyjna zwykle tworzy bezpieczniejszą granicę.

Może ona:

  • utrzymywać poświadczenia dostawcy poza przeglądarkami i aplikacjami mobilnymi;
  • mapować model danych dostawcy na wewnętrzny model marki;
  • egzekwować reguły biznesowe i limity;
  • dołączać referencje idempotencji;
  • zapisywać identyfikatory żądań i odpowiedzi;
  • odbierać i weryfikować webhooki;
  • kolejkować pracę i bezpiecznie ponawiać próby;
  • chronić doświadczenie klienta przed zmianami u dostawcy;
  • umożliwić późniejszą obsługę więcej niż jednego dostawcy;
  • tworzyć ślad audytowy dla wsparcia i finansów.

Usługa integracyjna nie musi być dużą niezależną platformą. Może być wyraźnie wydzielonym modułem istniejącego backendu. Ważne, aby logika właściwa dostawcy nie przenikała do każdego komponentu obsługującego klienta.

Określ system źródłowy dla każdej encji

Systemy rozproszone stają się zawodne, gdy odpowiedzialność jest niejednoznaczna.

Dla każdej ważnej encji określ system rozstrzygający oraz systemy przechowujące zsynchronizowane kopie.

EncjaMożliwy system źródłowyWażne uwagi
Konto klientaCRM marki lub backend handlowyDostawca powinien otrzymywać tylko dane potrzebne do usługi
Cena detalicznaSystem handlowy markiKatalog hurtowy i koszt mogą pozostać domeną dostawcy
PłatnośćDostawca płatności oraz księga markiZamówienie dostawcy nie powinno zastępować ewidencji płatności
Zamówienie partneraUsługa zamówień markiZapisuj identyfikator zamówienia dostawcy jako powiązaną referencję
Profil eSIMDostawca lub platforma provisioningowaMarka zapisuje dozwolone identyfikatory i obserwowany stan cyklu życia
Pakiet danychPlatforma dostawcyMarka wyświetla zsynchronizowany stan i jego interpretację handlową
Rekord zużyciaPlatforma łączności lub naliczania opłatRekordy mogą przychodzić później niż działania klienta
Decyzja o zwrocieSystem handlowy markiMusi być zgodna z zasadami anulowania i profili u dostawcy
Zgłoszenie do wsparciaPlatforma obsługowa markiŁącz identyfikatory techniczne bez ujawniania zbędnych sekretów

Nie nadpisuj historii najnowszym stanem

Przechowuj oba elementy:

  • bieżący zmaterializowany stan używany przez aplikację;
  • historię istotnych żądań, odpowiedzi, zdarzeń i działań ręcznych, do której można wyłącznie dopisywać.

Jeśli zamówienie przechodzi z pending do fulfilled, bieżący rekord powinien pokazywać fulfilled. Historia audytu powinna nadal wskazywać, kiedy je utworzono, które żądanie API je zainicjowało, kiedy dostawca je przyjął i które zdarzenie potwierdziło realizację.

To rozróżnienie jest niezbędne przy badaniu podwójnych obciążeń, opóźnionej realizacji czy kwestionowanego działania wsparcia.

Używaj jasnego modelu domenowego

Integracja eSIM nie powinna traktować „eSIM” jako jednego wiersza bazy danych zawierającego wszystkie stany.

Przydatne encje zwykle obejmują:

Produkt

Oferta handlowa dostępna do sprzedaży, np. regionalny plan 10 GB ważny 30 dni. Może obejmować zasięg w kierunkach, limit, zasady ważności, obsługiwane usługi i cenę hurtową.

Zamówienie

Handlowe żądanie nabycia produktu. Zamówienie ma własny status, referencję klienta, cenę i powiązanie z płatnością.

Profil

Pobieralna subskrypcja mobilna powiązana z identyfikatorami provisioningu i stanem cyklu życia. Profil może być powiązany z zamówieniem, ale sam nie jest zamówieniem.

Powiązanie z SIM lub eUICC

W zastosowaniach fizycznej SIM lub zarządzanego IoT usługa może osobno modelować kartę, eUICC, EID, ICCID, urządzenie i przypisany zasób.

Pakiet lub uprawnienie

Limit i okres ważności, z których może korzystać klient. Doładowanie może tworzyć nowe uprawnienie bez utworzenia nowego profilu.

Zużycie

Rekordy konsumpcji lub zagregowane salda raportowane przez dostawcę. Zużycie powinno zawierać czas obserwacji lub taryfikacji, jednostkę i źródło.

Operacja cyklu życia

Żądane działanie, takie jak zawieszenie, reaktywacja, doładowanie, wymiana lub anulowanie. Żądanie może oczekiwać przed zakończeniem powodzeniem lub błędem.

Zdarzenie

Niezmienne powiadomienie, że coś się wydarzyło, identyfikowane niezależnie od zasobu, którego dotyczy.

Rozdzielenie pojęć zapobiega sprzecznościom typu „za eSIM zwrócono pieniądze, ale nadal jest aktywny”. Zwrot należy do płatności lub zamówienia, natomiast profil i pakiet wymagają własnych działań wynikowych i stanów.

Przepływ obsługi katalogu

Pierwsza decyzja integracyjna dotyczy sposobu wprowadzania produktów do sklepu.

Pobieranie katalogu na żywo

Kanał klienta lub backend pobiera produkty od dostawcy, gdy są potrzebne.

Zalety:

  • aktualne dane dostawcy;
  • mniej zadań synchronizacyjnych;
  • szybki dostęp do nowych produktów.

Ryzyka:

  • checkout zależy od dostępności i opóźnień dostawcy;
  • szczegóły hurtowe mogą przeniknąć do logiki widocznej dla klienta;
  • zmiany produktów mogą natychmiast wpłynąć na działający sklep;
  • powtarzane wywołania mogą wyczerpywać limity żądań.

Zsynchronizowany katalog lokalny

Marka okresowo importuje produkty dostawcy i publikuje zatwierdzone wersje detaliczne z własnej bazy danych.

Zalety:

  • szybszy i lepiej kontrolowany sklep;
  • lokalne tytuły, tłumaczenia, ceny i prezentacja oferty;
  • świadome zatwierdzanie zmian dostawcy;
  • odporność na chwilową niedostępność katalogu dostawcy.

Ryzyka:

  • produkty i ceny mogą się zdezaktualizować;
  • potrzebne są synchronizacja i przegląd zmian;
  • niedostępny zasób może pozostać widoczny.

Zalecany model kontroli

Używaj zsynchronizowanego katalogu do prezentacji, ale weryfikuj kluczową dostępność i aktualne warunki handlowe przed utworzeniem zamówienia dostawcy.

Przechowuj:

  • niezmienny identyfikator produktu dostawcy;
  • wersję dostawcy i lokalną lub czas ostatniej aktualizacji;
  • walutę i koszt hurtowy;
  • identyfikator produktu detalicznego;
  • kierunki i sieci, jeśli są udostępniane;
  • limit, ważność i regułę aktywacji;
  • ograniczenia usługi;
  • status sprzedaży i powód wycofania.

Nigdy nie używaj przetłumaczonej nazwy produktu jako identyfikatora API.

Pełny proces zakupu i realizacji

Odporną ścieżkę klienta można zaprojektować jako sekwencję przejść między stanami.

Krok 1: Zweryfikuj produkt

Potwierdź, że wybrany produkt nadal można sprzedawać, kierunek i zasady usługi odpowiadają zamówieniu, a aktualny koszt nie narusza ustalonego ograniczenia handlowego.

Krok 2: Utwórz zamówienie lokalne

Wygeneruj własny identyfikator zamówienia przed wywołaniem systemów zewnętrznych. Zapisz klienta, produkt, zaoferowaną cenę detaliczną, walutę, sposób rozliczenia podatku i kopię istotnych warunków produktu z chwili zakupu.

Produkt może później się zmienić. Historyczne zamówienie powinno nadal pokazywać, co kupił klient.

Krok 3: Autoryzuj lub pobierz płatność

Właściwa kolejność zależy od metody płatności i zasad dostawcy.

Typowe wzorce obejmują:

  • autoryzację płatności, utworzenie zamówienia dostawcy, następnie pobranie środków;
  • pobranie płatności, utworzenie zamówienia dostawcy, następnie automatyczny zwrot, jeśli realizacja się nie powiedzie;
  • rezerwację zasobu dostawcy, pobranie płatności, następnie potwierdzenie realizacji.

Każdy wzorzec tworzy inny przypadek awarii. Udokumentuj, co następuje, gdy płatność się powiedzie, ale żądanie dostawcy przekroczy czas oczekiwania, albo gdy dostawca zrealizuje zamówienie po nieudanym pobraniu środków.

Krok 4: Wyślij zamówienie do dostawcy

Przekaż stabilną referencję partnera oraz wartość idempotencji, jeśli jest obsługiwana.

Przykładowe żądanie może wyglądać następująco:

POST /v1/orders HTTP/1.1
Authorization: Bearer <access-token>
Content-Type: application/json
Idempotency-Key: 7f5089ca-68d4-4e0e-91c3-f44d74c21c6a

{
  "partner_order_reference": "WEB-20260914-18427",
  "product_id": "regional-eu-10gb-30d",
  "quantity": 1
}

Przykładowa odpowiedź potwierdzająca przyjęcie:

{
  "order_id": "ord_82h41",
  "partner_order_reference": "WEB-20260914-18427",
  "status": "processing",
  "created_at": "2026-09-14T13:05:28Z"
}

Powyższe żądanie i nazwy pól są wyłącznie przykładami. Rzeczywiste integracje muszą stosować dokumentację wybranego dostawcy.

Krok 5: Ustal wynik asynchroniczny

Dostawca może zwrócić dane realizacji natychmiast lub kontynuować przetwarzanie.

Integracja powinna umożliwiać uzyskanie wyniku przez:

  • webhook;
  • odczyt zasobu zamówienia;
  • endpoint statusu;
  • kontrolowane zadanie uzgadniające dane.

Nie utrzymuj bezterminowo otwartego żądania z przeglądarki klienta, gdy kilka systemów zewnętrznych kończy pracę.

Krok 6: Bezpiecznie zapisz dane realizacji

Zapisz identyfikator zamówienia dostawcy, referencję profilu, dozwolone dane aktywacyjne i odpowiedni stan handlowy. Ogranicz dostęp do informacji aktywacyjnych, ponieważ niekontrolowane ujawnienie może umożliwić instalację profilu nieuprawnionej osobie.

Krok 7: Udostępnij proces instalacji

Klient może otrzymać:

  • kod QR;
  • adres SM-DP+ i kod aktywacyjny;
  • link aktywacyjny obsługiwany przez system operacyjny;
  • instrukcje w aplikacji mobilnej;
  • inną metodę aktywacji obsługiwaną przez dostawcę.

Kod QR nie jest profilem eSIM. Zwykle przedstawia informacje używane przez urządzenie do rozpoczęcia bezpiecznego procesu provisioningu.

Krok 8: Obserwuj późniejsze zdarzenia cyklu życia

Jeśli dostawca i łańcuch provisioningu je udostępniają, późniejsze stany mogą obejmować pobranie, instalację, włączenie, pierwszą rejestrację w sieci, aktywację pakietu, zużycie i wygaśnięcie.

Nie deklaruj widoczności, której systemy dostawców nie zapewniają. Niektóre platformy mogą wiedzieć, że wydano informacje aktywacyjne, lecz nie otrzymywać natychmiastowego, rozstrzygającego stanu instalacji na urządzeniu.

Projektuj jawne maszyny stanów

Pojedyncze pole statusu active jest zbyt nieprecyzyjne dla integracji produkcyjnej.

Przykładowe stany zamówienia

  • created
  • payment_pending
  • payment_authorised
  • submitted
  • processing
  • fulfilled
  • failed
  • cancelled
  • refunded
  • manual_review

Przykładowe stany profilu

  • unassigned
  • allocated
  • activation_data_issued
  • downloaded
  • enabled
  • disabled
  • deleted
  • expired
  • unknown

Przykładowe stany pakietu

  • pending
  • available
  • active
  • depleted
  • expired
  • cancelled

Są to przykładowe stany wewnętrzne. Dostawca może używać innej terminologii i nie udostępniać każdego przejścia.

Zachowaj „nieznany” jako rzeczywisty stan

Systemy rozproszone tworzą niepewność. Jeśli żądanie przekroczy czas oczekiwania po wysłaniu, prawidłowym stanem nie jest automatycznie failed. Dostawca mógł je otrzymać i zakończyć.

Oznacz wynik jako nieznany lub oczekujący na uzgodnienie. Odczytaj zasób za pomocą stabilnej referencji partnera lub klucza idempotencji, zanim spróbujesz utworzyć zamówienie zastępcze.

Idempotencja: zapobieganie przypadkowym podwójnym zamówieniom

Operacja jest idempotentna, gdy powtórzenie tego samego zamierzonego żądania nie tworzy dodatkowego skutku biznesowego.

HTTP definiuje metody takie jak GET, PUT i DELETE jako idempotentne w ich zamierzonej semantyce. POST domyślnie nie jest idempotentny, lecz tworzenie zamówień często używa POST. Dlatego ważny jest mechanizm idempotencji na poziomie biznesowym.

Bezpieczny wzorzec zamówienia

  1. Wygeneruj unikalny klucz idempotencji dla zamierzonego zakupu.
  2. Zapisz go trwale przed wysłaniem żądania do dostawcy.
  3. Przy ponawianiu tej samej zamierzonej operacji wysyłaj ten sam klucz.
  4. Nigdy nie używaj go ponownie dla innego produktu, klienta lub ilości.
  5. Zapisz odpowiedź dostawcy powiązaną z kluczem.
  6. Po niepewnej odpowiedzi wyszukaj zamówienie według referencji partnera.

Dostawca powinien określić:

  • które endpointy obsługują idempotencję;
  • jak długo przechowuje klucze;
  • czy porównuje zawartość żądań;
  • jaką odpowiedź zwraca dla powtórzonego klucza;
  • zachowanie, gdy pierwsze żądanie nadal jest przetwarzane;
  • obsługę konfliktu, gdy ten sam klucz zostaje użyty z innymi danymi.

Idempotencja nie zastępuje uzgadniania danych

Błąd klienta API lub dostawcy nadal może tworzyć niespójne rekordy. Finanse i operacje powinny regularnie porównywać zamówienia lokalne, zamówienia dostawcy, przydzielone profile, płatności i faktury.

Przekroczenia czasu oczekiwania i strategia ponawiania

Ponawianie powinno zależeć od operacji i typu błędu.

Warunki zwykle pozwalające na ponowienie

  • chwilowa awaria sieci;
  • zerwanie połączenia;
  • niedostępność usługi dostawcy;
  • jawne ograniczenie liczby żądań z użyteczną wskazówką dotyczącą ponowienia;
  • błąd serwera udokumentowany jako przejściowy.

Warunki zwykle wymagające korekty lub weryfikacji

  • nieprawidłowy identyfikator produktu;
  • nieudane uwierzytelnienie;
  • niewystarczające uprawnienia;
  • nieprawidłowo zbudowane żądanie;
  • błąd salda konta lub limitu kredytowego;
  • niezgodny stan zasobu;
  • odrzucenie przez regułę biznesową.

Używaj ograniczonego wykładniczego opóźnienia z losową zmiennością

Wydłużanie opóźnienia między próbami zmniejsza ryzyko, że wielu klientów jednocześnie przeciąży odzyskującą sprawność usługę. Dodaj losową zmienność, czyli jitter, aby wszystkie procesy robocze nie ponawiały próby w tej samej chwili.

Ustaw:

  • maksymalną liczbę prób;
  • maksymalny łączny czas;
  • ścieżkę kolejki dead-letter lub ręcznej weryfikacji;
  • alerty dotyczące trwałego niepowodzenia;
  • osobne polityki dla odczytów i operacji zmieniających stan.

Nigdy nie ponawiaj niepewnego żądania utworzenia zamówienia z nową referencją tylko dlatego, że pierwsza odpowiedź HTTP nie dotarła.

Webhooki: zdarzenia dostarczane przez dostawcę

Webhooki pozwalają dostawcy powiadomić partnera o wystąpieniu zdarzenia asynchronicznego.

Możliwe zdarzenia obejmują:

  • realizację lub niepowodzenie zamówienia;
  • przydzielenie profilu;
  • dostępność informacji aktywacyjnych;
  • zmianę stanu profilu;
  • aktywację, wyczerpanie lub wygaśnięcie pakietu;
  • osiągnięcie progu zużycia;
  • zawieszenie lub reaktywację SIM;
  • zakończenie doładowania;
  • zmianę produktu lub ceny;
  • zmianę stanu incydentu lub prac serwisowych.

Przykładowa struktura komunikatu zdarzenia

{
  "event_id": "evt_01J7S6A8QK",
  "event_type": "order.fulfilled",
  "occurred_at": "2026-09-14T13:05:31Z",
  "resource": {
    "type": "order",
    "id": "ord_82h41"
  },
  "data": {
    "partner_order_reference": "WEB-20260914-18427",
    "status": "fulfilled"
  }
}

Ten przykład nie jest schematem SIM24.biz.

Uwierzytelniaj nadawcę

Endpoint webhooka dostępny z internetu nie powinien ufać żądaniu tylko dlatego, że zawiera wiarygodnie wyglądający identyfikator zamówienia.

Typowe mechanizmy obejmują:

  • podpis obliczony na dokładnej treści żądania;
  • znacznik czasu zawarty w podpisywanym materiale;
  • wąskie okno akceptacji ograniczające ryzyko ponownego odtworzenia komunikatu;
  • porównywanie podpisów w stałym czasie;
  • rotację sekretów z kontrolowanym okresem nakładania się ważności;
  • wzajemne TLS dla zastosowań wymagających większej pewności, jeśli jest obsługiwane;
  • kontrolę sieciową jako dodatkową warstwę, a nie jedyną metodę uwierzytelnienia.

Dokumentacja dostawcy powinna definiować obowiązujący algorytm podpisywania i kodowanie. Parsowanie i ponowna serializacja JSON przed weryfikacją mogą zmienić bajty, powodując odrzucanie poprawnych podpisów lub nieoczekiwane akceptowanie niebezpiecznych porównań. Weryfikuj surową otrzymaną treść według udokumentowanego schematu.

Przetwarzaj webhooki asynchronicznie

Niezawodny odbiorca zwykle:

  1. odbiera żądanie;
  2. sprawdza rozmiar i podstawowe wymagania transportu;
  3. weryfikuje podpis i znacznik czasu;
  4. trwale zapisuje zdarzenie i jego identyfikator;
  5. szybko zwraca udokumentowaną odpowiedź powodzenia;
  6. przetwarza skutek biznesowy przez wewnętrzną kolejkę lub proces roboczy;
  7. zapisuje powodzenie, ponowienie lub ręczną interwencję.

Nie wykonuj wolnej realizacji zamówienia, wysyłki e-mail ani pracy CRM przed potwierdzeniem webhooka. Wolna odpowiedź może wywołać ponowienie u dostawcy i zwiększyć liczbę duplikatów.

Zakładaj zduplikowane dostarczenie

Dostarczenie co najmniej raz jest powszechne w systemach zdarzeń. Dostawca ponawia, ponieważ nie może wiedzieć, czy odbiorca zapisał zdarzenie przed awarią połączenia.

Zapisuj event_id z ograniczeniem unikalności. Ponowne przetworzenie tego samego zdarzenia nie powinno wykonywać drugiego zwrotu, wysyłać wielu wiadomości realizacyjnych ani stosować tego samego doładowania dwa razy.

Zakładaj zdarzenia przychodzące w innej kolejności

Opóźnione zdarzenie order.processing może dotrzeć po order.fulfilled.

Wykorzystuj:

  • numery wersji zasobu, jeśli są udostępniane;
  • numery sekwencji dostawcy;
  • czas wystąpienia zdarzenia, zachowując ostrożność;
  • reguły dozwolonych przejść między stanami;
  • odczyt bieżącego zasobu, gdy zdarzenie koliduje ze stanem lokalnym.

Nie zastępuj bezrefleksyjnie bieżącego stanu ostatnim odebranym webhookiem.

Traktuj webhook jako powiadomienie, nie zawsze jako kompletną prawdę

Dla wrażliwych działań użyj zdarzenia do uruchomienia odczytu aktualnego zasobu dostawcy. Ogranicza to dane przenoszone w zdarzeniach i pozwala potwierdzić bieżący stan uwierzytelnionym wywołaniem API.

Polling i uzgadnianie nadal są potrzebne

Webhooki poprawiają szybkość reakcji, lecz nie powinny być jedynym mechanizmem synchronizacji.

Zdarzenia można przeoczyć z powodu:

  • błędów konfiguracji;
  • wygasłych sekretów lub certyfikatów;
  • chwilowych awarii odbiorcy;
  • błędów dostarczania po stronie dostawcy;
  • limitów przechowywania zdarzeń;
  • wdrożenia, które odrzuca poprawne komunikaty.

Proces uzgadniania może okresowo porównywać:

  • lokalne zamówienia oczekujące ze stanem zamówień dostawcy;
  • lokalne referencje profili z przydzielonym zasobem;
  • żądania doładowania z utworzonymi uprawnieniami;
  • salda pakietów z rekordami zużycia;
  • zwroty z anulowaniami u dostawcy;
  • miesięczne sumy wewnętrzne z fakturą dostawcy.

Częstotliwość uzgadniania powinna odzwierciedlać ryzyko biznesowe. Opłacone, niezrealizowane zamówienie może wymagać uwagi w ciągu minut, podczas gdy uzgadnianie zużycia na poziomie faktury może odbywać się codziennie lub co miesiąc.

Uwierzytelnianie i autoryzacja

Bezpieczeństwo API zaczyna się od rozpoznania wywołującej aplikacji lub usługi i ograniczenia jej możliwości.

Trzymaj poświadczenia na zaufanych serwerach

Nigdy nie umieszczaj sekretu dostawcy w:

  • kodzie JavaScript przeglądarki;
  • publicznej aplikacji mobilnej;
  • pobieralnym pliku konfiguracyjnym;
  • kodzie źródłowym zapisanym w repozytorium;
  • zrzutach ekranu wsparcia lub logach.

Kanały klienta powinny wywoływać backend marki, który następnie wywołuje dostawcę z poświadczeniami serwerowymi.

Preferuj krótkotrwałe poświadczenia, jeśli są dostępne

Mechanizm OAuth 2.0 client credentials lub inny odpowiedni mechanizm tożsamości aplikacji może wydawać tokeny dostępu o ograniczonym czasie życia. RFC 9700 zawiera aktualne dobre praktyki bezpieczeństwa OAuth 2.0 i wycofuje niebezpieczne historyczne wzorce.

Jeżeli dostawca stosuje statyczne klucze API, zrównoważ to przez:

  • przechowywanie w menedżerze sekretów;
  • ścisłe oddzielenie środowisk;
  • minimalne uprawnienia;
  • regularną rotację;
  • monitorowanie nietypowego użycia;
  • procedury natychmiastowego unieważnienia;
  • zakaz współdzielenia jednego klucza przez niepowiązane aplikacje lub partnerów.

Uwierzytelnienie nie jest autoryzacją

Poprawne poświadczenie nie powinno automatycznie zapewniać dostępu do każdego konta organizacji, profilu lub operacji.

Mechanizmy kontroli powinny egzekwować:

  • granice partnera i konta organizacji;
  • własność zasobu;
  • dozwolony katalog produktów;
  • dozwolone działania cyklu życia;
  • limity wydatków lub wolumenu;
  • rolę administratora;
  • rozdział dostępu do produkcji i sandboxu.

OWASP API Security Top 10 2023 wskazuje m.in. błędną autoryzację na poziomie obiektu, błędne uwierzytelnianie, błędną autoryzację funkcji i nieograniczony dostęp do wrażliwych procesów biznesowych jako główne zagrożenia API.

Silniej chroń operacje administracyjne

Operacje takie jak tworzenie poświadczeń, masowe zawieszanie, zmiany cen, zatwierdzanie zwrotów i eksport danych mogą wymagać:

  • uwierzytelniania wieloskładnikowego;
  • zatwierdzenia przez drugą osobę;
  • dodatkowego uwierzytelnienia dla danej czynności;
  • ograniczenia sieci źródłowych;
  • szczegółowych zapisów audytu;
  • powiadomienia zespołu bezpieczeństwa lub finansów.

Bezpieczeństwo żądań, odpowiedzi i danych

Bezpieczeństwo transportu

Używaj aktualnych konfiguracji TLS i prawidłowo weryfikuj certyfikaty. Nie wyłączaj weryfikacji, aby rozwiązać problem środowiska testowego.

Walidacja danych wejściowych

Weryfikuj typ, długość, format, dozwolone wartości i znaczenie biznesowe. Poprawny dokument JSON nadal może żądać niemożliwej ilości, niedozwolonego produktu lub niebezpiecznego zakresu eksportu.

Minimalizacja danych wyjściowych

Zwracaj tylko pola potrzebne wywołującemu. Unikaj ujawniania sekretów dostawcy, wewnętrznych identyfikatorów sieciowych, danych osobowych lub pełnych danych aktywacyjnych nieuprawnionym rolom.

Logowanie bez wycieków

Logi powinny zawierać informacje wystarczające do diagnozy, w tym:

  • identyfikator korelacji;
  • referencję zamówienia partnera;
  • identyfikator żądania dostawcy;
  • endpoint i kategorię wyniku;
  • czas trwania i liczbę ponowień;
  • odpowiednie identyfikatory zasobów;
  • tożsamość użytkownika lub aplikacji wykonującej operację.

Maskuj lub wykluczaj:

  • tokeny dostępu i klucze API;
  • sekrety i podpisy webhooków;
  • dane kart płatniczych;
  • materiały uwierzytelniające;
  • niepotrzebne dane osobowe;
  • pełne kody aktywacyjne, jeśli nie są wymagane przez wsparcie.

Ochrona danych

Określ, jakich danych osobowych potrzebuje dostawca i dlaczego. Dla usług podlegających GDPR zdefiniuj role administratora i podmiotu przetwarzającego dla poszczególnych czynności, zawrzyj wymagane warunki przetwarzania, wymień podwykonawców przetwarzania, kontroluj transfery międzynarodowe i ustanów procedury przechowywania oraz usuwania.

Integracja API powinna wspierać minimalizację danych. Jeśli dostawca może zrealizować zamówienie eSIM, używając referencji zamówienia partnera, może nie potrzebować pełnego profilu marketingowego klienta ani niepowiązanych szczegółów rezerwacji.

Chroń wrażliwe procesy biznesowe

Wiele ataków API nie wykorzystuje nieprawidłowego pakietu. Automatyzują poprawną funkcję na szkodliwą skalę.

Przykłady obejmują:

  • tworzenie dużej liczby profili z użyciem skradzionych metod płatności;
  • wielokrotne żądanie zastępczych informacji aktywacyjnych;
  • odgadywanie kolejnych identyfikatorów zamówień lub profili;
  • nadużywanie produktów promocyjnych;
  • uruchamianie kosztownych doładowań;
  • eksport nadmiernej ilości danych klientów;
  • wyczerpywanie zasobu dostawcy lub limitów żądań.

Mechanizmy kontroli mogą obejmować:

  • limity żądań dla każdego konta organizacji i operacji;
  • progi wydatków i wolumenu;
  • ocenę ryzyka płatności i konta;
  • walidację oczekiwanego stanu;
  • zatwierdzanie ryzykownych operacji masowych;
  • monitoring anomalii;
  • mechanizmy automatycznego odcinania wywołań, czyli circuit breakers;
  • zabezpieczenia zasobów;
  • ręczną weryfikację wyjątkowych wzorców.

Sam techniczny limit żądań nie jest strategią antyfraudową. Dziesięć dozwolonych żądań nadal może szkodzić, jeśli każde kupuje drogi produkt.

Wersjonowanie API i zarządzanie zmianami

Usługi łączności ewoluują. Zmieniają się produkty, sieci, relacje z dostawcami i interfejsy oprogramowania.

Dostawca powinien dokumentować:

  • podejście do wersjonowania;
  • politykę zgodności wstecznej;
  • okres wycofywania;
  • informacje o wydaniach;
  • definicję zmiany naruszającej zgodność;
  • dostępność sandboxu przed zmianą produkcyjną;
  • sposób ogłaszania pilnych zmian;
  • obsługę równolegle działających wersji;
  • sposób traktowania nowych wartości wyliczeniowych i nowych pól opcjonalnych.

Buduj tolerancyjnych, a nie nieostrożnych odbiorców

Odbiorca zwykle powinien tolerować nowe pole opcjonalne. Nie powinien jednak bezgłośnie akceptować nieznanej wartości zmieniającej znaczenie finansowe lub cykl życia.

Na przykład nowo wprowadzony status zamówienia powinien przenieść rekord do jawnego stanu nieznanego lub wymagającego weryfikacji, zamiast zostać uznany za realizację.

Używaj dokumentacji czytelnej maszynowo

OpenAPI Specification zapewnia standardowy format opisu API HTTP. Utrzymywana specyfikacja może wspierać generowanie klientów, walidację, narzędzia testowe i dokumentację.

Dokumentacja czytelna maszynowo nie jest automatycznie poprawna. Porównuj ją z rzeczywistym zachowaniem sandboxu i informacjami o wydaniach.

Obserwowalność i monitoring operacyjny

Integracja nie jest kompletna, dopóki operatorzy nie widzą, czy działa.

Metryki techniczne

  • liczba żądań według endpointu i wyniku;
  • percentyle opóźnień;
  • odsetek przekroczeń czasu i błędów połączenia;
  • błędy uwierzytelniania;
  • odpowiedzi związane z ograniczeniem liczby żądań;
  • liczba ponowień;
  • błędy podpisów webhooków;
  • opóźnienie przetwarzania webhooków;
  • długość kolejki i najstarszy komunikat;
  • liczba komunikatów dead-letter.

Metryki biznesowe

  • opłacone zamówienia oczekujące na realizację;
  • skuteczność i czas realizacji;
  • profile przydzielone, ale niedostarczone;
  • stan instalacji lub aktywacji, jeśli dostępny;
  • czas realizacji doładowania;
  • wskaźnik zwrotów i wymian;
  • różnice przy uzgadnianiu zamówień z dostawcą;
  • odchylenia zużycia i faktur;
  • marża na poziomie produktu;
  • liczba kontaktów ze wsparciem na zamówienie.

Identyfikatory korelacji

Łącz rekordy klienta, płatności, lokalnego zamówienia, zamówienia dostawcy, profilu i zdarzenia stabilnymi identyfikatorami. Przekazuj identyfikator korelacji przez usługi wewnętrzne i zachowuj identyfikator żądania lub śledzenia dostawcy, jeśli go udostępnia.

Pracownik wsparcia powinien móc zacząć od numeru zamówienia klienta i dotrzeć do odpowiednich dowodów technicznych bez ręcznego przeszukiwania kilku niepowiązanych systemów.

Alerty powinny wskazywać działanie

„Wzrosła liczba błędów API” jest mniej użyteczne niż:

„Tworzenie zamówień u dostawcy przekracza uzgodniony próg błędów od dziesięciu minut; 28 opłaconych zamówień pozostaje w oczekiwaniu; automatyczne ponowienia są wstrzymane; właścicielem incydentu jest zespół operacyjny integracji”.

Każdy alert powinien określać wagę, dotknięty proces, wpływ na klientów, odpowiedzialny zespół i natychmiastowe działanie.

Obsługa awarii dostawcy

Doświadczenie klienta powinno przechodzić w bezpieczny stan awaryjny, gdy usługa dostawcy jest niedostępna.

Możliwe mechanizmy obejmują:

  • circuit breaker po powtarzających się błędach;
  • realizację w kolejce z jasnym komunikatem dla klienta;
  • tymczasowe wycofanie dotkniętych produktów;
  • zapobieganie dalszemu pobieraniu płatności, gdy nie można bezpiecznie zakończyć realizacji;
  • stronę statusu i powiadomienie wsparcia;
  • uzgodnienie danych po przywróceniu usługi;
  • kontrolowaną ręczną realizację zatwierdzonych przypadków;
  • przełączenie na innego dostawcę wyłącznie wtedy, gdy produkty i reguły handlowe są rzeczywiście zgodne.

Nie przełączaj automatycznie na alternatywny produkt o innym zasięgu, regułach aktywacji lub ograniczeniach bez kontroli od strony klienta i warunków handlowych.

Z góry ustal zachowanie płatności

Dla każdego punktu awarii określ, czy system:

  • utrzyma otwartą autoryzację;
  • pobierze środki później;
  • unieważni autoryzację;
  • wykona automatyczny zwrot;
  • wstrzyma zamówienie do ręcznej weryfikacji;
  • zaproponuje klientowi wybór.

Ta decyzja należy do zespołów produktu, finansów i obsługi klienta, nie tylko do programisty API.

Wymagania sandboxu i środowiska testowego

Przydatny sandbox powinien obsługiwać więcej niż jedną pomyślną odpowiedź.

Zapytaj, czy może symulować:

  • przetwarzanie i opóźnioną realizację;
  • trwałe niepowodzenie;
  • przejściowy błąd serwera;
  • przekroczenie czasu żądania;
  • ograniczanie liczby żądań;
  • zduplikowany klucz idempotencji;
  • zduplikowany webhook;
  • webhook poza kolejnością;
  • nieprawidłowy podpis webhooka;
  • niedostępny profil;
  • aktywację i wygaśnięcie pakietu;
  • progi zużycia;
  • powodzenie i niepowodzenie doładowania;
  • zawieszenie i reaktywację;
  • eksport faktury lub zużycia.

Dostawca powinien wyjaśnić różnice między sandboxem a produkcją, w tym katalog produktów, uwierzytelnianie, limity żądań, retencję danych i dostarczanie webhooków.

Strategia testowania

Testy kontraktowe

Weryfikuj zgodność żądań i odpowiedzi z uzgodnionym schematem, wymaganymi polami, typami i dozwolonymi wartościami.

Testy przejść między stanami

Testuj dozwolone i odrzucane przejścia. Anulowane zamówienie nie powinno wracać do przetwarzania bez określonego procesu odzyskiwania.

Testy idempotencji

Powtarzaj to samo żądanie zamówienia przed realizacją i po niej. Sprawdź, czy występuje tylko jeden skutek biznesowy.

Testy wstrzykiwania awarii

Wywołuj przekroczenia czasu, opóźnione zdarzenia, niedostępne zależności i częściowe awarie wewnętrzne. Potwierdź, że system osiąga stan umożliwiający odzyskanie poprawnego działania.

Testy bezpieczeństwa

Testuj izolację kont organizacji, autoryzację na poziomie obiektu, unieważnienie poświadczeń, podpisy webhooków, obsługę powtórnego odtworzenia komunikatów, limity danych wejściowych i ujawnianie danych wrażliwych.

Testy obciążenia i nagłych skoków ruchu

Stosuj wolumeny uzgodnione z dostawcą. Testuj zarówno zwykłą przepustowość, jak i skoki powodowane kampaniami, zakłóceniami podróży lub masowymi operacjami IoT.

Testy całościowe na urządzeniach

Dla reprezentatywnych produktów i urządzeń przetestuj pełną ścieżkę:

  1. pobierz produkt;
  2. utwórz i opłać zamówienie;
  3. odbierz informacje o profilu;
  4. pobierz i zainstaluj eSIM;
  5. włącz go;
  6. zarejestruj w dozwolonej sieci;
  7. użyj zamierzonej usługi;
  8. sprawdź zużycie lub saldo;
  9. wykonaj dozwolone doładowanie lub operację cyklu życia;
  10. uzgodnij transakcję.

Test API kończący się na odpowiedzi 200 OK nie przetestował łączności mobilnej.

Uzgadnianie finansowe

Powodzenie techniczne i poprawność handlowa to odrębne kwestie.

Twórz codzienne lub okresowe kontrole porównujące:

  • pobrane płatności;
  • lokalne zamówienia;
  • zamówienia dostawcy;
  • przydzielone profile lub SIM;
  • zrealizowane pakiety;
  • anulowania i zwroty;
  • opłaty za zużycie;
  • faktury hurtowe;
  • prowizję resellera;
  • podatki i waluty.

Przykłady wyjątków

  • pobrana płatność bez zamówienia dostawcy;
  • zrealizowane zamówienie dostawcy przy nieudanej płatności;
  • dwa zamówienia dostawcy powiązane z jednym lokalnym;
  • wykonany zwrot przy nieoczekiwanie zachowanym aktywnym pakiecie;
  • podwójne obciążenie za doładowanie;
  • zużycie przekraczające oczekiwaną regułę handlową;
  • cena hurtowa różna od zapisanej kopii importowanego katalogu;
  • faktura zawierająca nieznany profil lub referencję partnera.

Każdy wyjątek powinien trafić do kontrolowanej kolejki z właścicielem, wartością finansową i historią rozwiązania.

Dokumentacja potrzebna zespołowi

Integracja produkcyjna potrzebuje więcej niż stron referencyjnych endpointów.

Uzyskaj i utrzymuj:

  • przewodnik uwierzytelniania;
  • proces udostępniania środowisk i poświadczeń;
  • OpenAPI lub równoważną definicję interfejsu;
  • model danych i opisy stanów;
  • katalog błędów;
  • zasady idempotencji;
  • limity żądań;
  • bezpieczeństwo webhooków i politykę ponawiania;
  • proces zmian produktów i cen;
  • politykę wydań i wycofywania;
  • kontakty wsparcia i eskalacji;
  • proces incydentów i prac serwisowych;
  • przewodnik uzgadniania danych i faktur;
  • informacje o ochronie i retencji danych;
  • informacje o ciągłości biznesowej.

Dokumentacja wewnętrzna powinna dodatkowo zawierać:

  • zapis decyzji architektonicznych;
  • macierz systemów źródłowych;
  • diagramy sekwencji i stanów;
  • procedurę rotacji sekretów;
  • pulpity operacyjne i alerty;
  • instrukcje postępowania podczas incydentów;
  • mechanizmy kontroli ręcznej realizacji i zwrotów;
  • proces uruchomienia oraz wycofania wdrożenia.

Praktyczna checklista uruchomienia

Architektura i dane

  • Każda podstawowa encja ma określony system źródłowy.
  • Identyfikatory dostawcy są zapisane oddzielnie od lokalnych.
  • Przejścia stanów i nieznane wyniki są jawnie modelowane.
  • Pola wrażliwe i zasady retencji są udokumentowane.

Zamówienia i płatności

  • Tworzenie zamówienia ma strategię idempotencji.
  • Przetestowano przekroczenia czasu i duplikaty.
  • Dla każdego punktu awarii zdefiniowano pobranie środków, unieważnienie autoryzacji i zwrot.
  • Uzgadnianie wykrywa rozbieżności płatności i zamówień dostawcy.

Webhooki i przetwarzanie asynchroniczne

  • Podpisy i znaczniki czasu są prawidłowo weryfikowane.
  • Duplikaty i zdarzenia poza kolejnością są bezpieczne.
  • Zdarzenia są zapisywane przed potwierdzeniem przyjęcia do przetwarzania.
  • Nieudane przetwarzanie trafia do widocznej kolejki ponowień lub ręcznej weryfikacji.
  • Polling lub uzgadnianie obejmują pominięte zdarzenia.

Bezpieczeństwo

  • Żaden sekret dostawcy nie znajduje się w przeglądarce ani aplikacji mobilnej.
  • Poświadczenia produkcyjne i sandboxu są oddzielne.
  • Poświadczenia mają minimalne uprawnienia i przetestowaną procedurę rotacji.
  • Przetestowano autoryzację na poziomie konta organizacji i obiektu.
  • Logi nie zawierają sekretów, danych płatniczych ani zbędnych informacji osobowych.
  • Działania administracyjne i masowe są audytowane.

Operacje

  • Działają pulpity techniczne i biznesowe.
  • Alerty wskazują właściciela i działanie.
  • Wsparcie może prześledzić zamówienie klienta do referencji dostawcy i profilu.
  • Przećwiczono eskalację do dostawcy i procedury awarii.
  • Można szybko wycofać produkt.

Gotowość handlowa

  • Zmiany cen katalogowych są kontrolowane.
  • Można uzgadniać zużycie i faktury.
  • Opublikowane warunki odpowiadają działaniu aktywacji, ważności, zwrotów i wymiany.
  • Reprezentatywne testy urządzeń i sieci przeszły pomyślnie.
  • Wyznaczono osobę decydującą o wycofaniu wdrożenia lub wstrzymaniu uruchomienia.

Typowe błędy integracyjne

Wywoływanie dostawcy bezpośrednio z aplikacji mobilnej

Ujawnia to poświadczenia lub wymusza niebezpieczne kompromisy uwierzytelniania. Używaj kontrolowanego backendu.

Uznawanie przekroczenia czasu za nieudane zamówienie

Zamówienie mogło się zakończyć. Odczytaj je lub uzgodnij dane przed utworzeniem kolejnego.

Używanie e-maila lub nazw produktów jako identyfikatorów

Nazwy się zmieniają, a dane klienta nie powinny stawać się kluczem technicznym. Używaj niezmiennych identyfikatorów.

Zakładanie, że webhooki przychodzą raz i w kolejności

Projektuj obsługę ponowień, duplikatów, opóźnień i zmiany kolejności.

Dwukrotne wysyłanie danych realizacji

Zduplikowane zdarzenia lub ponowienia mogą powodować wiele e-maili i zamieszanie. Zapewnij idempotencję każdego skutku ubocznego.

Zbyt szerokie udostępnienie kodu QR

Informacje aktywacyjne powinny być dostępne wyłącznie uprawnionym klientom i rolom wsparcia.

Logowanie każdej treści bez maskowania

Może to kopiować poświadczenia, dane osobowe i informacje aktywacyjne do wielu systemów logów.

Mieszanie stanów zamówienia i łączności

Zrealizowane zamówienie może zawierać profil, który nie jest zainstalowany. Włączony profil może mieć wygasły pakiet. Zachowaj rozdzielenie cykli życia.

Ignorowanie finansów do końca miesiąca

Codzienne wyjątki łatwiej zbadać niż tysiące niewyjaśnionych różnic na fakturze.

Budowanie wyłącznie ścieżki powodzenia

Większość złożoności integracji tkwi w operacjach niepewnych, opóźnionych i częściowo zakończonych.

Jak SIM24.biz wpisuje się w usługę opartą na API

SIM24.biz wspiera firmy tworzące oferty łączności SIM, eSIM i IoT pod własną marką. Model oparty na API może pozwolić partnerowi zachować istniejącą witrynę, aplikację, płatności, CRM, analitykę i relację z klientem, jednocześnie integrując wymagane funkcje łączności.

Właściwa granica integracji zależy od projektu. Jeden partner może korzystać z kompletnej ścieżki klienta white-label. Inny może używać API katalogu, realizacji i cyklu życia, samodzielnie zarządzając całym frontendem. Trzeci może łączyć zasoby fizycznych SIM i eSIM z operacjami firmowymi lub IoT.

Dokładne endpointy, metody uwierzytelniania, webhooki, widoczność cyklu życia, limity, funkcje sandboxu i poziomy usług dostępne w SIM24.biz należy potwierdzić dla wybranej implementacji i kombinacji dostawców. Schematy i nazwy endpointów w tym artykule są ilustracyjne i nie mogą być przedstawiane jako aktualna dokumentacja API SIM24.biz.

Odpowiedzialna analiza techniczna powinna określić:

  • docelową ścieżkę klienta;
  • systemy źródłowe;
  • wymagane produkty i rynki;
  • przepływy integracji i zdarzeń;
  • model płatności i uzgadniania danych;
  • obowiązki bezpieczeństwa i ochrony danych;
  • scenariusze pilotażu;
  • odpowiedzialność operacyjną po uruchomieniu.

Wnioski

Integracja API eSIM jest udana, gdy klienci otrzymują niezawodną łączność, a firma potrafi wyjaśnić każde zamówienie, profil, płatność i wyjątek.

Samo wywołanie API jest tylko częścią tego wyniku. Kompletny projekt musi obsługiwać asynchroniczną realizację, niezależne stany cyklu życia, idempotentne operacje, zweryfikowane webhooki, niepewne odpowiedzi, bezpieczne poświadczenia, monitoring operacyjny i uzgadnianie finansowe.

Najlepsza architektura tworzy jasne granice. Marka zarządza swoim klientem i logiką handlową. Warstwa integracyjna kontroluje zewnętrzne zależności. Dostawca zapewnia określone funkcje platformy, provisioningu i łączności. Każda strona potrafi wskazać, który stan zna i za które działanie odpowiada.

Zbuduj ścieżki awaryjne przed uruchomieniem, a nie dopiero wtedy, gdy pierwszy płacący klient czeka na profil.

Najczęściej zadawane pytania

Czym jest API eSIM?

API eSIM jest interfejsem biznesowym, przez który uprawniony partner może korzystać z funkcji takich jak pobieranie produktów, zamawianie, dostarczanie profili, status, zużycie, doładowania lub zarządzanie cyklem życia. Dokładny zakres zależy od dostawcy.

Czy API eSIM łączy się bezpośrednio z eUICC?

Zwykle biznesowe API detaliczne lub white-label łączy się z platformą dostawcy. Bezpieczne dostarczanie profilu do eUICC korzysta z odpowiedniej architektury provisioningu i komponentów, takich jak SM-DP+ i Local Profile Assistant w modelu konsumenckim.

Dlaczego zamówienia eSIM są asynchroniczne?

Dostawca może potrzebować przydzielić zasób, wykonać provisioning lub skoordynować inne systemy. Zwrócenie zasobu w stanie oczekującym pozwala zakończyć żądanie klienta bez bezterminowego oczekiwania.

Czym jest klucz idempotencji?

To unikalna wartość reprezentująca jedną zamierzoną operację zmieniającą stan. Gdy to samo żądanie trzeba ponowić, ponowne użycie klucza pomaga zapobiegać niezamierzonemu podwójnemu skutkowi biznesowemu, jeśli dostawca obsługuje to zachowanie.

Czy ponawiać zamówienie eSIM po przekroczeniu czasu oczekiwania?

Najpierw traktuj wynik jako nieznany. Odczytaj zamówienie przez referencję partnera lub mechanizm idempotencji dostawcy. Ponawiaj wyłącznie zgodnie z udokumentowanymi zasadami i używaj tego samego identyfikatora dla tej samej zamierzonej operacji.

Jak zabezpieczyć webhook eSIM?

Zweryfikuj podpis dostawcy na surowym żądaniu według jego udokumentowanego schematu, sprawdź podpisany znacznik czasu lub zabezpieczenie przed powtórnym odtworzeniem, ogranicz rozmiar komunikatu, zapisz identyfikator zdarzenia i przetwarzaj je idempotentnie. Wzajemne TLS może być odpowiednie dla niektórych integracji wymagających większej pewności.

Czy gwarantowana jest jednokrotna dostawa webhooków?

Nie projektuj na podstawie takiego założenia. Odbiorcy powinni tolerować zdarzenia zduplikowane, opóźnione i dostarczone poza kolejnością oraz stosować uzgadnianie do wykrywania pominiętych zmian.

Czy należy zapisywać kod QR?

Zapisuj tylko to, co potrzebne do obsługiwanej ścieżki klienta i odzyskiwania usługi, chroń to jako wrażliwe informacje realizacyjne i ogranicz dostęp. Potwierdź z dostawcą zasady przechowywania i ponownego wyświetlania.

Co powinien zawierać sandbox API eSIM?

Powinien obsługiwać reprezentatywne scenariusze powodzenia i awarii, w tym asynchroniczną realizację, zduplikowane żądania, ponowienia webhooków, nieprawidłowe podpisy, limity żądań, zmiany cyklu życia i dane do uzgadniania.

Jak przechowywać poświadczenia API?

Przechowuj je w serwerowym systemie zarządzania sekretami, rozdziel środowiska i uprawnienia, rotuj zgodnie z przetestowaną procedurą i nigdy nie umieszczaj ich w kodzie przeglądarki ani aplikacji mobilnej.

Jak później zmienić dostawcę eSIM?

Trzymaj logikę właściwą dostawcy za granicą integracji, używaj wewnętrznych identyfikatorów i modeli domenowych, zachowuj kompletne eksporty danych i negocjuj prawa przejścia do innego dostawcy. Aktywne profile mogą nadal wymagać technicznej migracji lub wymiany, a nie prostej zmiany bazy danych.

Czy integracja API jest lepsza od kompletnej platformy white-label?

Zapewnia większą kontrolę nad doświadczeniem klienta i systemami, ale wymaga developmentu i stałej odpowiedzialności operacyjnej. Kompletna platforma white-label może umożliwić szybszy start. Właściwy model zależy od wyróżników oferty, zasobów i skali.

Połącz usługi eSIM i SIM z systemami, które już posiadasz

SIM24.biz pomaga partnerom definiować ścieżki łączności pod własną marką, granice integracji i wymagania pilotażu wokół istniejących platform handlowych i klienckich.

Porozmawiaj z SIM24.biz o odpowiednim modelu API lub white-label dla swojej usługi.

Źródła

  1. GSMA, „SGP.22 v2.7, eSIM Consumer Technical Specification”: https://www.gsma.com/solutions-and-impact/technologies/esim/gsma_resources/sgp-22-v2-7/
  2. GSMA, „SGP.31 v1.3, eSIM IoT Architecture and Requirements”: https://www.gsma.com/solutions-and-impact/technologies/esim/gsma_resources/sgp-31-v1-3/
  3. GSMA, „SGP.32 v1.3, eSIM IoT Technical Specification”: https://www.gsma.com/solutions-and-impact/technologies/esim/gsma_resources/sgp-32-v1-3/
  4. IETF, „RFC 9110, HTTP Semantics”: https://www.rfc-editor.org/rfc/rfc9110.html
  5. IETF, „RFC 9700, Best Current Practice for OAuth 2.0 Security”: https://www.rfc-editor.org/rfc/rfc9700.html
  6. IETF, „RFC 8725, JSON Web Token Best Current Practices”: https://www.rfc-editor.org/rfc/rfc8725.html
  7. OpenAPI Initiative, „OpenAPI Specification v3.1.1”: https://spec.openapis.org/oas/v3.1.1.html
  8. Cloud Native Computing Foundation, „CloudEvents Specification”: https://github.com/cloudevents/spec/blob/main/cloudevents/spec.md
  9. OWASP Foundation, „OWASP API Security Top 10, 2023”: https://owasp.org/API-Security/editions/2023/en/0x11-t10/
  10. Unia Europejska, „Rozporządzenie (UE) 2016/679, ogólne rozporządzenie o ochronie danych”: https://eur-lex.europa.eu/eli/reg/2016/679/oj/eng
  11. Europejska Rada Ochrony Danych, „Guidelines 07/2020 on the concepts of controller and processor in the GDPR”: https://www.edpb.europa.eu/our-work-tools/our-documents/guidelines/guidelines-072020-concepts-controller-and-processor-gdpr_en

Powiązane artykuły

SIM24.biz

Uruchom łączność pod własną marką

Niezależnie od tego, czy chcesz oferować travel eSIM, fizyczne karty SIM czy zarządzaną łączność IoT, SIM24 zapewnia technologię, łączność i infrastrukturę stojącą za Twoją ofertą.

Porozmawiaj z SIM24 o swoim projekcie↗