1. Dyvertex
  2. Usługi
  3. Integracje

Integracje

Integracje, które działają dalej, kiedy druga strona przestaje.

Płatności, CRM-y, ERP-y i to wewnętrzne API, o którym ktoś obiecał, że jest dobrze udokumentowane. Budowane z retry, idempotencją i odpowiedzią na tę godzinę, kiedy zwraca 500.

  1. commit
  2. CI
  3. migracja
  4. deploy
  5. produkcja
  6. realne obciążenie

Integracja staje się prawdziwa dopiero wtedy, kiedy druga strona ma gorszy dzień.

Pewnie jesteś tu, bo

Jeśli żaden z tych punktów nie brzmi jak twoja aplikacja, bezpłatna rozmowa i tak jest najszybszym sposobem, żeby ustalić, co pasuje.

płatności

Płatność przeszła po ich stronie i nigdy nie dotarła do ciebie.

sync

Dwa systemy nie zgadzają się co do tego samego klienta i oba są pewne swego.

webhooki

Webhook odpala dwa razy, a drugi raz tworzy duplikat.

dokumentacja

Dokumentacja API i samo API to dwie różne rzeczy.

Co budujemy

Stały zakres, stała cena, ustalone, zanim ktokolwiek napisze kod. Jeśli okaże się, że coś poza nimi waży więcej, zmieniamy zakres otwarcie, zamiast po cichu doliczać.

Najpierw kontrakt
To, co druga strona naprawdę zwraca, razem z nieudokumentowanymi przypadkami, sprawdzone na ich sandboxie, zanim cokolwiek na tym postawimy.
Niezawodność
Retry z backoffem, klucze idempotencji i ścieżka dead letter. Nieudane wywołanie staje się czymś, co odzyskasz, a nie czymś, o czym dowiadujesz się od klienta.
Webhooki
Weryfikacja sygnatur, ochrona przed powtórzeniem i handlery bezpieczne przy dwukrotnym uruchomieniu, bo prędzej czy później do tego dojdzie.
Synchronizacja i uzgadnianie
Jedna strona wskazana jako źródło prawdy, na piśmie. Zadanie, które poluje na rozjazdy między systemami, to większy kawałek pracy i dostaje własny zakres po audycie, a nie linijkę w tym.
Testy
Testy na ich sandboxie, nagrane fixture'y webhooków odtwarzane razem z duplikatami i złą kolejnością, oraz przebieg ze wstrzykiwaniem awarii. AI wypisuje sposoby, na jakie druga strona może się zachować źle, a to dłuższa lista, niż przyznaje ich dokumentacja. Potem ćwiczymy na tym ścieżkę retry, zanim zrobi to klient.
Obserwowalność
Każde wywołanie logowane z identyfikatorem korelacji i alerty na współczynniku błędów, a nie na pojedynczych błędach, których nikt nie czyta.
Sandbox na produkcję
Obsługa dostępów, rozdzielenie środowisk i rollout, który nie używa prawdziwych pieniędzy klientów jako zestawu testów.
StripeRESTGraphQLWebhooksOAuthPostgresRedisHonoNestJSSentry

Cena

Jedna kwota, ustalona przed startem.

Jedna integracja z udokumentowanym API mieści się tutaj. Synchronizację wielu systemów z uzgadnianiem wyceniamy na rozmowie.

Wypuściliśmy własne produkty do prawdziwych użytkowników: Mira w App Store i ariex.fit w otwartej becie. W portfolio nie ma jeszcze case studies z projektów ratunkowych i nie będziemy twierdzić, że jakieś są pod NDA.

Pytania, które padają najpierw.

Wszystko, na co nie ma tu odpowiedzi, jest warte dwudziestu minut rozmowy.

Możecie zintegrować API, którego nie możemy pokazać publicznie?

Tak. Podpisujemy NDA, zanim wyślesz dostępy albo dokumentację, i pracujemy na twoim koncie sandbox, nie naszym.

A jeśli ich API jest słabo udokumentowane?

To normalny przypadek. Sondujemy sandbox i spisujemy, co faktycznie robi, razem z odpowiedziami, o których ich dokumentacja nie wspomina. Ten spisany kontrakt jest częścią tego, co dostajesz.

Kto odpowiada, kiedy ich API padnie?

Oni, ale doświadczenie użytkownika jest twoje. Więc praca polega na eleganckiej degradacji: zakolejkować wywołanie, ponowić je, pokazać użytkownikowi coś uczciwego i uzgodnić dane, kiedy druga strona wróci.

Robicie konkretnie integracje płatności?

Tak, najczęściej Stripe. Płatności traktujemy tu najostrzej, bo zgubiony webhook to pieniądze: klucze idempotencji, weryfikacja sygnatur, ochrona przed powtórzeniem i uzgadnianie z ich rejestrami, zamiast wiary w jeden callback.

Możecie naprawić integrację, którą zbudował ktoś inny?

Tak, zaczynając od audytu, który stawia listę poprawek przed tobą w dwa dni robocze. Zepsute integracje są zwykle zepsute w obsłudze retry i duplikatów, a nie na happy path, a tego nie widać z zewnątrz.

Umów audyt

Chcesz prostą odpowiedź w tej sprawie?

Wyślij repo, treść odrzucenia albo sam pomysł. Dwadzieścia minut wystarczy, żeby powiedzieć, czy właściwym krokiem jest ratowanie, przepisanie, czy uczciwe nie.

Wolisz mailem? [email protected]

Czytamy każdą wiadomość i odpisujemy w ciągu jednego dnia roboczego.