{"id":104763,"date":"2024-01-23T16:56:24","date_gmt":"2024-01-23T15:56:24","guid":{"rendered":"https:\/\/fulfillmenttools.com\/?p=104763"},"modified":"2024-01-30T13:57:36","modified_gmt":"2024-01-30T12:57:36","slug":"nachhaltiges-api-design-in-einem-api-first-unternehmen","status":"publish","type":"post","link":"https:\/\/fulfillmenttools.com\/de\/nachhaltiges-api-design-in-einem-api-first-unternehmen\/","title":{"rendered":"Nachhaltiges API-Design in einem API-first-Unternehmen"},"content":{"rendered":"<div class=\"wpb-content-wrapper\"><p>[vc_row row_height_percent=&#8220;70&#8243; back_color=&#8220;color-wayh&#8220; back_image=&#8220;104760&#8243; parallax=&#8220;yes&#8220; overlay_color=&#8220;color-wayh&#8220; overlay_alpha=&#8220;30&#8243; gutter_size=&#8220;3&#8243; column_width_percent=&#8220;100&#8243; shift_y=&#8220;0&#8243; z_index=&#8220;0&#8243;][vc_column column_width_percent=&#8220;100&#8243; gutter_size=&#8220;3&#8243; overlay_alpha=&#8220;50&#8243; shift_x=&#8220;0&#8243; shift_y=&#8220;0&#8243; shift_y_down=&#8220;0&#8243; z_index=&#8220;0&#8243; medium_width=&#8220;0&#8243; mobile_width=&#8220;0&#8243; width=&#8220;1\/1&#8243; mobile_height=&#8220;340&#8243;][\/vc_column][\/vc_row][vc_row][vc_column width=&#8220;1\/1&#8243;][vc_raw_html]JTVCY2NfcG9zdF9kZXRhaWxfaGVhZGVyJTVE[\/vc_raw_html][\/vc_column][\/vc_row][vc_row row_height_percent=&#8220;0&#8243; override_padding=&#8220;yes&#8220; h_padding=&#8220;6&#8243; top_padding=&#8220;3&#8243; bottom_padding=&#8220;3&#8243; overlay_alpha=&#8220;50&#8243; equal_height=&#8220;yes&#8220; gutter_size=&#8220;0&#8243; column_width_percent=&#8220;100&#8243; shift_y=&#8220;0&#8243; z_index=&#8220;0&#8243;][vc_column column_width_percent=&#8220;100&#8243; position_vertical=&#8220;middle&#8220; gutter_size=&#8220;3&#8243; overlay_alpha=&#8220;50&#8243; shift_x=&#8220;0&#8243; shift_y=&#8220;0&#8243; shift_y_down=&#8220;0&#8243; z_index=&#8220;0&#8243; medium_width=&#8220;0&#8243; mobile_width=&#8220;0&#8243; width=&#8220;1\/1&#8243;][vc_column_text]<span style=\"font-weight: 400;\">K\u00fcrzlich wurde ich gefragt &#8222;Was bedeutet API-first allgemein und speziell f\u00fcr fulfillmenttools?&#8220; und ich muss zugeben: Es ist schwer, das in einem Satz oder auch in einer Reihe von S\u00e4tzen zu beantworten. In unseren K\u00f6pfen hier bei fulfillmenttools gibt es definitiv Bilder, Ideen, Paradigmen und manchmal auch Meinungen zu diesem Thema &#8211; aber ein kleines Wunder findet statt, wenn man versucht, diese Dinge im Tagesgesch\u00e4ft fl\u00e4chendeckend anzuwenden.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Daher habe ich mich entschlossen, einen aktuellen Arbeitsstand aufzuschreiben, eine blo\u00dfe &#8222;Momentaufnahme&#8220;, wie und warum wir API-Design betreiben, ohne zu sagen: &#8222;So macht man das &#8211; Punkt!&#8220;. Es soll ein Einblick f\u00fcr andere Entwickler:innen, Architekt:innen, CTOs und Leute sein, die an der Frage interessiert sind: Wie entwirft und betreibt man eine API, die einerseits konsistent, andererseits aber auch flexibel genug ist, um schnelllebige und sich entwickelnde Gesch\u00e4ftsziele zu unterst\u00fctzen?<\/span>[\/vc_column_text][vc_custom_heading text_color=&#8220;color-121104&#8243;]&#8220;Was ist eine starke API?&#8220;[\/vc_custom_heading][vc_column_text]<span style=\"font-weight: 400;\">Das Gespr\u00e4ch beginnt oft mit dieser Frage &#8211; gefolgt von: &#8222;Und was ist die st\u00e4rkste API-Technologie?&#8220;. Es ist nicht verwunderlich, dass die Antworten auf diese Fragen so unterschiedlich sind wie die Menschen, die man fragt. Einerseits mag der typische Product Owner keine vagen Definitionen oder Ziele f\u00fcr die API. Sie sind schwer zu bewerten und werden deshalb wahrscheinlich irgendwann von der Checkliste gestrichen. Andererseits m\u00f6chten Software-Entwickler:innen, die einen Connector f\u00fcr dieselbe API bauen, saubere Paradigmen und ein konsistentes Erscheinungsbild bei der tats\u00e4chlichen Verwendung der API sehen, da dies die Programmierung erleichtert. Die einzige Sorge derjenigen, die Produktionssysteme betreiben, scheinen die Antwortzeiten und die Anzahl der fehlgeschlagenen API-Aufrufe zu sein &#8211; ungeachtet der zugrunde liegenden Gesch\u00e4ftsfunktionen oder der angenommenen Nutzung.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Zumindest in einem Punkt sind sich alle diese Gruppen einig: Eine exzellente Dokumentation der F\u00e4higkeiten und Konzepte einer API (oder des Produkts) ist nicht mehr nur das Sahneh\u00e4ubchen, sondern ein Muss f\u00fcr API-getriebene IT-Unternehmen.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400;\">fulfillmenttools ist Teil der MACH Alliance. Das bringt eine weitere Perspektive mit: Das &#8222;A&#8220; in MACH steht f\u00fcr API-first. Wie weben wir also diese Anforderung in unsere Prozesse ein? Wie stellen wir sicher, dass der Zugang zu unserer Funktion \u00fcber APIs bei der Entwicklung einer neuen Funktion im Vordergrund steht? Und wie sorgen wir f\u00fcr Transparenz bei der Nutzung unserer APIs, um eine einfache Integration sicherzustellen?<\/span>[\/vc_column_text][vc_custom_heading text_color=&#8220;color-121104&#8243;]Unsere Herausforderung und unser Ansatz[\/vc_custom_heading][vc_column_text]<span style=\"font-weight: 400;\">Anstatt immer wieder \u00fcber viele weitere Meinungen, Herausforderungen und Anforderungen aus der Sicht eines API-Anbieters zu sprechen, m\u00f6chte ich Euch zwei unserer derzeitigen Ans\u00e4tze vorstellen. Obwohl sie f\u00fcr uns im Moment funktionieren, solltet ihr nicht vergessen, dass dies nur zwei von vielen weiteren Aspekten sind. Sie werden st\u00e4ndig \u00fcberpr\u00fcft und angepasst, da wir in einem sich st\u00e4ndig ver\u00e4ndernden agilen Umfeld t\u00e4tig sind.<\/span>[\/vc_column_text][vc_custom_heading heading_semantic=&#8220;h3&#8243; text_color=&#8220;color-121104&#8243;]API &#8222;aus einem Guss&#8220; vs. unabh\u00e4ngige Teams[\/vc_custom_heading][vc_column_text]<span style=\"font-weight: 400;\">Das war der zweite Satz, den ich von meinem CPO geh\u00f6rt habe, als wir mit fulfillmenttools angefangen haben:<\/span>[\/vc_column_text][vc_row_inner row_inner_height_percent=&#8220;0&#8243; overlay_alpha=&#8220;50&#8243; gutter_size=&#8220;2&#8243; shift_y=&#8220;0&#8243; z_index=&#8220;0&#8243; limit_content=&#8220;&#8220;][vc_column_inner column_width_percent=&#8220;100&#8243; position_vertical=&#8220;middle&#8220; align_horizontal=&#8220;align_center&#8220; gutter_size=&#8220;3&#8243; back_color=&#8220;color-749896&#8243; overlay_alpha=&#8220;50&#8243; shift_x=&#8220;0&#8243; shift_y=&#8220;0&#8243; shift_y_down=&#8220;0&#8243; z_index=&#8220;0&#8243; medium_width=&#8220;0&#8243; mobile_width=&#8220;0&#8243; width=&#8220;2\/3&#8243;][vc_custom_heading heading_semantic=&#8220;p&#8220; text_size=&#8220;h3&#8243; text_color=&#8220;color-166841&#8243; sub_lead=&#8220;yes&#8220;]&#8220;Bitte organisiert die Teams und das Produkt skalierbar &#8211; aber die APIs m\u00fcssen nat\u00fcrlich in allen Bereichen \u00e4hnlich aussehen und sich \u00e4hnlich anf\u00fchlen!&#8220;[\/vc_custom_heading][vc_empty_space empty_h=&#8220;0&#8243;][\/vc_column_inner][\/vc_row_inner][vc_column_text]<span style=\"font-weight: 400;\">Es war eine Lernerfahrung aus der Vergangenheit: Wenn wir mit autonomen Teams in verschiedenen Bereichen gearbeitet haben, sahen die bereitgestellten APIs in der Regel unterschiedlich aus und waren von unterschiedlicher Qualit\u00e4t. Da wir wussten, dass wir ein API-first-Produkt mit einem starken Fokus auf einheitliche und verst\u00e4ndliche Schnittstellen f\u00fcr die Plattform anbieten w\u00fcrden, war der erste Schritt, zuzugeben, dass wir in dieser Hinsicht Zeit und Energie investieren m\u00fcssen.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400;\">In einem Unternehmen mit zehn Mitarbeitenden mag das recht einfach sein. Aber als unser Team wuchs, wurde es zu zeitaufw\u00e4ndig und ineffizient, das gesamte Team einzubeziehen, sodass wir bald erkannten, dass eine Art von Expert:innengruppe ben\u00f6tigt wurde. Die Idee ist nicht neu, und in anderen Organisationen werden diese Gruppen als Gilden oder Community of Practice bezeichnet. In unserem Fall nannten wir die Gruppe &#8222;API Brigade&#8220;, die an sich funktions\u00fcbergreifend ist: Sie umfasst derzeit Product Owner, Architekt:innen, Backend-Entwickler:innen und auch Frontend- Entwickler:innen. Anstatt also nur die Personen auszuw\u00e4hlen, die die API letztendlich nutzen, haben wir beschlossen, die Stakeholder aus Business und Architektur mit einzubeziehen, was zu einem sauberen, pr\u00e4ziseren Ansatz f\u00fchrte. Ein Vorteil ist, dass Entscheidungen, die von dieser Brigade getroffen werden, die Teams und die Technik erreichen, die letztendlich f\u00fcr die Umsetzung der Entscheidungen verantwortlich sind.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Niemand mag zu viele Meetings &#8211; und Engp\u00e4sse sind aus Sicht eines Unternehmens noch schlimmer, besonders in einer wachsenden, agilen Organisation. Die Hauptaufgabe der API-Brigade besteht darin, die Teams in die Lage zu versetzen, bei 90 % der anstehenden Fragen selbst die richtigen Entscheidungen zu treffen. Sie trifft sich aber nur alle zwei Wochen f\u00fcr eine Stunde. Daher war die Entwicklung einer m\u00e4chtigen Waffe f\u00fcr die t\u00e4gliche Arbeit der unabh\u00e4ngigen Teams notwendig. In unserem Fall hat es sehr geholfen, Regeln in einem Leitfaden niederzuschreiben, was auch in anderen Organisationen g\u00e4ngige Praxis ist. Die Magie dabei ist eigentlich nicht das Aufschreiben der Regeln &#8211; sondern sicherzustellen, dass die Regeln von den Leuten in ihrer t\u00e4glichen Arbeit befolgt werden.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Wir haben uns entschlossen, die Macht, die Dinge zu erledigen, in die H\u00e4nde der Entwickler:innen zu legen. Bei fulfillmenttools wird jede:r Entwickler:in (oder eigentlich jedes Teammitglied) dazu ermutigt, nicht nur gesch\u00e4ftsbezogene Themen, sondern auch technische oder organisatorische Fragen in Backlogs, Verfeinerungen und schlie\u00dflich in das Team-Board aufzunehmen. So werden technische Themen in den Vordergrund ger\u00fcckt, wenn die Frage &#8222;Was kommt als N\u00e4chstes?&#8220; auftaucht. Dieser Ansatz sorgt daf\u00fcr, dass der Schwerpunkt auf technisch sauberen L\u00f6sungen liegt und vermeidet, dass wenig greifbare Themen &#8211; wie der API-Zugang zu Gesch\u00e4ftsfunktionen &#8211; ins Hintertreffen geraten.<\/span>[\/vc_column_text][vc_custom_heading heading_semantic=&#8220;h3&#8243; text_color=&#8220;color-121104&#8243;]Versionslose API &amp; Auswirkungen auf Nutzen und Entwicklung[\/vc_custom_heading][vc_column_text]<span style=\"font-weight: 400;\">Ein weiterer Aspekt, der uns in der Vergangenheit h\u00e4ufig begegnet ist, ist die Frage:\u00a0<\/span>[\/vc_column_text][vc_row_inner row_inner_height_percent=&#8220;0&#8243; overlay_alpha=&#8220;50&#8243; gutter_size=&#8220;2&#8243; shift_y=&#8220;0&#8243; z_index=&#8220;0&#8243; limit_content=&#8220;&#8220;][vc_column_inner column_width_percent=&#8220;100&#8243; align_horizontal=&#8220;align_center&#8220; gutter_size=&#8220;3&#8243; back_color=&#8220;color-749896&#8243; overlay_alpha=&#8220;50&#8243; shift_x=&#8220;0&#8243; shift_y=&#8220;0&#8243; shift_y_down=&#8220;0&#8243; z_index=&#8220;0&#8243; medium_width=&#8220;0&#8243; mobile_width=&#8220;0&#8243; width=&#8220;2\/3&#8243;][vc_custom_heading heading_semantic=&#8220;p&#8220; text_size=&#8220;h3&#8243; text_color=&#8220;color-166841&#8243; sub_lead=&#8220;yes&#8220;]&#8220;Welche Version hat eure API? Wie oft ver\u00f6ffentlicht ihr?&#8220;[\/vc_custom_heading][vc_empty_space empty_h=&#8220;0&#8243;][\/vc_column_inner][\/vc_row_inner][vc_column_text]<span style=\"font-weight: 400;\">Die Antwort ist: Es gibt keine Version &#8211; und trotzdem sind wir in der Lage, jeden Tag Dutzende von Versionen und \u00c4nderungen an der API vorzunehmen, ohne dass der Vertrag, der zwischen Client und Service besteht, gebrochen wird. Es \u00fcberrascht nicht, dass dies zu hochgezogenen Augenbrauen und Kopfsch\u00fctteln f\u00fchrt. Zumindest bevor wir unseren Ansatz erkl\u00e4ren, aber wir wollen nicht zu weit vorgreifen.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Lasst uns zun\u00e4chst einen Schritt zur\u00fcckgehen: Wenn ihr eine API f\u00fcr ein Produkt bereitstellt, das von Entwickler:innen au\u00dferhalb des\u00a0 Unternehmens verwendet wird, ist es Teil der Vereinbarung, dass der Vertrag, der zwischen Client und Service besteht, nicht gebrochen wird. Oder andersherum: Die API muss vom semantischen Standpunkt aus gesehen stabil sein. Um das zu gew\u00e4hrleisten, k\u00f6nnten wir Versionen einer API ver\u00f6ffentlichen. Die API in einer solchen Version ist &#8222;fest&#8220; und \u00e4ndert sich nie. Leider widerspricht das der Idee einer wachsenden Plattform, wachsender Produkte und ihrer Funktionen, denn insbesondere bei einem agilen Ansatz sollte die erste Iteration einer Funktion einen Mehrwert bringen. Aber manchmal muss diese bereitgestellte Funktion ge\u00e4ndert oder erweitert werden. Wie funktioniert das zusammen mit einem agilen kontinuierlichen Integrationsprozess? Aus unserer Sicht: Nicht sehr gut.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Um eine API &#8222;aus einem Guss&#8220; (siehe oben) zu haben, die F\u00e4higkeit zur agilen Entwicklung zu erhalten und unseren Kunden iterativ und zeitnah einen Mehrwert zu bieten, haben wir uns f\u00fcr eine <\/span><i><span style=\"font-weight: 400;\">versionslose API <\/span><\/i><span style=\"font-weight: 400;\">entschieden. Das bedeutet, dass sie sich st\u00e4ndig weiterentwickelt. Es gibt Regeln f\u00fcr diese Entwicklung, die in unserer Dokumentation transparent beschrieben sind. Wenn ein:e Entwickler:in diese Regeln kennt, ist es nicht schwer, sie zu befolgen, was die entwickelte L\u00f6sung robuster und stabiler macht.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Neben den Dingen, die wir als &#8222;nicht bahnbrechende \u00c4nderungen&#8220; betrachten, haben wir beschlossen, eine Alpha-, Beta- und GA-Versionierung pro Endpunkt oder Modell einzuf\u00fchren &#8211; wiederum mit einem festen Satz von Regeln f\u00fcr diese Bezeichnungen. Mit der Bereitstellung eines Alpha-Endpunkts beispielsweise geben wir unseren Partnern und Kunden bereits eine Vorschau auf die aktuell entwickelten Funktionen &#8211; um beispielsweise Feedback und Einblicke aus der Perspektive der Entwickle:innenr zu erhalten. Die Sache ist die: Ein solcher Endpunkt kann sich jederzeit und ohne Vorwarnung semantisch ver\u00e4ndern. Beta-Endpunkte hingegen sind wesentlich stabiler und k\u00f6nnen bei Bedarf in der Produktion eingesetzt werden: Eine \u00c4nderung hier muss unseren Partnern vorher mitgeteilt werden.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Wir bem\u00fchen uns aktiv darum, die Zeit der Alpha- und Beta-Endpunkte zu begrenzen, um den gr\u00f6\u00dften Teil unserer API allgemein verf\u00fcgbar zu machen (GA). Bedeutet GA, dass sich die API in Zukunft nie \u00e4ndern wird? Nein, nat\u00fcrlich nicht! Auch hier k\u00f6nnen und werden h\u00f6chstwahrscheinlich non-breaking changes vorgenommen werden, wie z. B. das Hinzuf\u00fcgen von Parametern, Subresourcen usw.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Die mit Alpha- und Beta-Kennzeichnung versehenen Endpunkte sowie die Liste der non-breaking changes erm\u00f6glichen es uns, unser Produkt API-first zu entwickeln, ohne den Aufwand einer h\u00e4ufigen Versionierung.<\/span>[\/vc_column_text][vc_row_inner row_inner_height_percent=&#8220;0&#8243; overlay_alpha=&#8220;50&#8243; gutter_size=&#8220;2&#8243; shift_y=&#8220;0&#8243; z_index=&#8220;0&#8243; limit_content=&#8220;&#8220;][vc_column_inner width=&#8220;2\/3&#8243;][vc_custom_heading text_color=&#8220;color-121104&#8243;]Conclusion[\/vc_custom_heading][vc_column_text]<span style=\"font-weight: 400;\">Die Arbeit in einem API-first Unternehmen ist nicht immer einfach &#8211; vor allem wegen der Fokussierung, die man einhalten muss, ohne den Vorteil von &#8222;direkt verkaufbaren Ergebnissen&#8220; zu haben. Wir von fulfillmenttools glauben jedoch fest an ein Produkt, das nicht nur ein Feature nach dem anderen enth\u00e4lt, sondern auch hochmoderne Technologie und Zug\u00e4nglichkeit &#8211; wie eine API.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Verschiedene Prozesse haben uns geholfen zu wachsen, weiterhin technisch zu f\u00fchren und eine API-first-Plattform anzubieten. Dazu geh\u00f6rt, Entwickler:innen Autonomie zu gew\u00e4hren und Verantwortlichkeit f\u00fcr ihre Entscheidungen einzufordern sowie Tools wie das Einrichten verschiedener Versionsst\u00e4nde f\u00fcr eine versionslose API. Macht das immer Spa\u00df? Nein. Ist es notwendig und lohnend, einen so starken nicht-funktionalen Fokus auf die API zu haben? <\/span><b>Ja<\/b><span style=\"font-weight: 400;\">, auf jeden Fall.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Welche Erfahrungen habt ihr mit der Bereitstellung einer API gemacht? Welchen Herausforderungen seid ihr begegnet und wie habt ihr Probleme auf der Ebene der Werkzeuge und der Organisation \u00fcberwunden? Wir w\u00fcrden uns freuen, davon zu h\u00f6ren!<\/span>[\/vc_column_text][vc_empty_space empty_h=&#8220;1&#8243;][\/vc_column_inner][\/vc_row_inner][\/vc_column][\/vc_row][vc_row row_height_percent=&#8220;0&#8243; override_padding=&#8220;yes&#8220; h_padding=&#8220;6&#8243; top_padding=&#8220;3&#8243; bottom_padding=&#8220;3&#8243; back_color=&#8220;color-166841&#8243; overlay_color=&#8220;accent&#8220; overlay_alpha=&#8220;80&#8243; equal_height=&#8220;yes&#8220; gutter_size=&#8220;4&#8243; column_width_percent=&#8220;100&#8243; shift_y=&#8220;0&#8243; z_index=&#8220;0&#8243;][vc_column column_width_percent=&#8220;100&#8243; position_horizontal=&#8220;left&#8220; position_vertical=&#8220;middle&#8220; gutter_size=&#8220;3&#8243; override_padding=&#8220;yes&#8220; column_padding=&#8220;0&#8243; overlay_alpha=&#8220;50&#8243; shift_x=&#8220;0&#8243; shift_y=&#8220;0&#8243; shift_y_down=&#8220;0&#8243; z_index=&#8220;0&#8243; medium_width=&#8220;0&#8243; mobile_width=&#8220;0&#8243; width=&#8220;1\/1&#8243;][vc_custom_heading text_size=&#8220;h5&#8243; text_transform=&#8220;uppercase&#8220; text_space=&#8220;fontspace-210350&#8243; text_color=&#8220;color-121104&#8243;]Kontakt aufnehmen[\/vc_custom_heading][vc_custom_heading heading_semantic=&#8220;h3&#8243; text_color=&#8220;color-xsdn&#8220; sub_lead=&#8220;yes&#8220;]Du willst dich \u00fcber nachhaltiges API Design austauschen? Wir freuen uns \u00fcber deine Kontaktaufnahme![\/vc_custom_heading][vc_button button_color=&#8220;color-121104&#8243; size=&#8220;btn-lg&#8220; radius=&#8220;btn-circle&#8220; border_width=&#8220;0&#8243; link=&#8220;url:https%3A%2F%2Ffulfillmenttools.com%2Fkontakt%2F|target:_blank&#8220;]Nachricht senden[\/vc_button][\/vc_column][\/vc_row][vc_row row_height_percent=&#8220;0&#8243; override_padding=&#8220;yes&#8220; h_padding=&#8220;6&#8243; top_padding=&#8220;3&#8243; bottom_padding=&#8220;0&#8243; back_color=&#8220;color-749896&#8243; overlay_alpha=&#8220;50&#8243; gutter_size=&#8220;3&#8243; column_width_percent=&#8220;100&#8243; shift_y=&#8220;0&#8243; z_index=&#8220;0&#8243;][vc_column width=&#8220;1\/1&#8243;][vc_custom_heading text_color=&#8220;color-121104&#8243;]Das k\u00f6nnte Sie ebenfalls interessieren[\/vc_custom_heading][\/vc_column][\/vc_row][vc_row row_height_percent=&#8220;0&#8243; override_padding=&#8220;yes&#8220; h_padding=&#8220;6&#8243; top_padding=&#8220;2&#8243; bottom_padding=&#8220;4&#8243; back_color=&#8220;color-749896&#8243; overlay_alpha=&#8220;50&#8243; equal_height=&#8220;yes&#8220; gutter_size=&#8220;3&#8243; column_width_percent=&#8220;100&#8243; shift_y=&#8220;0&#8243; z_index=&#8220;0&#8243; uncode_shortcode_id=&#8220;429059&#8243;][vc_column column_width_percent=&#8220;100&#8243; position_vertical=&#8220;bottom&#8220; gutter_size=&#8220;3&#8243; override_padding=&#8220;yes&#8220; column_padding=&#8220;2&#8243; style=&#8220;dark&#8220; back_color=&#8220;color-166841&#8243; back_image=&#8220;100311&#8243; overlay_alpha=&#8220;50&#8243; shift_x=&#8220;0&#8243; shift_y=&#8220;0&#8243; shift_y_down=&#8220;0&#8243; z_index=&#8220;0&#8243; medium_width=&#8220;3&#8243; mobile_width=&#8220;0&#8243; width=&#8220;1\/4&#8243; uncode_shortcode_id=&#8220;831880&#8243; back_color_type=&#8220;uncode-palette&#8220; link_to=&#8220;url:https%3A%2F%2Ffulfillmenttools.com%2Fomnichannel-fulfillment%2F|target:_blank&#8220;][vc_empty_space empty_h=&#8220;1&#8243;][vc_column_text text_lead=&#8220;yes&#8220; uncode_shortcode_id=&#8220;470832&#8243;]<strong>UNSERE<\/strong><br \/>\n<strong>L\u00d6SUNGEN<\/strong>[\/vc_column_text][\/vc_column][vc_column column_width_percent=&#8220;100&#8243; position_vertical=&#8220;bottom&#8220; gutter_size=&#8220;3&#8243; override_padding=&#8220;yes&#8220; column_padding=&#8220;2&#8243; style=&#8220;dark&#8220; back_color=&#8220;color-132086&#8243; back_image=&#8220;100308&#8243; overlay_alpha=&#8220;50&#8243; shift_x=&#8220;0&#8243; shift_y=&#8220;0&#8243; shift_y_down=&#8220;0&#8243; z_index=&#8220;0&#8243; medium_width=&#8220;3&#8243; mobile_width=&#8220;0&#8243; width=&#8220;1\/4&#8243; uncode_shortcode_id=&#8220;426020&#8243; back_color_type=&#8220;uncode-palette&#8220; link_to=&#8220;url:https%3A%2F%2Ffulfillmenttools.com%2Fkundenreferenzen%2F|target:_blank&#8220;][vc_column_text text_lead=&#8220;yes&#8220; uncode_shortcode_id=&#8220;557101&#8243;]<strong>UNSERE<\/strong><br \/>\n<strong>KUNDEN<\/strong>[\/vc_column_text][\/vc_column][vc_column column_width_percent=&#8220;100&#8243; position_vertical=&#8220;bottom&#8220; gutter_size=&#8220;3&#8243; override_padding=&#8220;yes&#8220; column_padding=&#8220;2&#8243; style=&#8220;dark&#8220; back_color=&#8220;color-121104&#8243; back_image=&#8220;100304&#8243; overlay_alpha=&#8220;50&#8243; shift_x=&#8220;0&#8243; shift_y=&#8220;0&#8243; shift_y_down=&#8220;0&#8243; z_index=&#8220;0&#8243; medium_width=&#8220;3&#8243; mobile_width=&#8220;0&#8243; width=&#8220;1\/4&#8243; uncode_shortcode_id=&#8220;123476&#8243; back_color_type=&#8220;uncode-palette&#8220; link_to=&#8220;url:https%3A%2F%2Ffulfillmenttools.com%2Fwhitepaper%2F|target:_blank&#8220;][vc_column_text text_lead=&#8220;yes&#8220; uncode_shortcode_id=&#8220;141418&#8243;]<strong>UNSERE<\/strong><br \/>\n<strong>WHITEPAPER<\/strong>[\/vc_column_text][\/vc_column][vc_column column_width_percent=&#8220;100&#8243; position_vertical=&#8220;bottom&#8220; gutter_size=&#8220;3&#8243; override_padding=&#8220;yes&#8220; column_padding=&#8220;2&#8243; style=&#8220;dark&#8220; back_color=&#8220;color-434108&#8243; back_image=&#8220;100299&#8243; overlay_alpha=&#8220;50&#8243; shift_x=&#8220;0&#8243; shift_y=&#8220;0&#8243; shift_y_down=&#8220;0&#8243; z_index=&#8220;0&#8243; medium_width=&#8220;0&#8243; mobile_width=&#8220;0&#8243; width=&#8220;1\/4&#8243; link_to=&#8220;url:https%3A%2F%2Fwww.linkedin.com%2Fcompany%2F68351647%2F|target:_blank&#8220;][vc_column_text text_lead=&#8220;yes&#8220; uncode_shortcode_id=&#8220;141418&#8243;]<strong>UNSER<\/strong><br \/>\n<strong>LINKEDIN<\/strong><br \/>\n<strong>PROFIL<\/strong>[\/vc_column_text][\/vc_column][\/vc_row]<\/p>\n<\/div>","protected":false},"excerpt":{"rendered":"<p>[vc_row row_height_percent=&#8220;70&#8243; back_color=&#8220;color-wayh&#8220; back_image=&#8220;104760&#8243; parallax=&#8220;yes&#8220; overlay_color=&#8220;color-wayh&#8220; overlay_alpha=&#8220;30&#8243; gutter_size=&#8220;3&#8243; column_width_percent=&#8220;100&#8243; shift_y=&#8220;0&#8243; z_index=&#8220;0&#8243;][vc_column column_width_percent=&#8220;100&#8243; gutter_size=&#8220;3&#8243; overlay_alpha=&#8220;50&#8243; shift_x=&#8220;0&#8243; shift_y=&#8220;0&#8243; shift_y_down=&#8220;0&#8243; z_index=&#8220;0&#8243; medium_width=&#8220;0&#8243; mobile_width=&#8220;0&#8243; [&hellip;]<\/p>\n","protected":false},"author":186094495,"featured_media":104760,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_coblocks_attr":"","_coblocks_dimensions":"","_coblocks_responsive_height":"","_coblocks_accordion_ie_support":"","_crdt_document":"","content-type":"","_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2},"_wpas_customize_per_network":false},"categories":[3219],"tags":[],"class_list":["post-104763","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-software-entwicklung"],"acf":[],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"https:\/\/i0.wp.com\/fulfillmenttools.com\/wp-content\/uploads\/2024\/01\/291212_GettyImages_1208498558_API-Application-Programming-Interface-verbinden-Dienste-im-Internet-und-ermglichen-Netzwerkdatenkomm-small.jpg?fit=1050%2C709&ssl=1","jetpack_shortlink":"https:\/\/wp.me\/pbZLB5-rfJ","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/fulfillmenttools.com\/de\/wp-json\/wp\/v2\/posts\/104763","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fulfillmenttools.com\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/fulfillmenttools.com\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/fulfillmenttools.com\/de\/wp-json\/wp\/v2\/users\/186094495"}],"replies":[{"embeddable":true,"href":"https:\/\/fulfillmenttools.com\/de\/wp-json\/wp\/v2\/comments?post=104763"}],"version-history":[{"count":6,"href":"https:\/\/fulfillmenttools.com\/de\/wp-json\/wp\/v2\/posts\/104763\/revisions"}],"predecessor-version":[{"id":105066,"href":"https:\/\/fulfillmenttools.com\/de\/wp-json\/wp\/v2\/posts\/104763\/revisions\/105066"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/fulfillmenttools.com\/de\/wp-json\/wp\/v2\/media\/104760"}],"wp:attachment":[{"href":"https:\/\/fulfillmenttools.com\/de\/wp-json\/wp\/v2\/media?parent=104763"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fulfillmenttools.com\/de\/wp-json\/wp\/v2\/categories?post=104763"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fulfillmenttools.com\/de\/wp-json\/wp\/v2\/tags?post=104763"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}