Passive Actions
  • 26 Sep 2024
  • 6 Minuten zu lesen
  • Dunkel
    Licht
  • pdf

Passive Actions

  • Dunkel
    Licht
  • pdf

Artikel-Zusammenfassung

Passive Actions werden von moveIT CONBOX als WebService bereitgestellt. Es gibt keine Benutzeroberfläche seitens moveIT CONBOX für den Endnutzer. Die Kommunikation zwischen den Systemen erfolgt vollständig im Hintergrund und ist für den Benutzer nicht sichtbar.

Die erforderlichen Parameter werden als JSON im Payload Body der HTTP-Anfrage übermittelt. Die Antworten werden ebenfalls im JSON-Format im HTTP-Response zurückgegeben. Der Content-Type der Nachrichten muss dabei stets application/json sein.

In diesem Szenario werden die im Fremdsystem benötigten Informationen synchron direkt im Response des WebService-Calls zurückgegeben.

Authentifizierung:

  • Im WebService-Call erfolgt die Authentifizierung am WebServer (z.B. per Digest- oder Basic-Auth - je nachdem was der Betreiber der moveIT CONBOX Installation definiert).

  • Zusätzlich erfolgt die Identifizierung des Users per User-Code und UserAPIKey (🆕) im JSON-Body.

SilentCopy

Kopiervorgang der im Hintergrund, ohne User Interaktion, durchgeführt werden kann.

Copy per PositionGUID

Wird die Copy Action oder SilentCopy Action ausgelöst, so kann dies ohne Beleg-Infos und nur mit der GUID einer Position geschehen. Werden keine Beleg-Infos mitgegeben, wird einfach ein neuer Beleg im Hintergrund erstellt und darin die Position kreiert.

  • Typ: HTTP POST

  • ContentType: application/json

Request - Payload Body

{
    "Service": "CONBOX",
    "Language": "DE",
    "UserCode": "<Usercode>",
    "ServiceData": {
        "Action": "SilentCopy",
        "Amount": 1,            // Optional
        "PositionGUID": "550e8400-e29b-41d4-a716-446655440000",  // Optional
        "SrcDocTyp": 2,          // Optional
        "SrcDocNbr": "Test02",  // Optional
        "DocTyp": 2,            // Optional
        "DocNbr": "Test01",     // Optional
        "SrcPosNbr": "Pos02",   // Optional
        "PosNbr": "Pos01",      // Optional
        "PosImgWidth": 300,     // Optional
        "PosImgHeight": 300    // Optional
    }
}

Response

{
    "Success": true,
    "ErrorMessage": "",
    "ServiceReturnData": {
        "Action": "SilentCopy",
        "PositionGUID": "550e8400-e29b-41d4-a716-446655440000", 
        "DocTyp": 2,
        "DocNbr": "Test01",
        "PosNbr": "Pos01",
        "SrcDocTyp": 2,
        "SrcDocNbr": "Test01",
        "SrcPosNbr": "Pos02",
        "Amount": 1,
        "PosImgWidth": 300,
        "PosImgHeight": 300,
        "WarNbr": "TestArticle",
        "ProductText": "",
        "ProductTextRTF": "",
        "PrdGrp": "ET",               
        "PrGrpDSC": "Ersatzteil",     
        "ListPrice": 1234.56,
        "WarDsc": "TestArticle Beschreibung",
        "WarDscEx1": "TestArticle Beschreibung Ex1",
        "WarDscEx2": "TestArticle Beschreibung Ex1",
        "FCoPrc": 123.45,
        "PosImgURL": "http://...",
        "PosImg": "[Base64]"
    }
}


Delete

Löschen einer Position

Delete per PositionGUID

Die Delete Action kann rein mit der GUID einer Position ausgelöst werden. Es werden keine anderen Beleg-Infos benötigt. Wird die Position gelöscht und ist die einzige Position in einem Beleg, so ist der Beleg leer. Es wird empfohlen, die Reorganisation von leeren Belegen einzurichten.

  • Typ: HTTP POST

  • ContentType: application/json

Request - Payload Body

{
    "Service": "CONBOX",
    "Language": "DE",
    "UserCode": "<Usercode>",
    "ServiceData": {
        "Action": "Delete",
        "PositionGUID": "550e8400-e29b-41d4-a716-446655440000",  // Optional
        "DocNbr": "Test01",        // Optional
        "DocTyp": 2,               // Optional
        "PosNbr": "Pos01"          // Optional
    }
}

Response

{
    "Success": true,
    "ErrorMessage": "",
    "ServiceReturnData": {
        "Action": "Delete",
        "DocTyp": 2,            
        "PositionGUID": "550e8400-e29b-41d4-a716-446655440000",
        "DocNbr": "Test01",
        "PosNbr": "Pos01"   
    }
}


Purchase

Bestellauslösung – parallel zum Fremdsystem. Die Industrie fordert im Normalfall auch eine technische moveIT Bestellung.

Purchase per PositionGUID

Bestellungen können rein über GUIDs von Konfigurations-Positionen zusammengestellt werden. In diesem Step kann auch die Menge geändert werden.

  • Typ: HTTP POST

  • ContentType: application/json

Request - Payload Body

{
    "Service": "CONBOX",
    "Language": "DE",
    "UserCode": "<Usercode>",
    "ServiceData": {
        "Action": "Purchase",
        "DocNbr": "Test01",
        "DocTyp": 2,
        "FinalCustomerLndCde": "D",
        "PosNbr": "Pos01",           // Optional
        "ExtPchNbr": "Bestellung01", // Optional
        "Subject": "Betreff",        // Optional
        "DlvAdr": {                  // Optional
            "AdrTit": "Titel",
            "AdrNam01": "Name",
            "AdrNam02": "Name2",
            "OrdNam": "Ansprecher",
            "AdrStr": "Strasse",
            "AdrLnd": "D",
            "AdrPcd": "PLZ",
            "AdrReg": "Ort"
        },
        "PosData": [{[       		// Optional
            "PosNbr": "Pos01",
            "LVNbr": "Pos01",
            "NotTxt": "Fertigungshinweis"
        }, {
            "PosNbr": "Pos02",
            "LVNbr": "Pos02",
            "NotTxt": "Fertigungshinweis"
        }]
    }
}

Response

{
    "Success": true,
    "ErrorMessage": "",
    "ServiceReturnData": {
        "Action": "Purchase",
        "DocTyp": 2,
        "DocNbr": "Test01",
        "FinalCustomerLndCde": "D",
        "PosNbr": "Pos01", 
        "ExtPchNbr": "Purchase01", 
        "Subject": "Betreff", 
        "DlvAdr": { 
            "AdrTit": "Titel",
            "AdrNam01": "Name",
            "AdrNam02": "Name2",
            "OrdNam": "Ansprecher",
            "AdrStr": "Strasse",
            "AdrLnd": "D",
            "AdrPcd": "PLZ",
            "AdrReg": "Ort"
        },
        "PosData": [{
            "PosNbr": "Pos01",
            "LVNbr": "Pos01",
            "NotTxt": "Fertigungshinweis"
        }, {
            "PosNbr": "Pos02",
            "LVNbr": "Pos02",
            "NotTxt": "Fertigungshinweis"
        }]
    }
}


SaveDocumentAs

Hiermit kann ein Angebot als Angebot, Angebot als Auftrag oder ein Auftrag als Auftrag gespeichert werden.

  • Typ: HTTP POST

  • ContentType: application/json

Request - Payload Body

{
    "Service": "CONBOX",
    "Language": "DE",
    "UserCode": "<Usercode>",
    "ServiceData": {
        "Action": "SaveDocumentAs",
        "DocNbr": "Test01",
        "DocTyp": 2,
        "SrcDocNbr": "Test02",
        "SrcDocTyp": 2
    }
}

Response

{
    "Success": true,
    "ErrorMessage": "",
    "ServiceReturnData": {
        "Action": "SaveDocumentAs",
        "DocTyp": 2,
        "DocNbr": "Test01",
        "SrcDocTyp": 2,
        "SrcDocNbr": "Test01"
    }
}


SetReadyStatus

Mit der Action SetReadyStatus kann man ein Angebot oder einen Auftrag auf fertig setzen. Dies kann relevant sein, wenn dadurch weitere Schnittstellenfunktionen ausgelöst werden.

  • Typ: HTTP POST

  • ContentType: application/json

Request - Payload Body

{
    "Service": "CONBOX",
    "Language": "DE",
    "UserCode": "<Usercode>",
    "UserAPIKey": "7546b3a7-73e8-40a7-a7b6-645b4d648ac1",
    "ServiceData": {
        "Action": "SetReadyStatus",
        "DocTyp": 2,
        "DocNbr": "Test02",
        "ReadyStatus": true
    }
}

Response

{
    "Success": true,
    "ErrorMessage": "",
    "ServiceReturnData": {
        "Action": "SetReadyStatus",
        "DocTyp": 2,
        "DocNbr": "Test02",
        "ReadyStatus": true
    }
} 


War dieser Artikel hilfreich?