Search Results for

    Show / Hide Table of Contents

    Benutzerdefinierte Datenspeicher

    Die Partner-Nachrichtenwarteschlange ist ein REST-Endpunkt, der zum Hochladen von benutzerdefinierten XML- oder JSON-Datenspeichern verwendet wird, die vom COSMO Data Integration Framework verarbeitet werden sollen. Dies wird durch das Erstellen von Empfangenen Partner-Nachrichten in einem zweistufigen Prozess erreicht:

    1. Erstellen eines Nachrichtenwarteschlangenpostens basierend auf der Datenspeicherart.
    2. Senden der Datenspeicherdaten, um eine empfangene Nachricht des Partners zu erstellen und den Nachrichtenwarteschlangenposten zu löschen.

    Erstellen eines Nachrichtenwarteschlangenpostens

    Um einen Posten in der Nachrichtenwarteschlange zu erstellen, müssen Sie die folgenden grundlegenden Informationen angeben: Art (type), Absender (sender) und Mapping.

    Request
    POST <bc-service-odata-url>/api/cosmoconsult/dataintegrationframework/v1.0/companies(<company-id>)/messages
    Header: {
        "Content-Type": "application/json"
    }
    Body: {
        "sender": "<sender-code>",
        "mapping": "<(received-)mapping-code>",
        "type": "<repository-type>"
    }
    

    Dies sind die möglichen Typen:

    • XmlRepository: Laden Sie im nächsten Schritt nur XML-Dateiinhalte als Mapping-Datenspeicher hoch.
    • JsonRepository: Laden Sie im nächsten Schritt nur JSON-Dateiinhalte als Mapping-Datenspeicher hoch.

    Es ist auch möglich, den Typ Message zu verwenden, dies wird jedoch nicht empfohlen, da zusätzliche Ausführungsschritte erforderlich sind und dies nur intern verwendet wird.

    Der Sender sollte ein eindeutiger Partnercode [20] aus Ihrer externen Anwendung sein, der das richtige Partner-Mapping zur Ausführung der empfangenen Nachricht identifiziert. Das Mapping sollte ein Code [20] sein und wird als Empfangener Mappingcode-Filter zusammen mit dem Partnercode (Absender) verwendet, um das Partner-Mapping zu identifizieren, welches ausgeführt werden muss. Für die Typen XmlRepository und JsonRepository sind die Felder Sender und Mapping zwingend erforderlich.

    Response

    Die Antwort enthält die ID des erstellten Nachrichtenwarteschlangenpostens und weitere relevante Informationen. Sie benötigen diese ID für den nächsten Schritt.

    Status: 200
    Body: {
        "id": "<system-id>",
        ...
    }
    

    Senden der Datenspeicherdaten

    Um die tatsächlichen XML- oder JSON-Daten zu senden und den Prozess für die Typen XmlRepository und JsonRepository abzuschließen, ist eine zweite Anfrage erforderlich. Diese Anfrage erstellt eine Empfangene Nachricht eines Partners aus einem Nachrichtenwarteschlangenposten und löscht den Partner-Nachrichtenwarteschlangenposten.

    Request
    PUT <bc-service-odata-url>/api/cosmoconsult/dataintegrationframework/v1.0/companies(<company-id>)/messages(<message-system-id>)/data
    Header: {
        "If-Match": "*"
    }
    Body: <data> (the XML repository or JSON repository)
    
    Response

    Nach einer positiven Antwort mit einem Status von No Content (204) wird der entsprechende Nachrichtenwarteschlangenposten gelöscht und kann nicht mehr abgerufen werden.

    Status: 204 (no content)
    

    Löschen des Nachrichtenwarteschlangenpostens

    Für die Arten XmlRepository und JsonRepository wird der Nachrichtenwarteschlangenposten automatisch gelöscht, nachdem die Daten gesendet wurden. Für den Typ Message wird der Nachrichtenwarteschlangenposten nicht automatisch gelöscht. Sie können den Nachrichtenwarteschlangenposten manuell löschen, indem Sie die folgende Anfrage verwenden:

    DELETE <bc-service-odata-url>/api/cosmoconsult/dataintegrationframework/v1.0/companies(<company-id>)/messages(<message-system-id>)
    
    Status: 204 (no content)
    

    Beispiele

    Beispiel SaaS

    POST https://api.businesscentral.com/fa8bbabb-f0d6-45b9-83f9-5bfa6c036aed/production/api/cosmoconsult/dataintegrationframework/v1.0/companies(ba0f0202-e8af-42af-b2b7-226825a0bc00)/messages
    "Content-Type": "application/json"
    "Authentication": "Bearer ..."
    {
        "sender": "COMPANY A",
        "mapping": "ITEM2XML",
        "type": "XmlRepository"
    }
    
    Status: 200
    {
        "id": "65adc1d2-e7ae-47fd-bbaa-5255454c7d80"
    }
    
    
    PUT https://api.businesscentral.com/fa8bbabb-f0d6-45b9-83f9-5bfa6c036aed/production/api/cosmoconsult/dataintegrationframework/v1.0/companies(ba0f0202-e8af-42af-b2b7-226825a0bc00)/messages(65adc1d2-e7ae-47fd-bbaa-5255454c7d80)/data
    "Content-Length": 121
    "Content-Type": "application/xml"
    "Authentication": "Bearer ..."
    "Body": <database><items><item><number>1000</number><description>Item</description></item></items></database>
    
    Status: 204
    

    Beispiel OnPrem

    POST http://local-container:7048/BC/api/cosmoconsult/dataintegrationframework/v1.0/companies(ba0f0202-e8af-42af-b2b7-226825a0bc00)/messages
    "Content-Type": "application/json"
    "Authentication": "Basic ..."
    {
        "sender": "COMPANY A",
        "mapping": "ITEM2XML",
        "type": "JsonRepository"
    }
    
    Status: 200
    {
        "id": "65adc1d2-e7ae-47fd-bbaa-5255454c7d80"
    }
    
    
    PUT https://api.businesscentral.com/fa8bbabb-f0d6-45b9-83f9-5bfa6c036aed/production/api/cosmoconsult/dataintegrationframework/v1.0/companies(ba0f0202-e8af-42af-b2b7-226825a0bc00)/messages(65adc1d2-e7ae-47fd-bbaa-5255454c7d80)/data
    "Content-Length": 68
    "Content-Type": "application/json"
    "Authentication": "Basic ..."
    "Body": { "items": [{ "no": "1000", "name": "Test" }] }
    
    Status: 204
    
    Tip

    In diesem Szenario wird die Basisauthentifizierung für OnPrem verwendet. Erstellen Sie den Headerwert durch 'Basic: ' + Convert::ToBase64String("userid:webservicekey") oder verwenden Sie andere Authentifizierungsmethoden.


    Feedback
    Senden Sie Feedback für diese Seite. (Beachten Sie, dass diese Umfrage auf Englisch ist.)

    In This Article
    Back to top 2025 © COSMO CONSULT - Data protection - Imprint