Allgemeines
Nach Möglichkeit sollte immer ein JSON-Objekt im Response Body übergeben werden. Er darf nur dann errors enthalten, wenn auch tatsächlich Fehler aufgetreten sind. Ein Error enthält mindestens eine message , kann aber mit weiteren Daten angereichert werden.
In message sollte immer eine möglichst genaue Klartext-Message enthalten sein, idealerweise lokalisiert. Für die Lokalisierung wird das locale aus dem Request benutzt. Wie strikt diese Forderung durchgesetzt werden kann, wird sich zeigen. Aktuell kann es trotz Lokalsierung dazu kommen, dass nur eine englische Message verfügbar ist, die dann ersatzweise ausgegeben wird.
Die HTTP-Statuscodes werden entsprechend ihrer Bedeutung im HTTP-Protokoll benutzt, z.B. 404 für Objekt nicht gefunden, 401 und 403 für nicht authorisiert oder 500, wenn eine Exception aufgetreten ist.
Start Update
Request
GET ygor/enrichment/processGokbPackage
Parameter
pkgId = <Gokb Package ID>
updateToken = <key to authenticate the update>
Response
HTTP Status: 200|403|404|500
body:
{
status : <"STARTED">,
message : <message>,
jobId : <ygorJobId>
}
Status von Ygor Enrichment erfragen
Request
GET ygor/enrichment/getStatus
Parameter
JobId = <ygorJobId>
Response
HTTP Status: 200
{
status : <"SUCCESS"|"PREPARATION">,
gokbJobId : <gokbJobId|null>
}
Starte ein xRefPackage mit den gelieferten JSON-Daten
Request
POST gokb/integration/crossReferencePackage/<id>
Parameter
async = true|false
addOnly = true|false
updateToken = <key to authenticate the update>
fullsync = true|false
{
packageHeader : {
nominalProvider : <nominalProviderJSON>,
name : <package.name>,
nominalPlatform : {
name : <platform.name>,
primaryUrl : <platform.url>
},
curatoryGroups : [ <curatoryGroup.name> ],
identifiers : [ ]
},
tipps : [ <tippJson> ],
updateToken : <updateToken>
}
Response
status: 200|400|401|500
body:
{
result: <"ERROR","SUCCESS">,
message: <localizedMessage>,
pkgId : <package.id>,
uuid : <package.uuid>,
name : <package.name>,
errors: {
tipps: [
{
idx: <index>,
field: { }
message: <localizedMessage>,
baddata: <field_value>
},...
],
global: [
{
code: 500|400,
message : <localizedMessage>,
data : <packageHeaderJson>
}
]
},
job_id: <GokbJobId>,
job: {
id: <GokbJobId>,
description: "Package CrossRef (<packageHeader.name>)",
type: "Package",
linkedItem: {
name: <package.name>,
type: "Package",
id: <package.id>,
uuid: <package.uuid
},
startTime: <startTime>,
endTime: <endTime>
}
}