Ingestion Layer → Protocols Supported
HTTP / HTTPS
The default, universal protocol for SDK and connector traffic into the Ingestion API.
High-Level Design
HTTP/HTTPS is the default transport for nearly every integration.
Data Source
SDKs & Connectors
Default transport for nearly everyone
→
Ingestion
HTTP/HTTPS Endpoint
REST ingress via Azure API Management
→
Processing
.NET Core Ingestion API
ASP.NET Core Web API
→
Foundation
Azure Event Hubs
Hand-off after acknowledgment
→
Intelligence
Azure Front Door
Global entry + DDoS protection
→
Activation
Every Integration
The universal default path
💼 Business Context
- The lowest-friction integration path — any system that can make an HTTP call can integrate with CXOS
- Universally supported by every client platform (browsers, mobile, servers, IoT gateways)
- Owned by Platform Engineering as the default transport
🔌 Technical Overview
The primary ingestion endpoint is a REST API (ASP.NET Core) fronted by Azure API Management, which terminates TLS, enforces HTTPS-only (HTTP requests are redirected/rejected), and applies authentication and per-caller rate limits before requests reach the Ingestion API. Requests use standard JSON bodies matching the Cxos.Ingestion.Client contract.
Endpoint Details
TLS 1.2+
JSON payloads
API key or OAuth2 bearer auth
Per-caller rate limits
💾 Sample Request
POST /v1/events HTTP/1.1
Host: ingest.cxos.example.com
Authorization: Bearer wk_live_9f21ac
Content-Type: application/json
{ "event": "product_viewed", "user_id": "cust_004821" }
🔗 Integration Points
- Azure API Management — TLS termination, auth, rate limiting
- .NET Core Ingestion API (ASP.NET Core Web API, Docker container) — the REST endpoint itself
- Used by every SDK and most connectors as the default transport
- Azure Front Door — global entry point and DDoS protection ahead of API Management
🧰 Services Consumed
- Owning microservice —
Cxos.Ingestion.Api(see the Full Application Service Map) - Database — Azure Cache for Redis (cache only)
⚠️ Non-Functional Considerations
- Scale: horizontally scaled behind Azure API Management; the default and most battle-tested transport
- Latency: typically the lowest-latency option for low-to-moderate throughput callers
- Reliability: standard HTTP retry semantics (idempotent event_id) apply
- Security/Privacy: HTTPS-only enforced at the gateway; plaintext HTTP is never accepted
🎯 Enterprise Example
Every SDK and most connectors default to HTTP/HTTPS because it requires no special client libraries or network configuration — it's the protocol every engineering team already knows how to call.