Passive Actions

Prev Next

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.

  • Typ: HTTP POST

  • ContentType: application/json

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.

Verwenden des DocTyp für bessere Performance

Wenn der DocTyp bekannt ist, sollte dieser im Call angegeben werden, um die Performance der Action signifikant zu verbessern.

Request per GUID - Payload Body

{
    "Service": "CONBOX",
    "Language": "DE",
    "UserCode": "<Usercode>",
    "UserAPIKey": "7546b3a7-73e8-40a7-a7b6-699b4d648ac1",  // künftig ein Pflichtfeld 
    "ServiceData": {
        "Action": "SilentCopy",
        "PositionGuid": "a4e656fc-c462-ef99-d814-52faad2fc8db",
        "Amount": 1,         // Optional - sonst gleich wie Ursprung Position
        "DocTyp": 2          // 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]"
    }
}

Request über Beleg- und Positionsnummern - Payload Body

{
    "Service": "CONBOX",
    "Language": "DE",
    "UserCode": "<UserCode>",
    "UserAPIKey": "7546b3a7-73e8-40a7-a7b6-699b4d648ac1",  // künftig ein Pflichtfeld 
    "ServiceData": {
        "Action": "SilentCopy",
        "DocTyp": 2,                  // Zielbelegart
        "DocNbr": "10000-17",         // Zielbelegsnummer
        "PosNbr": "Pos01",            // Zielpositionsnummer
        "SrcDocTyp": 2,               // Quellbelgsart
        "SrcDocNbr": "10000-15",      // Quellbelgesnummer
        "SrcPosNbr": "Pos01",         // Quellpositionsnummer
        "Amount": 1,                  // Optional - sonst gleich wie Ursprung Position
        "PosImgWidth": 300,           // Optional initial 300
        "PosImgHeight": 300           // Optional initial 300
    }
}

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

  • Typ: HTTP POST

  • ContentType: application/json

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.

Verwenden des DocTyp für bessere Performance

Wenn der DocTyp bekannt ist, sollte dieser im Call angegeben werden, um die Performance der Action signifikant zu verbessern.

Request per GUID - Payload Body

{
    "Service": "CONBOX",
    "Language": "DE",
    "UserCode": "<Usercode>",
    "UserAPIKey": "7546b3a7-73e8-40a7-a7b6-645b4d648ac1",  // künftig ein Pflichtfeld 
    "ServiceData": {
        "Action": "Delete",
        "PositionGuid": "550e8400-e29b-41d4-a716-446655440000"  // Optional
    }
}

Response

{
    "Success": true,
    "ErrorMessage": "",
    "ServiceReturnData": {
        "Action": "Delete",
        "PositionGuid": "550e8400-e29b-41d4-a716-446655440000",
    }
}

Request über Beleg- und Positionsnummern - Payload Body

{
    "Service": "CONBOX",
    "Language": "DE",
    "UserCode": "<Usercode>",
    "UserAPIKey": "7546b3a7-73e8-40a7-a7b6-645b4d648ac1",  // künftig ein Pflichtfeld 
    "ServiceData": {
        "Action": "Delete",
        "DocTyp": 2,
        "DocNbr": "Test01", 
        "PosNbr": "Pos01"  
    }
}

Response

{
    "Success": true,
    "ErrorMessage": "",
    "ServiceReturnData": {
        "Action": "Delete",
        "DocTyp": 2,            
        "DocNbr": "Test01",
        "PosNbr": "Pos01"  
    }
}


Purchase

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

  • Typ: HTTP POST

  • ContentType: application/json

Request über Beleg- und Positionsnummern - Payload Body

{
	"Service": "Conbox",
	"Language": "DE",
	"UserCode": "<UserCode>",      
    "UserAPIKey": "7546b3a7-73e8-40a7-a7b6-645b4d648ac1",  // künftig ein Pflichtfeld      
	"ServiceData": {
		"Action": "Purchase",
		"DocTyp": 2,
		"DocNbr": "101224-01",             // Auftragsquellbelegsnummer
		"FinalCustomerLndCde": "D",
		"PosNbr":"Pos01,Pos02",            // Optional - Quellpositionsnummern 
		"ExtPchNbr": "101224-01",          // Optional - Externe Bestellnummer
		"Subject": "BVH Wels",             // Optional - Betreff
        "PurchaseTxt": "Bestell-Notiz"     // Optional
		"DlvAdr": {                        // Optional 
			"AdrTit": "",
			"AdrNam01": "Mustermann",
			"AdrNam02": "Max",                
			"OrdNam": "",
			"AdrStr": "Vierundzwanzig 3",   
			"AdrLnd": "D",
			"AdrPcd": "10001",
			"AdrReg": "Berlin"
		    },
		"PosData": [{                      // Optional
				"PosNbr": "Pos01",
				"LVNbr": "031.01.01",
				"NotTxt": "Fertigungshinweis",
                "Amount": 1                // Optional - sonst gleich wie Ursprung Position
			},
            {
				"PosNbr": "Pos02",
				"LVNbr": "032.02.02",
				"NotTxt": "Fertigungshinweis"
                "Amount": 1
			}
		]
	}
}

Response

{
    "Success": true,
    "ErrorMessage": "",
    "ServiceReturnData": {
        "Action": "Purchase",
        "DocTyp": 2,
        "DocNbr": "101224-01",
        "FinalCustomerLndCde": "D",
        "PosNbr": "Pos01,Pos02", 
        "ExtPchNbr": "101224-01", 
        "Subject": "BVH Wels", 
        "PurchaseTxt": "Bestell-Notiz"
        "DlvAdr": { 
            "AdrTit": "",
            "AdrNam01": "Mustermann",
            "AdrNam02": "Max",
            "OrdNam": "",
            "AdrStr": "Vierundzwanzig 3",
            "AdrLnd": "D",
            "AdrPcd": "10001",
            "AdrReg": "Berlin"
        },
        "PosData": [{
            "PosNbr": "Pos01",
            "LVNbr": "031.01.01",
            "NotTxt": "Fertigungshinweis"
            "Amount": 1
        }, {
            "PosNbr": "Pos02",
            "LVNbr": "032.02.02",
            "NotTxt": "Fertigungshinweis"
            "Amount": 1
        }]
    }
}

Request per GUID - Payload Body

Purchase per PositionGUID

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

Verwenden des DocTyp für bessere Performance

Wenn der DocTyp bekannt ist, sollte dieser im Call angegeben werden, um die Performance der Action signifikant zu verbessern.

{
    "Service": "CONBOX",
    "Language": "DE",
    "UserCode": "<Usercode>",
    "UserAPIKey": "7546b3a7-73e8-40a7-a7b6-645b4d648ac1",  // künftig ein Pflichtfeld 
    "ServiceData": {
        "Action": "Purchase",
        "FinalCustomerLndCde": "D",
        "DlvAdr": {                  // Optional
            "AdrTit": "Titel",
            "AdrNam01": "Name",
            "AdrNam02": "Name2",
            "OrdNam": "Ansprecher",
            "AdrStr": "Strasse",
            "AdrLnd": "D",
            "AdrPcd": "PLZ",
            "AdrReg": "Ort"
        },
        "PosData": [{
            "PositionGuid": "a4d77538-66ed-3d99-d714-b0222516131d",
            "LVNbr": "Schlafzimmer",          // Optional
            "NotTxt": "Fertigungshinweis",    // Optional
            "Amount": 1                       // Optional - sonst gleich wie Ursprung Position
        }, {
            "PositionGuid": "a4d77538-66ed-3d99-d714-b0222516131e",
            "LVNbr": "Küche",                 // Optional
            "NotTxt": "Fertigungshinweis",    // Optional
            "Amount": 1                       // Optional - sonst gleich wie Ursprung Position
        }]
    }
}

Response

{
    "Success": true,
    "ErrorMessage": "",
    "ServiceReturnData": {
        "Action": "Purchase",
        "DlvAdr": { 
            "AdrTit": "Titel",
            "AdrNam01": "Name",
            "AdrNam02": "Name2",
            "OrdNam": "Ansprecher",
            "AdrStr": "Strasse",
            "AdrLnd": "D",
            "AdrPcd": "PLZ",
            "AdrReg": "Ort"
        },
        "PosData": [{
            "PositionGuid": "a4d77538-66ed-3d99-d714-b0222516131d",
            "LVNbr": "Schlafzimmer",
            "NotTxt": "Fertigungshinweis"
        }, {
            "PositionGuid": "a4d77538-66ed-3d99-d714-b0222516131e",
            "LVNbr": "Küche",
            "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>",
	"ServiceData": {
		"Action": "SetReadyStatus",
		"DocTyp": 2,
		"DocNbr": "000007", // Externe Nummer
		"ReadyStatus": true //true oder false
	}
}

Response

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


GetPositionData

🎯 ab moveIT Version 54.30.14

Mit der Action GetPositionData kann man sämtliche Informationen zu einer Position abrufen. Es werden dabei nur Informationen zurück gegeben - es werden keine Änderungen durchgeführt.

  • Typ: HTTP POST

  • ContentType: application/json

Request über Beleg- und Positionsnummern - Payload Body

{
	"Service": "CONBOX",
	"Language": "DE",
	"UserCode": "<UserCode>",
	"ServiceData": {
		"Action": "GetPostionData",
		"DocTyp": 2,
		"DocNbr": "000007",
        "PosNbr": "Pos01"
	}
}

Response

{
    "Success": true,
    "ErrorMessage": "",
    "ServiceReturnData": {
        "Action": "GetPositionData",
        "PositionGuid": "ed3b6a84-695f-afac-d814-9ddd90754ed0",
        "WarNbr": "TestArticle",
        "ProductText": "",
        "ProductTextRTF": "",
        "ListPrice": 345.0,
        "WarDsc": "Ausführliche Bezeichnung des Produktes",
        "WarDscEx1": "könnte noch weitere Bezeichnung sein",
        "WarDscEx2": "könnte noch weitere Bezeichnung sein",
        "FCoPrc": 155.25,
        "PosImgURL": "htts://...",
        "PosImg": "data:image/jpg;base64,/9j/4AAQSkZJRgABAQEBLAEsAAD/2wBDAAYEBQYFBAYGBQYHBwYI...",
        "PrdGrp": "Produktgruppen-Code",
        "PrdGrpDsc": "Produktgruppe ausgeschrieben"
    }
}

Request per GUID - Payload Body

Verwenden des DocTyp für bessere Performance

Wenn der DocTyp bekannt ist, sollte dieser im Call angegeben werden, um die Performance der Action signifikant zu verbessern.

{
	"Service": "CONBOX",
	"Language": "DE",
	"UserCode": "<UserCode>",
	"ServiceData": {
		"Action": "GetPostionData",
        "GetPostionData": "b061a882-3cfa-21a2-d814-380d500dbbc9",
        "DocTyp": 2
	}
}

Response

{
    "Success": true,
    "ErrorMessage": "",
    "ServiceReturnData": {
        "Action": "GetPositionData",
        "PositionGuid": "ed3b6a84-695f-afac-d814-9ddd90754ed0",
        "WarNbr": "TestArticle",
        "ProductText": "",
        "ProductTextRTF": "",
        "ListPrice": 345.0,
        "WarDsc": "Ausführliche Bezeichnung des Produktes",
        "WarDscEx1": "könnte noch weitere Bezeichnung sein",
        "WarDscEx2": "könnte noch weitere Bezeichnung sein",
        "FCoPrc": 155.25,
        "PosImgURL": "htts://...",
        "PosImg": "data:image/jpg;base64,/9j/4AAQSkZJRgABAQEBLAEsAAD/2wBDAAYEBQYFBAYGBQYHBwYI...",
        "PrdGrp": "Produktgruppen-Code",
        "PrdGrpDsc": "Produktgruppe ausgeschrieben"
    }
}