Administrieren von edoc archivelink mit Webservices
Sie können mithilfe von Webservices Einträge im Cockpit und Dokumente suchen, löschen, reindizieren und zurücksetzen.
Die Webservices sind in vielen Fällen nützliche Tools, um edoc archivelink z.B. nach einem Umzug oder bei Problemfällen schnell zu analysieren. Sie können bei Bedarf die nötigen Schritte mithilfe der Webservices auf einfache Weise durchführen.
Gut zu wissen
Sie müssen jeden Webservice mit einem Zugriffstoken (Access Token), die Client-ID und den geheimen Clientschlüssel (Client Secret) autorisieren.
Folgende Webservices stehen Ihnen in Ihrer Microsoft Dynamics 365 for Finance and Operations-Umgebung als URL zur Verfügung:
Updaten: https://<Basisadresse>/api/services/EDARLProcessingServiceGroup/EDARLProcessingService/updateDocuTableOperation
Löschen: https://<Basisadresse>/api/services/EDARLProcessingServiceGroup/EDARLProcessingService/deleteOperation
Suchen: https://<Basisadresse>/api/services/EDARLProcessingServiceGroup/EDARLProcessingService/findCockpitDataOperation
Reindizieren und Zurücksetzen: https://<Basisadresse>/api/services/EDARLProcessingServiceGroup/EDARLProcessingService/reindexAndResetOperation
Verfügbare Parameter für die Suche mithilfe von Webservices
Sie können in den Webservices folgende Suchparameter verwenden:
DocuId (ID des Dokuments in Dynamics 365 for Finance and Operations)
ECMDocuId (ID des ECM-Dokuments)
DocuTypeId (ID der Dokumentart)
SystemId (ID des ECM-Systems in edoc archivelink)
RepositoryId (ID des ECM-Repositorys)
ProcessingType (Verarbeitungstyp in edoc archivelink)
ProcessingStatus (Bearbeitungsstatus in edoc archivelink)
CreatedDateTimeFrom (Erstellungsdatum in edoc archivelink)
CreatedDateTimeTo (Uhrzeit der Erstellung in edoc archivelink)
Zeitzone des Cloudservers beachten
Wenn Sie die Suchparameter CreatedDateTimeFrom und CreatedDateTimeTo verwenden, prüfen Sie unbedingt vorab, in welcher Zeitzone sich Ihr Cloudserver befindet.
Je nach Standort kann es eine zeitliche Differenz von einer Stunde oder mehreren Stunden geben. Passen Sie in diesem Fall die Uhrzeit bei den Suchparametern entsprechend an.
Verfügbare Parameter zum Aktualisieren und Löschen mithilfe von Webservices
Sie können zwei Dokumenteigenschaften und deren Felder aktualisieren:
ECM-Dokument-ID: Nur wenn die Eigenschaft leer ist. Voraussetzung: Die Dokument-ID existiert bereits. Beide Felder werden als Parameter gesendet.
Beschreibung: Ist die nähere Beschreibung des Dokuments.
Dokumentfelder: Sie benötigen zum Aktualisieren der Felder die Indizierungsdefinition. Der Status des Eintrags wird im Cockpit nach dem Aktualisieren auf Warten festgelegt.
Prüfen Sie vor dem Löschen von Einträgen zunächst Einträge. Verwenden Sie den Suchwebservice, um die potenziell zu löschenden Einträge zu bewerten und zu überprüfen.
Codebeispiele für die verschiedenen Webservices
Sie können ein beliebiges REST-API-Tool für Ihre Zwecke verwenden. Ein nützliches Tool ist z.B. Postman, mit dem Sie Ihre Abfragen im JSON-Format angeben. In den Folgenden Beispielen finden Sie die Postman-Abfragen im JSON-Format.
Webservice für die Suche nach Einträgen im Cockpit (Beispielabfrage)
Die URL für eine Suche von Einträgen im Cockpit enthält folgende Elemente: https://<Basisadresse>/api/services/<Servicegruppe>/<Serviceklasse>/<Funktion>
Beispiel: https://<Basisadresse>/api/services/EDARLProcessingServiceGroup/EDARLProcessingService/findCockpitDataOperation
{
"_requestContract":
{
"Lines":[
{
"CreatedDateTimeFrom":"21.11.2023 09:56:01",
"CreatedDateTimeTo":"21.11.2023 09:56:05",
"DocuId": "<Document_ID_in_Dynamics>",
"ECMDocuId": "<Name_ECM_Document>",
"DocuTypeId": "<Name_Document_Type>",
"SystemId": "<ECM_System_ID>",
"RepositoryId": "<ECM_Repository_ID>",
"ProcessingType": "<Processing_Type_Name>",
"ProcessingStatus": "<Status_Name>",
}
]
}
}
Webservice zum Löschen von Einträgen im Cockpit (Beispielabfrage)
Die URL für einen Löschvorgang von Einträgen im Cockpit enthält folgende Elemente: https://<Basisadresse>/api/services/<Servicegruppe>/<Serviceklasse>/<Funktion>
Beispiel: https://<Basisadresse>/api/services/EDARLProcessingServiceGroup/EDARLProcessingService/deleteOperation
{
"_requestContract":
{
"Lines":[
{
"ProcessingType":"<Processing_Type_Name>",
"ProcessingStatus":"<Status_Name>"
}
]
}
}
Webservice zum Aktualisieren von Einträgen im Cockpit (Beispielabfrage)
Die URL zum Aktualisieren von Einträgen im Cockpit enthält folgende Elemente: https://<Basisadresse>/api/services/<Servicegruppe>/<Serviceklasse>/<Funktion>
Beispiel: https://<Basisadresse>/api/services/EDARLProcessingServiceGroup/EDARLProcessingService/updateDocuTableOperation
Wenn Sie mehrere ECM-Dokument-IDs aktualisieren möchten, können Sie Folgendes tun:
{
"_requestContract":
{
"Lines":[
{
"ECMDocuId":"<Name_ECM_Document_1>",
"DocuId":"<Document_ID_in_Dynamics_1>",
"Description":"<Description_for_ECM_Document_1>"
},
{
"ECMDocuId":"<Name_ECM_Document_2>",
"DocuId":"<Document_ID_in_Dynamics_2>",
"Description":"<Description_for_ECM_Document_2>"
}
]
}
}
Sie können außerdem die ECM-Dokument-ID mit dem Webservice updateDocuTableOperation überschreiben. Standardmäßig werden nur leere Felder berücksichtigt.
Mit dem Parameter overwriteECMDocuId = 'Yes' können Sie eine vorhandene ECM-Dokument-ID überschreiben.
Wenn Sie eine vorhandene ECM-Dokument-ID aktualisieren möchten, können Sie Folgendes tun:
{
"_requestContract":
{
"Lines":[
{
"ECMDocuId":"<Name_ECM_Document_2>",
"DocuId":"<Document_ID_in_Dynamics_2>",
"overwriteECMDocuId":"Yes",
"Description":"<Description_for_ECM_Document_2>"
}
]
}
}
Webservice zum Reindizieren und Zurücksetzen von Einträgen im Cockpit (Beispielabfrage)
Die URL zum Reindizieren und Zurücksetzen von Einträgen im Cockpit enthält folgende Elemente: https://<Basisadresse>/api/services/<Servicegruppe>/<Serviceklasse>/<Funktion>
Beispiel: https://<Basisadresse>/api/services/EDARLProcessingServiceGroup/EDARLProcessingService/reindexAndResetOperation
{
"_requestContract":
{
"Lines":[
{
"ECMDocuId":"<Name_ECM_Document_1>",
"DocuId":"<Document_ID_in_Dynamics_1>",
"IndexDefId":"<Index_Definition_ECM_Document_1>"
}
]
}
}
Tipps zum Einrichten der Zugriffsberechtigung in Postman
Wenn Sie z.B. Postman als REST-API-Tool verwenden möchten, müssen Sie sich entsprechend autorisieren mit einem Zugriffstoken (Access Token), die Client-ID und den geheimen Clientschlüssel (Client Secret).
So geht’s
Erstellen Sie zunächst eine Sammlung (Collection).
Melden Sie sich bei Ihrer Dynamics 265-Instanz an, indem Sie Sie einen Request vom Typ Post erstellen: https://login.microsoftonline.com/<Tenant-ID>/oauth2/token.
Geben Sie im Abschnitt Body unter x-www-form-urlencoded die entsprechenden Daten für client_id, client_secret, resource und grant_type ein.
Erstellen Sie weitere Requests vom Typ Post für die Webservices mit dem Link: https://<Basisadresse>/api/services/EDARLProcessingServiceGroup/EDARLProcessingService/<Name_des_Webservices.
Legen Sie unter Body die raw und JSON fest.
Geben Sie das Skript im Editor ein.
Nachdem Sie Autorisierung erfolgt ist, finden Sie unter Authorization im ersten Request das erzeugte Token. Geben Sie das Token in jedem Requests für jeden Webservice unter Authorization ein.