Benötigen Sie zusätzliche Informationen zu einem Archiv, wie z. B. welche Indexfelder vorhanden sind, können Sie diese mit der GET-Route /application/users/:username/archives/:archive abfragen. Das Archiv wird anhand der Datenbanktabellennamen oder der GUID identifiziert (Parameter :archive). Der Aufruf erfolgt in einem Benutzerkontext. Nur Benutzer mit Zugriff auf das Archiv können diese Informationen auslesen. Der Benutzer wird anhand des Benutzernamens identifiziert (Parameter :username). Der Rückgabewert ist in folgendem JSON-Format:
{
"users": {
"archives": [
{
"name": "Invoices",
... weitere Archiveigenschaften ...
"indexFieldDefinitions": [
{
"name": "deadline",
... weitere Indexfeld-Eigenschaften ...
},
... weitere Indexfelder ...
]
}
]
}
}
Beispiel: Pflichtfelder ermitteln
guzzlehttp
// Benutzer wurde bereits authentifiziert
try {
$response = $client->request(
'GET',
'application/users/jdoe/archives/invoices'
);
$responseBody = json_decode($response->getBody(), true);
$archiveDetails = $body['users']['archives'][0];
$requiredFields = [];
foreach ($archiveDetails['indexFieldDefinitions'] as $fieldDefinition) {
if ($fieldDefinition['required']) {
array_push($requiredFields, $fieldDefinition['name']);
}
}
echo "Pflichtfelder: " . implode(',', $requiredFields) . "\n";
} catch (Exception $e) {
echo "Fehler beim Ausführen: " . $e->getMessage() . "\n";
}
// Benutzer-Session beenden
cURL
// Benutzer wurde bereits authentifiziert
curl_setopt($curlHandle, CURLOPT_URL,
'http://example.org/jobrouter/api/rest/v2/application/users/jdoe/archives/invoices');
curl_setopt($curlHandle, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curlHandle, CURLOPT_CUSTOMREQUEST, 'GET');
curl_setopt($curlHandle, CURLOPT_COOKIEFILE, 'path/to/cooke/file.cookie');
$response = curl_exec($curlHandle);
$statusCode = curl_getinfo($curlHandle, CURLINFO_HTTP_CODE);
curl_close();
if ($statusCode == 200) {
$decodedResponse = json_decode($response, true);
$archiveDetails = $response['users']['archives'][0];
$requiredFields = [];
foreach ($archiveDetails['indexFieldDefinitions'] as $fieldDefinition){
if ($fieldDefinition['required']) {
array_push($requiredFields, $fieldDefinition['name']);
}
}
echo "Pflichtfelder: " . implode(',', $requiredFields) . "\n";
} else {
echo "Fehler beim Ausführen: Code - " . $statusCode . ", ";
echo "Response: " . var_export($response, true);
}
// Benutzer-Session beenden