DEVELOPERS · INTEGRATION CHANNELS

Kafka Integration — CheckID event-driven boundary

Kafka is presented as an asynchronous complement to REST; topic/schema/security details are published only when confirmed by source or partner contract.

EVENT-DRIVEN

REST + Kafka, not two empty cards

Visualises operational roles without inventing broker/topic/security details absent from the approved source.

01Producer / RPBusiness event or request intent
02Kafka IntegrationSource-defined operation / payload
03CorrelationReference / transaction / billcode where applicable
04Consumer / CheckIDProcess and status
05EvidenceResult / trace / audit context
BOUNDARY MATRIX

Publish only to contract depth

A precise boundary is more credible than fabricated topic names.

Concern REST Kafka Publication status
Interaction Synchronous request/response Asynchronous/event-driven Source-supported concept
Authentication / security OAuth2/Bearer for REST as documented Partner contract required for detailed Kafka security Do not invent
Schema OpenAPI / JSON Source/partner message schema Publish only when source-defined
Correlation HTTP/transaction context Correlation/event context Source-mapped
Failure handling HTTP + result codes Retry/error semantics require contract Partner detail
EVENT-DRIVEN INTEGRATION

Kafka is an event-driven integration channel

Publishes producer/consumer, correlation and lifecycle concepts while reserving broker/topic/security details for the partner contract when the public source is incomplete.

api

REST

Synchronous request/response for workflows needing an immediate result.

InputHTTP request
OutputHTTP response
OAuth2Synchronous
api

Kafka

Asynchronous/event-driven integration where supported by the contract.

InputMessage / event
OutputCorrelated result / event
AsyncPartner contract
assure

Correlation

Messages must carry a source-defined transaction/correlation context for traceability.

InputRequest context
OutputTraceable processing
Correlation
exception

Delivery boundary

Retry, ordering and delivery guarantees are published only when the source contract defines them.

InputDelivery failure
OutputContract-defined handling
REQUIRES_SOURCE