We are trying to incorporate Snowplow Micro into our QA pipeline to ensure expected events are being tracked correctly.
Based on the documentation I’d expect a POST request to the /micro/good endpoint with this payload to return just the events which match the supplied schema:
{
"schema":"iglu:com.<our_schema>/jsonschema/1-0-0"
}
Our test tries to verify that there is just one event with this schema which has been logged, but it fails because there are three events. When I manually query the endpoint I can see three results are returned, but two appear to be unrelated. The unrelated events have a schema of null.
I’m not sure why any events would have a null schema, but should Snowplow Micro return events with a null schema as a match when a filter is supplied?
The response will only be filtered to specified schemas on unstructured events.
The events which have no schema are likely page views, which are “standard” events rather than unstructured, so we don’t attempt to schema match as they are part of the atomic events.
To filter this to only unstructured events, you can specify "event_type": "ue"
in your POST request body.
Thanks for the reply Paul. If I add this filter, no results are returned despite there being one event which has ue for the event type:
“event_type”: “ue”
I also tried eventType rather than event_type to match the returned parameter name, but this filter appeared to have no effect.
Revisiting the documentation:
event_type
: type of the event (in e
param);
If I make a GET request with no filters I can see events with “e” value of “ue”.
However, making a Postman request to post this filter results in no results:
1 Like
This does indeed seem to be a bug, we’ll look to fix it in the next Micro release. I’ve dropped you an e-mail too