AEP.API B2B Customizing

Allgemeine Konfiguration

Im Folgenden werden die Schritte zur Konfiguration der B2B beschrieben, sodass diese mit AEP.API verbunden ist und API-Anfragen austauschen kann.

Customizing Export

Für eine Schnell-Konfiguration kann das unter folgendem internen Link das Customizing als Zip-Datei heruntergeladen werden. Gehen Sie hierfür gerne auf unseren Support zu. Diese kann in der Admin-UI unter Administration -> Global Properties -> Customizing Import hochgeladen werden.

Ausgehende Verarbeitung von API-Anfragen

Fachliche Backend-Systeme können API-Anfrage Informationen in die B2B senden, sodass diese sie an den api-webservice-client zum Versand in den Markt übergibt. Dazu können (abhängig vom fachlichen Backend-System, dass diese Informationen bereitstellt) alle bestehenden Eingangsservices und Schnittstellen der B2B verwendet werden.

In der B2B-Verarbeitung müssen dann die folgenden Schritte durchgeführt/konfiguriert werden, um die API-Anfrage Informationen erfolgreich ans AEP.API System zu übermitteln:

  1. Konfiguration der Formaterkennung (abhängig vom Format in der das Backend die API-Anfrage Informationen bereitstellt).
  2. Routing ausgehender API-Anfrage Informationen in eigene Channel-Verarbeitung z.B. den Channel OUT_API-REQUEST.
  3. Mapping der Daten in die Json-Zielstruktur der API-Anfrage Informationen und hinzufügen der B2B MessageId.
  4. Übergabe der Daten an die RabbitMQ Queue des api-webservice-clients zur Weiterverarbeitung.

Auf die Konfigurationen der einzelnen Schritte wird im Folgenden genauer eingegangen.

Konfiguration der Formaterkennung

Die Konfiguration der Formaterkennung hängt von Eingangsformat der API-Anfrage Informationen ab.

Es wird empfohlen wird, dass die Daten bereits im Json-Zielformat der B2B übermittelt werden. Hierzu kann die generische B2B-Formaterkennung für Json Nachrichten entsprechend konfiguriert werden.

Routing in ausgehenden Channel

Z.B. mit die EdiConditionDistributorAllPresentationsOutbound ChannelDistribution und über den Format-Typ der API-Anfrage Informationen in der GENERIC_EDICONDITION_DISTRIBUTION_OUT Extension:

"OUT_API-REQUEST" <== $messagecontext.FORMAT.type == "API00001";
"OUT_API-REQUEST" <== $messagecontext.FORMAT.type == "API00002";
"OUT_API-REQUEST" <== $messagecontext.FORMAT.type == "API00003";

Mapping der API-Anfrage Information in die Ziel-Struktur

Transformation der Daten in die Json-Zielstruktur mithilfe aller Möglichkeiten in der B2B wie z.B. Mapping Actions, Transformationen, dynamischen Funktionen etc. Das Hinzufügen der B2B MessageId in den übermittelten API-Anfrage Informationen kann durch folgende dynamische Funktion umgesetzt werden (unter der Annahme, dass die API-Anfrage Informationen bereits in der Json-Zielstruktur im CURRENT_PAYLOAD vorliegen):

{"b2bMessageId":"${template(&(this.B3P_OBJ_MESSAGE.messageId))}",${stringsplit(${var(CURRENT_PAYLOAD)},^\s*\{,1)}

Übergabe an RabbitMQ Queue

Hierzu wird empfohlen das B2B Outbox Feature mit der OutboxAction. zu verwenden. Dieses schreibt die API-Anfrage Informationen zunächst in eine eigene Datenbank Tabelle, von wo der B2B Message Service die Daten abholt und in einen RabbitMQ Exchange schreibt.

Voraussetzung für die Verwendung des Outbox Features ist, dass die B2B Datenbank Tabelle B2BBP_OUTBOX angelegt, der B2B Message Service installiert und für die Verwendung des Outbox Features konfiguriert ist, siehe dazu die Outbox Relay Dokuemntation.

Zielformat der API-Anfrage Informationen

Damit der api-webservice-client die API-Anfrage Informationen verarbeiten kann, müssen diese im folgenden Json-Format in der OutboxAction in den RabbitMQ Exchange geschrieben werden, wie das folgende Beispiel zeigt:

{
  "b2bMessageId": "7c7f1a81-8c7d-11ef-bd3c-0242ac120025",
  "endpointPath": "/maloId/dataForMarketLocationNegative/v1",
  "headers": {
    "transactionId": "02f91fa5-c8c6-4ed6-8d87-8bdad8616ffa",
    "creationDateTime": "2023-08-01T12:30:00.1704Z"
  },
  "partnerMpId": "9979046000004",
  "tenantMpId": "9907647000008",
  "body": "{ \"decisionTree\": \"E_0594\", \"responseCode\": \"A10\", \"reason\": \"Ich bin ein Freitext.\", \"networkOperator\": 9900987654321}",
  "parameters": {
    "referenceId": "111d4fae-7dec-11d0-a765-00a0c91e6bf6"
  },
  "apiId": "API00003"
}

Verarbeitung von empfangenen API-Anfragen

tbd

Archivierung

API-Request Nachrichten, die per AEP.API verschickt oder empfangen wurden, können mit allen notwendigen Informationen ausgehend von der B2B archiviert werden. Hierzu sind vermutlich Anpassungen an einer bestehenden Archivierung von EDIFACT Nachrichten notwendig, damit diese auch für API-Request Nachrichten verwendet werden kann.

View Me   Edit Me