Nutzdatenstruktur für eine grundlegende Antwort
In den folgenden Abschnitten werden die Antwort-Nutzdaten für eine grundlegende Antwort beschrieben. Für diese Diskussion ist eine grundlegende Antwort eine Antwort, die Informationen über ein bestimmtes Element oder eine bestimmte Sammlung enthält, aber keine eingeschlossenen Ressourcen enthält. Eingeschlossene Ressourcen werden unter Nutzdatenstruktur für eine Antwort mit eingeschlossenen Ressourcen erläutert.
Beispiele für Antwort-Nutzdaten in Postman
Sie können die folgenden Postman-Aufrufe verwenden, um Beispiele für Antwort-Nutzdaten zu laden. Bei allen Aufrufen wird Folgendes vorausgesetzt:
- Ihre Instanz von ClaimCenter ist auf Ihrem lokalen Computer installiert.
- Die Beispieldaten für die Demo wurden geladen.
- Der Aufruf verwendet die Basisauthentifizierung mit dem Benutzer
aapplegateund dem Kennwortgw.
Beispiele für Antwort-Nutzdaten
Antwort-Nutzdaten für eine einzelne Ressource:
- Aktivität „Anspruchsteller kontaktieren“ (mit Öffentlicher ID: cc:20)
- GET
http://localhost:8080/cc/rest/common/v1/activities/cc:20
- GET
- Schadenfall 235-53-365870 (mit Öffentlicher ID: demo_sample:1)
- GET
http://localhost:8080/cc/rest/claim/v1/claims/demo_sample:1
- GET
Antwort-Nutzdaten für eine Sammlung:
- Alle Aktivitäten, die Andy Applegate zugewiesen sind
- GET
http://localhost:8080/cc/rest/common/v1/activities
- GET
- Alle Schadenfälle, die Andy Applegate zugewiesen sind
- GET
http://localhost:8080/cc/rest/claim/v1/claims
- GET
Struktur einer Grundantwort
Im Folgenden wird die allgemeine Struktur einer Grundantwort dargestellt. Die erste und letzte Eigenschaft (count und Sammlungsebene links) werden nur für Sammlungsnutzdaten verwendet. Alle anderen Eigenschaften werden sowohl für Element- als auch für Sammlungsnutzdaten verwendet.
(Hinweis: JSON unterstützt keine Kommentare. Zur Klarstellung des Codes wurden jedoch Pseudo-Kommentare hinzugefügt. Jedem Pseudo-Kommentar ist ein Hashtag (#) vorangestellt.)
{
"count": N, # Number of resources in collection*
"data": [ # List of resources
{ # Resource 1 begins here
"attributes": { # Resource 1 name/value pairs
"propertyName": "propertyValue",
... },
"checksum": "val", # Resource 1 checksum value
"links": { ... } # Resource 1 links
}, # Resource 1 ends here
{ # Resource 2 begins here
"attributes": { # Resource 2 name/value pairs
"propertyName": "propertyValue",
... },
"checksum": "val", # Resource 2 checksum value
"links": { ... } # Resource 2 links
}, # Resource 2 ends here
... ], # Resources 3 to N
"links": { ... } # Collection-level links*
}
# *-used only for collection responsesEigenschaft "count"
Die Eigenschaft count gibt die Anzahl der Elemente an, die in den Nutzdaten zurückgegeben werden. Sie wird nur in Antworten verwendet, die Sammlungen enthalten.
Abschnitt "data"
Der Abschnitt data enthält Informationen über die vom Endpunkt zurückgegebenen Ressourcen. Für jede Ressource werden standardmäßig die folgenden Unterabschnitte angezeigt:
- attributes - Ein Satz von Name/Wert-Paaren für die Felder jeder Ressource.
- checksum - Ein Prüfsummenwert für jede Ressource.
- links - HTTP-Verknüpfungen, die für Aktionen an den einzelnen Ressourcen verwendet werden können.
Wenn ein Endpunkt eine einzelne Ressource zurückgibt, enthält der Datenabschnitt einen einzelnen Satz von attributes, checksum und links. Wenn ein Endpunkt eine Sammlung zurückgibt, enthält der Datenabschnitt für jede Ressource einen Satz von attributes, checksum und links.
Abschnitt "attributes"
Im Unterabschnitt attributes sind die für eine Ressource zurückgegebenen Felder und die Werte für diese Felder aufgeführt. Zum Beispiel:
"attributes": {
"activityPattern": "check_coverage",
"activityType": {
"code": "general",
"name": "General"
},
...
},
Jede Ressource verfügt über einen Standardsatz von Feldern, die zurückgegeben werden. Dies ist in der Regel eine Teilmenge aller Felder, die zurückgegeben werden können. Sie können den Standardsatz von Feldern überschreiben, die mit dem Abfrageparameter fields zurückgegeben werden. Weitere Informationen finden Sie unter Festlegen, welche Felder über GET abgerufen werden sollen.
Einfache Werte
Wenn ein Feld ein Skalar ist, wird sein Wert nach dem Doppelpunkt aufgeführt. Zum Beispiel:
"subject": "Verify which coverage is appropriate"
ID-Eigenschaften
Jede Ressource hat ein Feld id. Dieses hat denselben Wert wie die öffentliche ID des Objekts in ClaimCenter. Dies ist in der Regel eines der standardmäßig zurückgegebenen Felder. Zum Beispiel:
"id": "xc:20",
Dieser Wert wird auch in einem Endpunkt verwendet, der ein bestimmtes Element benennt, z. B.:
GET /activities/xc:20/notes
Werte für Datum und Uhrzeit
Datums- und Datums-/Uhrzeitwerte werden in Nutzdatenpaketen als Zeichenfolge im folgenden Format angezeigt:
- Datetime:
YYYY-MM-DDThh:mm:ss.fffZ - Datum:
YYYY-MM-DD
Wobei gilt:
YYYYist das Jahr.MMist der Monat.DDist der Tag.- Für Datetime-Werte:
Tist ein Literalwert, der den Datums- und den Zeitabschnitt trennt.hhist die Stunde.mmist die Minute.ssist die Sekunde.fffist die zweite Fraktion.Zist ein Literalwert, der "Nullstundenversatz" bedeutet. Dieser wird auch als "Zulu-Zeit" (UTC) bezeichnet.
Zum Beispiel:
"dueDate": "2020-03-23T07:00:00.000Z",Inline-Ressourcen
Einige Antwort-Nutzdaten enthalten Inline-Ressourcen. Eine Inline-Ressource ist eine Ressource, die nicht die Stammressource ist, aber einige ihrer Felder sind standardmäßig zusammen mit Feldern aus der Stammressource im Attributbereich aufgeführt. Inline-Ressourcen folgen dem Format:
"inlinedResourceName": {
"inlinedResourceField1": value,
"inlinedResourceField2": value,
...
},
Inline-Ressourcen werden im Antwortschema deklariert. Ähnlich wie bei Skalarwerten können Sie mit dem Abfrageparameter fields steuern, welche Inline-Ressourcen und Inline-Ressourcenfelder in einer Antwort zurückgegeben werden. Weitere Informationen finden Sie unter Festlegen, welche Felder über GET abgerufen werden sollen.
Im Großen und Ganzen gibt es vier Arten von Inline-Ressourcen: Typenlisten, Geldbetragswerte, einfache Referenzen und komplexe Referenzen.
Typenlisten werden mit einem Code- und einem Namensfeld aufgeführt. Sie verwenden das Schema TypeCodeReferences. Zum Beispiel:
"priority": {
"code": "urgent",
"name": "Urgent"
},
Geldbetragswerte sind komplexe Werte mit einem Währungsfeld und einem Betragsfeld. Zum Beispiel:
"transactionAmount": {
"amount": "500.00",
"currency": "usd"
(Beachten Sie, dass der Datentyp in den System-APIs als MonetaryAmount bezeichnet wird. In ClaimCenter werden diese Werte jedoch mit dem Datentyp CurrencyAmount gespeichert.)
Einfache Referenzen sind Referenzen auf ein zugehöriges Objekt, das das Schema SimpleReferences verwendet. Dieses Schema enthält nur die folgenden Felder:
displayName, id, refId, type und uri. Standardmäßig geben die meisten Endpunkte nur displayName und id zurück.
Im folgenden Ausschnitt sind assignedGroup und assignedUser beispielsweise einfache Referenzen:
"assignedGroup": {
"displayName": "Auto1 - TeamA",
"id": "demo_sample:31"
},
"assignedUser": {
"displayName": "Andy Applegate",
"id": "demo_sample:1"
},
Komplexe Referenzen sind Referenzen auf ein verwandtes Objekt, das ein komplexeres Schema als das Schema SimpleReferences verwendet. Wenn beispielsweise die Hauptadresse eines Kontakts zu Antwort-Nutzdaten hinzugefügt wird, wird das Schema Address verwendet, das eine größere Anzahl von Feldern enthält.
Felder mit null-Werten werden ausgelassen
Antwort-Nutzdaten enthalten nur Felder, deren Werte ungleich NULL sind. Felder mit NULL-Werten werden bei den Antwort-Nutzdaten ausgelassen.
Wenn ein bestimmtes Feld in den Antwort-Nutzdaten erwartet wird, aber fehlt, liegt dies häufig daran, dass der Wert NULL war.
Feld "checksum"
Eine checksum ist ein Zeichenfolgenwert, der die "Version" einer bestimmten Ressource angibt. Wenn eine Ressource auf Datenbankebene geändert wird, wird ihr ein neuer Prüfsummenwert zugewiesen. Prozesse, die Daten ändern, können mithilfe von Prüfsummen überprüfen, ob eine Ressource zwischen dem Lesen der Ressource und dem Ändern der Ressource durch einen anderen Prozess nicht geändert wurde.
Weitere Informationen finden Sie unter Verlorene Aktualisierungen und Prüfsummen.
Unterabschnitt "links" (für ein Element)
Im Unterabschnitt links des Abschnitts data sind Pfade aufgeführt, die Aktionen angeben, die ggf. für das spezifische Element ausgeführt werden können. Jede Verknüpfung verfügt über einen Namen, eine Eigenschaft href und eine Liste von Methoden. Aufruferanwendungen können diese Links verwenden, um HTTP-Anforderungen für zusätzliche Aktionen zu erstellen, die für diese Ressource ausgeführt werden.
Beispiel: Angenommen, eine aufrufende Anwendung ruft die Aktivität xc:20 ab. Diese Anwendung verfügt über ausreichende Berechtigungen, um diese Aktivität zuzuweisen und die mit dieser Aktivität verbundenen Notizen anzuzeigen. Im Abschnitt "links" für die Aktivität xc:20 erscheint Folgendes:
"links": {
"assign": {
"href": "/common/v1/activities/xc:20/assign",
"methods": [
"post"
]
},
"notes": {
"href": "/common/v1/activities/xc:20/notes",
"methods": [
"get",
"post"
]
},
"self": {
"href": "/common/v1/activities/xc:20",
"methods": [
"get"
]
}
}
Die Verknüpfung self ist eine Verknüpfung zur Ressource selbst. Die Verknüpfung self ist nützlich, wenn eine aufrufende Anwendung eine Liste von Ressourcen empfängt und zu einer bestimmten Ressource in der Liste navigieren möchte.
Für ein bestimmtes Objekt werden Verknüpfungen, die Geschäftsaktionen ausführen, nur angezeigt, wenn die Aktion angesichts des Status des Objekts sinnvoll ist, und nur, wenn der Aufrufer über ausreichende Berechtigungen zum Ausführen der Aktion verfügt. Beispielsweise wird die Verknüpfung zum Schließen einer Aktivität nicht angezeigt, wenn die Aktivität bereits geschlossen ist. Ebenso wird die Verknüpfung zum Zuweisen einer Aktivität nicht angezeigt, wenn der Aufrufer nicht über die Berechtigung zum Zuweisen von Aktivitäten verfügt.
Abschnitt "links" auf Sammlungsebene
Wenn eine Antwort eine Sammlung enthält, befindet sich am Ende der Nutzdaten ein Abschnitt links. Dieser Abschnitt ist ein gleichrangiges Element des Abschnitts data. Sie enthält Links, die für die gesamte Sammlung relevant sind, z. B. die Links prev und next, mit denen Sie eine Reihe von Ressourcen durchblättern können.