Event Sözleşmeleri
Bu sayfa, Stream Servisinin ürettiği tüm event türlerini ve payload sözleşmelerini tek yerde toplar.
Event Envanteri
| Event | Amaç | Önerilen Topic |
|---|---|---|
stream.created.v1 | Stream kaydı başarılı tamamlandığında downstream tetikleme | qapu.stream.raw |
stream.failed.v1 | Stream akışında teknik hata oluştuğunda hata bildirimi | qapu.stream.failed |
device.inventory.created.v1 | Yeni cihaz kaydı açıldığında audit | qapu.stream.audit |
device.inventory.updated.v1 | Cihaz metadata güncellendiğinde audit | qapu.stream.audit |
modem.inventory.created.v1 | Yeni modem (IMEI) kaydı açıldığında audit | qapu.stream.audit |
device.modem.changed.v1 | Cihazın modem ilişkisi değiştiğinde audit | qapu.stream.audit |
sim.inventory.created.v1 | Yeni SIM (ICCID) kaydı açıldığında audit | qapu.stream.audit |
device.sim.changed.v1 | Cihazın SIM ilişkisi değiştiğinde audit | qapu.stream.audit |
device.firmware.recorded.v1 | Cihaz için ilk firmware bilgisi kaydedildiğinde audit | qapu.stream.audit |
device.firmware.changed.v1 | Cihaz firmware versiyonu değiştiğinde audit | qapu.stream.audit |
stream.message_type.unmapped.v1 | Mesaj tipi sözlükte bulunamadığında inceleme uyarısı | qapu.stream.warning |
Ortak Event Şeması
Tüm eventlerde ortak üst yapı korunur:
{
"event": "event.name.v1",
"meta": {
"schema_version": 1,
"trace_id": "9f3f...",
"producer_service": "stream-service",
"produced_at": "2026-03-11T15:22:08.120Z",
"process_ms": 11
},
"context": {
"device_id": "400000011D081B70",
"stream_id": 9823412,
"device_time": "2026-03-11T15:22:06Z",
"stream_time": "2026-03-11T15:22:08Z"
},
"data": {},
"error": null
}
1) stream.created.v1
{
"event": "stream.created.v1",
"meta": {
"schema_version": 1,
"trace_id": "9f3f...",
"producer_service": "stream-service",
"produced_at": "2026-03-11T15:22:08.120Z",
"process_ms": 11
},
"context": {
"device_id": "400000011D081B70",
"stream_id": 9823412,
"device_time": "2026-03-11T15:22:06Z",
"stream_time": "2026-03-11T15:22:08Z"
},
"data": {
"current_stage": "streamed",
"state_version": 2
},
"error": null
}
2) stream.failed.v1
{
"event": "stream.failed.v1",
"meta": {
"schema_version": 1,
"trace_id": "9f3f...",
"producer_service": "stream-service",
"produced_at": "2026-03-11T15:22:08.120Z",
"process_ms": 11
},
"context": {
"device_id": "400000011D081B70",
"stream_id": null,
"device_time": "2026-03-11T15:22:06Z"
},
"data": null,
"error": {
"failed_stage": "stream",
"error_code": "STREAM_WRITE_FAILED",
"error_message": "streams kaydı oluşturulamadı"
}
}
3) device.inventory.created.v1
{
"event": "device.inventory.created.v1",
"meta": {
"schema_version": 1,
"trace_id": "9f3f...",
"producer_service": "stream-service",
"produced_at": "2026-03-11T15:22:08.030Z",
"process_ms": 4
},
"context": {
"device_id": "400000011D081B70",
"stream_id": null,
"device_time": "2026-03-11T15:22:06Z"
},
"data": {
"action": "created",
"table": "devices"
},
"error": null
}
4) device.inventory.updated.v1
{
"event": "device.inventory.updated.v1",
"meta": {
"schema_version": 1,
"trace_id": "9f3f...",
"producer_service": "stream-service",
"produced_at": "2026-03-11T15:22:08.031Z",
"process_ms": 3
},
"context": {
"device_id": "400000011D081B70",
"stream_id": null,
"device_time": "2026-03-11T15:22:06Z"
},
"data": {
"action": "updated",
"table": "devices",
"changed_fields": ["last_seen", "status"]
},
"error": null
}
5) modem.inventory.created.v1
{
"event": "modem.inventory.created.v1",
"meta": {
"schema_version": 1,
"trace_id": "9f3f...",
"producer_service": "stream-service",
"produced_at": "2026-03-11T15:22:08.040Z",
"process_ms": 3
},
"context": {
"device_id": "400000011D081B70",
"stream_id": null,
"device_time": "2026-03-11T15:22:06Z"
},
"data": {
"imei": "354485417650889",
"action": "created"
},
"error": null
}
6) device.modem.changed.v1
{
"event": "device.modem.changed.v1",
"meta": {
"schema_version": 1,
"trace_id": "9f3f...",
"producer_service": "stream-service",
"produced_at": "2026-03-11T15:22:08.041Z",
"process_ms": 2
},
"context": {
"device_id": "400000011D081B70",
"stream_id": null,
"device_time": "2026-03-11T15:22:06Z"
},
"data": {
"previous_imei": "354485417650880",
"current_imei": "354485417650889"
},
"error": null
}
7) sim.inventory.created.v1
{
"event": "sim.inventory.created.v1",
"meta": {
"schema_version": 1,
"trace_id": "9f3f...",
"producer_service": "stream-service",
"produced_at": "2026-03-11T15:22:08.050Z",
"process_ms": 3
},
"context": {
"device_id": "400000011D081B70",
"stream_id": null,
"device_time": "2026-03-11T15:22:06Z"
},
"data": {
"iccid": "8946120802005507363",
"action": "created"
},
"error": null
}
8) device.sim.changed.v1
{
"event": "device.sim.changed.v1",
"meta": {
"schema_version": 1,
"trace_id": "9f3f...",
"producer_service": "stream-service",
"produced_at": "2026-03-11T15:22:08.051Z",
"process_ms": 2
},
"context": {
"device_id": "400000011D081B70",
"stream_id": null,
"device_time": "2026-03-11T15:22:06Z"
},
"data": {
"previous_iccid": "8946120802005507000",
"current_iccid": "8946120802005507363"
},
"error": null
}
9) device.firmware.recorded.v1
{
"event": "device.firmware.recorded.v1",
"meta": {
"schema_version": 1,
"trace_id": "9f3f...",
"producer_service": "stream-service",
"produced_at": "2026-03-11T15:22:08.060Z",
"process_ms": 2
},
"context": {
"device_id": "400000011D081B70",
"stream_id": null,
"device_time": "2026-03-11T15:22:06Z"
},
"data": {
"firmware": "1.0.7",
"action": "recorded"
},
"error": null
}
10) device.firmware.changed.v1
{
"event": "device.firmware.changed.v1",
"meta": {
"schema_version": 1,
"trace_id": "9f3f...",
"producer_service": "stream-service",
"produced_at": "2026-03-11T15:22:08.061Z",
"process_ms": 2
},
"context": {
"device_id": "400000011D081B70",
"stream_id": null,
"device_time": "2026-03-11T15:22:06Z"
},
"data": {
"previous_firmware": "1.0.6",
"current_firmware": "1.0.7"
},
"error": null
}
11) stream.message_type.unmapped.v1
{
"event": "stream.message_type.unmapped.v1",
"meta": {
"schema_version": 1,
"trace_id": "9f3f...",
"producer_service": "stream-service",
"produced_at": "2026-03-11T15:22:08.070Z",
"process_ms": 1
},
"context": {
"device_id": "400000011D081B70",
"stream_id": null,
"device_time": "2026-03-11T15:22:06Z"
},
"data": {
"source_message_type": "Timed_Lite",
"mapped_message_type_id": null,
"action": "continue_without_reject"
},
"error": null
}