Så er de problemer, jeg oplevede med et webshop hvor jeg styrer den tekniske del, løst. Og jeg skylder Shipmondo og ikke mindst Nicklas Nguyen en stor undskyldning og en enorm tak.
Sagen er den, at "min" webshop har en integration med Shipmondo. Af uransagelige årsager begyndte den pludseligt at fejle, hvor Shipmondos system afbrød forbindelsen, uden at sige hvorfor.
Jeg kontaktede support, og de spurgte hvilken version jeg kørte med, både selve webshoppen og PHP på serveren. PHP var den nyeste version, men webshopsystemet var ikke opdateret. Indehaveren turde heller ikke opdatere, bange for at andre ting pludseligt ikke ville virke - hvilket jeg rigtig godt kan forstå. Som udgangspunkt siger jeg altid: "opdater alt", og det var også det råd, Shipmondos support kom med.
Så jeg upgradede til den nyeste version af webshopplatformen. Integrationen virkede fint bagefter men ... vi fik pludseligt serverfejl ved checkout på visse produkter. Sjovt nok kom fejlen ikke, så snart jeg fjernede hele Shipmondos integrationsmodul fra webshoppen - hvilket fik mig til at tro at fejlen lå i modulet fra Shipmondo.
Jeg kontaktede igen support. Supporten har prøvet at genskabe problemet på en egen installation af samme platform, uden held. Supporten fik adgang til vores backend, kunne genskabe problemet der, men kunne ikke gennemskue hvor problemet lå. Måske i nogle andre moduler, hvilket jeg kunne afkræfte ved at fjerne dem fuldstændig. Til sidst nedgraderede jeg webshoppen igen (hurra for backup!) og serverfejlene forsvandt som dug for solen. Men... så fejlede Shipmondo-integrationen igen.
I mellemtiden havde Nicklas overtaget supportsagen og han kom med et guldkorn: han fortalte mig hvordan jeg kunne se outputtet fra webshoppen til Shipmondo. Jeg genererede en ny API-nøgle og lavede en ny integration fra Shipmondos platform. Jeg lavede dog i første omgang en fejl ved at tage en forkert API-nøgle, men da jeg nærlæste vejledningen fandt jeg ud af hvordan jeg laver en ordentlig integration. Så lavede jeg en fejl mere, hvor jeg glemte alle tilladelser (troede jeg havde gjort det, men de var ikke gemt), og til sidst havde jeg oprettet adgang fra webshoppen til Shipmondo. Endeligt kunne jeg aktivere integrationen - men den blev slået fra kort efter igen. Hver gang jeg aktiverede den, gik der ikke lang tid, før den blev afbrudt igen.
Men nu havde jeg, takke være Nicklas, adgang til XML-outputtet, hvilket gjorde at jeg kunne se hvilke informationer der blev sendt fra shoppen til Shipmondo. Og der fandt jeg nogle PHP-errors. Den første error jeg fandt var i en PHP-class som hedder Webservices. Jeg googlede lidt, og fandt frem til at der var folk der fik den samme error. Og der hjalp det at ændre en linje i PHP-class'en. Det gjorde det også hos mig. Årsagen var nemlig, at den gamle Webservice-class var baseret på en ældre version af PHP, som gjorde at det ikke virkede i PHP 7.3, som vi kører med. Så jeg tog PHP-class'en fra den nyeste platformversion, og lagde den ind i vores ældre version. Så kørte webservices. Nu viste XML-outputtet en anden PHP i en class der hedder Tools. Samme historie igen: jeg tog PHP-class'en fra den nyeste version og lagde den ind i den ældre version som vi kører med. Så kom der ikke længere PHP-fejl.
Integrationen blev dog ved med at slå fra. Og her fortalte Nicklas, at der manglede en permission: jeg må have klikket ved siden af det firkant da jeg ville markere "order_payments", fordi den var ikke markeret. Den markerede jeg så, og ... integrationen blev ved med at være aktiv! Hurra!
Kort sagt:
1. Fejlen lå IKKE i Shipmondos fragtmodul eller Shipmondos system - selvom det var nærliggende at tro
2. Shipmondos supportmedarbejdere havde ret i at fejlen ikke lå i deres system
3. Shipmondos supportmedarbejdere havde ret i at systemet bør opdateres - de kunne ikke gøre for at der opstod andre problemer pga. opdateringen.
4. Nicklas Nguyen har gennem hele processen været meget tålmodig, ihærdig og målrettet: han ville bare løse dette problem, koste hvad det koster.
5. Jeg har lavet et par fejl, hvor jeg ikke læste vejlednigen ordentligt og ikke klikkede ordentligt.
6. Jeg har været flabet ved at kalde Shipmondo for ship-mon-dog - det undskylder jeg for.
Jeg vil derfor sige tusind tak til Nicklas og Shipmondos team for deres enorme indsats. Jeg undskylder for at have taget deres tid, selvom det ikke var deres opgave. Og jeg vil meget varmt anbefale Shipmondo, og vil fremover være ambassadør for Shipmondo.