Show Menu
TOPICS×

Convalida delle richieste evento

Il corpo della richiesta JSON per ciascun tipo di evento viene convalidato sul back-end con gli schemi JSON. Il corpo della risposta HTTP viene popolato con un messaggio di errore quando la convalida non riesce per una chiamata API.
Gli schemi di convalida JSON per ciascun tipo di evento sono accessibili al pubblico qui:
{uri}/api/v1/schemas/{eventType}
(ad esempio,
{uri}/api/v1/schemas/sessionEnd
). Questi schemi di convalida JSON sono l'autorità assoluta per determinare i parametri corretti del corpo della richiesta per ciascun tipo di evento.
Ad esempio, la risposta a una richiesta per lo schema di
sessionStart
convalida ha un aspetto simile al seguente (formattato leggermente per la leggibilità):
HTTP/1.1 200 OK Server: nginx/1.13.5 Date: Thu, 18 Jan 2018 15:44:50 GMT Content-Type: application/json Content-Length: 2716 Connection: keep-alive { "$schema":"https://json-schema.org/draft-04/schema#", "id":"https://alpha.hb-api.omtrdc.net/api/v1/schemas/sessionStart", "definitions": { "playerTime": { "type":"object","properties": { "playhead": {"type":"number"}, "ts": {"type":"integer"} }, "required":["playhead","ts"], "additionalProperties":false }, "eventType": { "type":"string", "enum":[ "sessionStart", "play", "ping", "bufferStart", "pauseStart", "sessionComplete", "bitrateChange", "error", "adBreakStart", "adBreakComplete", "adStart", "adComplete", "adSkip", "sessionEnd" ] }, "qoeData": { "type":"object","properties": { "media.qoe.bitrate": {"type":"integer"}, "media.qoe.droppedFrames": {"type":"integer"}, "media.qoe.framesPerSecond": {"type":"integer"}, "media.qoe.timeToStart": {"type":"integer"} }, "required":[], "additionalProperties":false }, "customMetadata": { "type":"object", "patternProperties": { "^[a-zA-Z0-9_\\.]+$": {"type":"string"} }, "additionalProperties":false }, "sessionStart": { "properties": { "eventType": {"type":"string","enum":["sessionStart"]}, "playerTime": {"$ref":"#/definitions/playerTime"}, "params": {"type":"object", "properties": { "appInstallationId": {"type":"string"}, "analytics.trackingServer": {"type":"string"}, "analytics.reportSuite": {"type":"string"}, <...> "visitor.marketingCloudOrgId"], "additionalProperties":false }, "customMetadata": {"$ref":"#/definitions/customMetadata"}, "qoeData": {"$ref":"#/definitions/qoeData"} }, "required":["eventType","playerTime","params"], "additionalProperties":false } }, "type":"object","$ref":"#/definitions/sessionStart" } }
La convalida a livello di sessione non è possibile, in quanto il contesto della sessione non è disponibile nel livello della raccolta.