Interfejs partnera nie jest stały. Pola się zmieniają, wersje są wycofywane, a informacja o tym trafia zwykle do adresu, którego nikt nie czyta.
Rodzaje zmian
Bezpieczne: nowe pole, nowa opcjonalna funkcja. Groźne: usunięcie pola, zmiana znaczenia wartości, zaostrzenie walidacji, wycofanie wersji.
Najbardziej podstępna jest zmiana znaczenia. Pole nazywa się tak samo, przychodzi tak samo, a oznacza co innego — na przykład cenę w innym ujęciu podatkowym. Nic się nie psuje, dane płyną dalej, a błąd wychodzi przy rozliczeniu.
Kto dostaje komunikaty
Adres podany przy rejestracji konta bywa prywatną skrzynką osoby, która dawno odeszła. To najczęstsza przyczyna zaskoczenia zmianą — informacja przyszła, tylko nikt jej nie przeczytał.
Warto podać adres wspólny dla zespołu i sprawdzić to przy każdym partnerze osobno, razem z ewidencją, kto odpowiada za dane połączenie. Ten sam spis przydaje się przy pilnowaniu ważności poświadczeń, bo obie sprawy trafiają do tej samej skrzynki.
Odporność na nowe pola
Integracja powinna ignorować nieznane elementy odpowiedzi zamiast kończyć się błędem. Ta jedna zasada eliminuje większość awarii przy zmianach po stronie partnera.
Druga zasada dotyczy pól brakujących: lepiej odrzucić pojedynczy rekord i zgłosić go do sprawdzenia, niż zatrzymać całe przetwarzanie. Sposób obsługi odpowiedzi warto ustalić już na etapie czytania dokumentacji.
Okres przejściowy
Partnerzy zwykle utrzymują starą wersję przez pewien czas. To okno na spokojne przejście — o ile ktoś zauważy jego początek.
Przejście warto zaplanować jako osobne zadanie, a nie wciskać między bieżące sprawy. Zmiana wersji interfejsu potrafi wymagać nowego mapowania pól i ponownych testów wszystkich ścieżek, także tych rzadkich.
Zmiany, których nikt nie ogłasza
Część zmian nie jest zapowiadana, bo w ocenie partnera niczego nie psuje: nowe pole, dłuższy identyfikator, inna kolejność pozycji w odpowiedzi. Dla nas bywa to różnica między działaniem a przestojem, jeśli integracja zakładała sztywny układ danych.
Stąd zasada: nie opierać się na kolejności ani na długości pól, tylko na ich nazwach, i nie zakładać, że wartość spoza znanego zestawu jest błędem. Nieznany status lepiej zapisać i zgłosić do sprawdzenia niż odrzucić cały dokument.
Sprawdzanie zgodności
Cykliczny test wykonujący typowe operacje na środowisku testowym partnera wychwytuje zmianę, zanim uderzy w produkcję.
Nie musi być rozbudowany. Kilka operacji: pobranie zamówienia, wystawienie dokumentu, aktualizacja stanu — uruchamianych regularnie, z powiadomieniem do konkretnej osoby, gdy wynik odbiega od oczekiwanego.
Zapis wersji
Ewidencja, z której wersji interfejsu korzysta każda integracja, pozwala szybko ocenić zakres pracy przy komunikacie o wycofaniu.
Wystarczy prosty spis: partner, używana wersja, data ostatniego sprawdzenia, osoba odpowiedzialna. Przy kilku integracjach mieści się on na jednej stronie, a przy komunikacie o wycofaniu oszczędza dnia szukania.
Czego się spodziewać
Że zmiany będą przychodzić niezależnie od naszych planów i że część z nich wypadnie w najgorszym momencie. Utrzymanie integracji to praca ciągła, nie jednorazowy koszt wdrożenia — warto to uwzględnić przy podejmowaniu decyzji o każdym kolejnym połączeniu.