Prüfen, ob neue Dokumente im Zielsystem vorhanden sind
Methode und Endpunkt |
|
---|
Dokumente gelangen auf vielen verschiedenen Wegen und nicht nur per edoc content services in ein Zielsystem. Mit der Methode und dem Endpunkt POST /Documents/newDocuments
können Sie die ab einem bestimmten Zeitpunkt oder ab einem bestimmten Dokument erstellten Dokumente in einem Zielsystem ermitteln. Jeder Response beinhaltet maximal 100 Dokumente. Wenn es mehr als 100 Dokumente gibt, müssen Sie die Suchvorgänge wiederholen.
Der Request beinhaltet zwei Suchkriterien:
LastDocumentIndex: Ist der Suchindex, ab dem die Dokumente gesucht werden sollen. Der Suchindex unterscheidet sich je nach Zielsystem:
Fortlaufenden Dokumentnummern: Es werden alle Dokumente gelistet, deren Dokumentnummer größer ist als die angegebene Dokumentnummer.
Keine fortlaufenden Dokumentnummern: Es werden alle Dokumente gelistet, deren Erstellungsdatum jünger ist als das angegebene Erstellungsdatum.
Category: Ist die Kategorie, in der nach neuen Dokumenten gesucht werden soll. Weitere Informationen finden Sie unter: Abrufen der Kategorien eines Zielsystems
Vorgehensweise beim Prüfen auf neue Dokumente im Zielsystem
Beim allerersten Request können Sie LastDocumentIndex mit null oder einem Leerstring füllen. Sie erhalten als Antwort ein Array der gefundenen Dokumente (maximal 100) und die Eigenschaft LastDocumentIndex, die je nach Zielsystem mit der höchsten Dokumentnummer im Array oder mit dem jüngsten Erstellungsdatum im Array gefüllt ist. Verwenden Sie diesen Wert für die Eigenschaft LastDocumentIndex des nächsten Requests. Mit dem nächsten Request erhalten Sie dann die nächsten 100 Dokumente. Auf diese Weise können Sie sich nacheinander alle neuen Dokumente blockweise aus dem Zielsystem holen. Wiederholen Sie Vorgang so oft, bis weniger als 100 Dokumente zurückgeliefert werden. Wenn ein leeres Array zurückgeliefert wird, wurden keine Dokumente gefunden, die den Suchkriterien entsprechen.
Gut zu wissen
edoc content services speichert den Wert von LastDocumentIndex nicht. Das bedeutet, dass Sie sich den Wert der letzten Suche merken müssen. Wenn dieser Wert verloren geht, müssen Sie den vorherigen Vorgang wiederholen.
Beispiel für Request 1
POST /Documents/newDocuments
Accept: application/json
ModuleId: sharepoint
ConnectionString: targetHost=https://test.sharepoint.com;User=MyUserName;Password=MyPassword;ListId=MyListId;
{
"lastDocumentIndex": null,
"category": "dc4af18a-dd54-4735-bad5-92517e8653f2"
}
Beispiel für Response 1
(Die Antwort ist ein beispielhafter Auszug des Gesamtergebnisses und enthält weniger als 100 Dokumente.)
{
"lastDocumentIndex": "100",
"documents": [
{
"id": "1",
"caption": null,
"category": "dc4af18a-dd54-4735-bad5-92517e8653f2|0x010100B1436945C37C404992A0C63B488FD4E3010011D354D3F2D224468B038FB961F78D01",
"mimeType": "",
"fileName": "Invoice.pdf",
"fileSize": 647941,
"version": "9.0",
"createdAt": 1604572107,
"fileUpdatedAt": 1604572107,
"propertiesUpdatedAt": 1611070641,
"properties": [
{
"id": "Title",
"name": "Title",
"value": [
"This is Invoice"
]
},
{
"id": "TenantId",
"name": "TenantId",
"value": [
"951"
]
},
{
"id": "Tenant_x0020_Name",
"name": "Tenant Name",
"value": [
"YourTenant"
]
},
{
"id": "Vendor_x002d_No_x002e_",
"name": "Vendor No.",
"value": [
"456"
]
},
{
"id": "Vendor_x002d_Name",
"name": "Vendor Name",
"value": [
"YourVendor"
]
}
]
},
{
"id": "100",
"caption": "This is MyDocument",
"category": "dc4af18a-dd54-4735-bad5-92517e8653f2|0x010100B1436945C37C404992A0C63B488FD4E3010011D354D3F2D224468B038FB961F78D01",
"mimeType": "",
"fileName": "2022-01-06-15-48-12-060804_MyFile.txt",
"fileSize": 101,
"version": "4.0",
"createdAt": 1641480501,
"fileUpdatedAt": 1641480501,
"propertiesUpdatedAt": 1641566344,
"properties": [
{
"id": "Title",
"name": "Title",
"value": [
"This is MyDocument"
]
},
{
"id": "TenantId",
"name": "TenantId",
"value": [
"1234"
]
},
{
"id": "Tenant_x0020_Name",
"name": "Tenant Name",
"value": [
"MyTenant"
]
},
{
"id": "Vendor_x002d_No_x002e_",
"name": "Vendor No.",
"value": [
"9876"
]
},
{
"id": "Vendor_x002d_Name",
"name": "Vendor Name",
"value": [
"MyVendor"
]
}
]
}
]
}
Beispiel für Request 2
POST /Documents/newDocuments
Accept: application/json
ModuleId: sharepoint
ConnectionString: targetHost=https://test.sharepoint.com;User=MyUserName;Password=MyPassword;ListId=MyListId;
{
"lastDocumentIndex": "100",
"category": "dc4af18a-dd54-4735-bad5-92517e8653f2"
}
Beispiel für Response 2
{
"lastDocumentIndex": "102",
"documents": [
{
"id": "101",
"caption": null,
"category": "dc4af18a-dd54-4735-bad5-92517e8653f2|0x010100B1436945C37C404992A0C63B488FD4E3010011D354D3F2D224468B038FB961F78D01",
"mimeType": "",
"fileName": "Letter.pdf",
"fileSize": 53214,
"version": "9.0",
"createdAt": 1604662107,
"fileUpdatedAt": 1604662107,
"propertiesUpdatedAt": 1604662107,
"properties": [
{
"id": "Title",
"name": "Title",
"value": [
"This is Letter"
]
},
{
"id": "TenantId",
"name": "TenantId",
"value": [
"852"
]
},
{
"id": "Tenant_x0020_Name",
"name": "Tenant Name",
"value": [
"AnotherTenant"
]
},
{
"id": "Vendor_x002d_No_x002e_",
"name": "Vendor No.",
"value": [
"963"
]
},
{
"id": "Vendor_x002d_Name",
"name": "Vendor Name",
"value": [
"AnotherVendor"
]
}
]
},
{
"id": "102",
"caption": "This is MyDocument",
"category": "dc4af18a-dd54-4735-bad5-92517e8653f2|0x010100B1436945C37C404992A0C63B488FD4E3010011D354D3F2D224468B038FB961F78D01",
"mimeType": "",
"fileName": "AnotherFile.txt",
"fileSize": 6514,
"version": "4.0",
"createdAt": 1604752107,
"fileUpdatedAt": 1604752107,
"propertiesUpdatedAt": 1604752107,
"properties": [
{
"id": "Title",
"name": "Title",
"value": [
"This is another File"
]
},
{
"id": "TenantId",
"name": "TenantId",
"value": [
"741"
]
},
{
"id": "Tenant_x0020_Name",
"name": "Tenant Name",
"value": [
"YetAnotherTenant"
]
},
{
"id": "Vendor_x002d_No_x002e_",
"name": "Vendor No.",
"value": [
"321"
]
},
{
"id": "Vendor_x002d_Name",
"name": "Vendor Name",
"value": [
"YetAnotherVendor"
]
}
]
}
]
}