Möchten Sie weitere Dateien in einem Dokument hochladen, benutzen Sie die POST-Route /application/jobarchive/archives/:archive/documents/:revisionId/clippedfiles. Mit dem archive-Parameter geben Sie das Archiv an (Archiv-GUID oder Archivtabelle). Das Dokument wird mit der Revision-ID identifiziert (Parameter revisionId). Die Dateien werden in dem Array files im HTTP-Request-Body übertragen.
Bei erfolgreichem Anklammern wird eine neue Revision des Dokuments angelegt. Deren ID wird in der Antwort zurückgegeben:
{
"archivedocumentrevisions": [
{
"revisionId": 1235
}
]
}
Bitte beachten Sie: Nur Benutzer mit einem Archivprofil können Dokumente ins Archiv ablegen und Dateien anklammern.
Beispiel: Dateien an einem bereits archivierten Dokument anklammern
guzzlehttp
// Benutzer wurde bereits authentifiziert
// Dateien definieren
$files = [
[
'name' => 'files[0]',
'contents' => fopen('/path/to/my/rest/file.pdf', 'r'),
],
[
'name' => 'files[1]',
'contents' => fopen('/path/to/my/rest/note.txt', 'r'),
],
];
try {
$response = $client->request(
'POST',
'application/jobarchive/archives/MYTESTARCHIVE/documents/1234/clippedfiles',
[
'multipart' => $files,
]
);
if ($response->getStatusCode() == 200) {
$body = json_decode($response->getBody(), true);
echo "Dokument-ID: ";
echo $body['archivedocumentrevisions'][0]['revisionId'] . "\n";
}
} catch (Exception $e) {
echo "Fehler beim Ausführen: " . $e->getMessage() . "\n";
}
// Benutzer-Session beenden
cURL
// Benutzer wurde bereits authentifiziert
// Dateien definieren
$file1 = new CURLFile('/path/to/invoice/file1.pdf');
$file2 = new CURLFile('/path/to/invoice/file2.pdf');
$files = [
'files[0]' => $file1,
'files[1]' => $file2
];
curl_setopt($curlHandle, CURLOPT_URL,
'http://example.org/jobrouter/api/rest/v2/application/' .
'jobarchive/archives/invoices/documents/1234/clippedfiles');
curl_setopt($curlHandle, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curlHandle, CURLOPT_POST, 1);
curl_setopt($curlHandle, CURLOPT_POSTFIELDS, $files);
curl_setopt($curlHandle, CURLOPT_COOKIEFILE, 'path/to/cookie/file.cookie');
$response = curl_exec($curlHandle);
$statusCode = curl_getinfo($curlHandle, CURLINFO_HTTP_CODE);
curl_close();
if ($statusCode == 200) {
$documentData = json_decode($response, true);
echo "Dokument-ID: ";
echo $documentData['archivedocumentrevisions'][0]['revisionId'] . "\n";
} else {
echo "Fehler beim Ausführen: Code - " . $statusCode . ", ";
echo "Response: " . var_export($response, true);
}
// Benutzer-Session beenden