Gebeurtenisaanvragen valideren validating-event-requests
De JSON-aanvraaginstantie voor elk gebeurtenistype wordt gevalideerd op de achtergrond met JSON-schema's. De hoofdtekst van de HTTP-reactie wordt gevuld met een foutbericht wanneer de validatie mislukt voor een API-aanroep.
JSON-validatieschema's voor elk gebeurtenistype zijn hier openbaar toegankelijk: {uri}/api/v1/schemas/{eventType}
(bv. {uri}/api/v1/schemas/sessionEnd
). Deze JSON-validatieschema's zijn de absolute autoriteit voor het bepalen van de juiste parameters van de aanvraaginstantie voor elk type gebeurtenis.
Bijvoorbeeld de reactie op een verzoek om sessionStart
Het validatieschema ziet er ongeveer als volgt uit (enigszins opgemaakt voor leesbaarheid hier):
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"
}
}
NOTE
Validatie op sessieniveau is niet mogelijk, omdat de sessiecontext niet beschikbaar is in de verzamelingslaag.
recommendation-more-help
c8eee520-cef5-4f8c-a38a-d4952cfae4eb