Powered by Sendora

The Heart of Sendora's
Infrastructure

Secure, scalable, and seamless routing for all Sendora services.
The central API Gateway connecting Auth Server, API Host, and Admin Portal.

99.99%
Uptime SLA
<10ms
Avg Latency
4
Core Services
sendora-routes.json
{
                            "routes": {
                            "api": {
                            "path": "/api/**",
                            "target": "ApiHost:44360"
    },
                            "auth": {
                            "path": "/connect/**",
                            "target": "AuthServer:44382"
    },
                            "admin": {
                            "path": "/admin/**",
                            "target": "AdminPortal:44321"
    }
  }
}
Request Routed
Auth Server
Load Balanced
API Host
Response Time
7.2ms

Welcome to Sendora

A unified communication platform with powerful backend services

Sendora is a comprehensive communication system offering multiple backend services that work together seamlessly to provide secure authentication, business logic, centralized management, and intelligent routing.

At the center of this ecosystem is the API Gateway — the central access layer that connects all services, ensuring high performance, security, and unified API management. It acts as the bridge that orchestrates communication between all Sendora components.

🔐

Auth Server

Secure authentication and authorization with OpenIddict

⚙️

API Host

Business logic, integrations, and RESTful APIs

📊

Admin Portal

Centralized management and monitoring dashboard

🌐

API Gateway

Central routing, control, and scalability layer

Core Gateway Capabilities

Built to power Sendora's distributed architecture

Dynamic Routing & Load Balancing

Intelligent request routing powered by YARP (Yet Another Reverse Proxy). Seamlessly route traffic to Auth Server, API Host, and Admin Portal with path-based routing.

  • Path-based intelligent routing
  • Round-robin load balancing
  • Zero-downtime deployments

Centralized Authentication via Auth Server

Seamless integration with Sendora's Auth Server. JWT Bearer authentication with OpenIddict, OAuth 2.0, and identity management for all services.

  • JWT & OAuth 2.0 support
  • OpenIddict integration
  • Unified identity management

Rate Limiting & Traffic Control

Protect backend services from overload with intelligent rate limiting. Configure per-user, per-endpoint, or global traffic policies.

  • Configurable rate limits
  • Traffic throttling
  • Request queuing

Analytics & Monitoring via Admin Portal

Real-time insights powered by Serilog structured logging. Monitor performance, track errors, and analyze traffic patterns through the Admin Portal.

  • Structured logging with Serilog
  • Real-time metrics
  • Health check monitoring

Unified Developer Access through API Host

Single entry point for all APIs. The gateway routes to API Host for business logic, messaging services, and third-party integrations like WAHA.

  • RESTful API routing
  • Swagger/OpenAPI docs
  • Service discovery

Enterprise-Grade Security

Built on modern .NET architecture with industry-standard security practices. HTTPS enforcement, CORS policies, and comprehensive request validation.

  • SSL/TLS encryption
  • CORS configuration
  • Request validation

Sendora Architecture

How traffic flows through the Sendora ecosystem

Client Applications
💻
Web Portal
portal.sendora.vertocore.com
📱
Mobile App
iOS/Android
🔧
API Clients
SDK
Sendora API Gateway
🔐 JWT Authentication
🔄 Request Routing
Load Balancing
🛡️ CORS & Security
📊 Logging & Monitoring
Backend Services
🔐
Auth Server
OAuth2
edge.sendora.vertocore.com
⚙️
API Host
Business Logic
edge.sendora.vertocore.com
📊
Admin Portal
Management UI
portal.sendora.vertocore.com

Powered by YARP: Microsoft's high-performance reverse proxy. All requests flow through the gateway, which intelligently routes to the appropriate service based on path patterns.

Built for Developers

Simple APIs, clear documentation, and unified SDKs make integration effortless

RESTful APIs with Swagger

Built on modern .NET architecture with comprehensive OpenAPI documentation. Interactive API docs at /swagger.

Sendora API Client SDK

.NET client library with built-in authentication, token refresh, and strongly-typed models for rapid integration.

Easy Onboarding

Get started quickly with our comprehensive documentation, quickstart guides, and example applications.

Docker & Kubernetes Ready

Pre-configured Dockerfiles and Helm charts for seamless deployment to any environment.

cURL
JavaScript
Python
C#
# Send a message via Sendora Gateway
curl -X POST https://edge.sendora.vertocore.com/api/messaging/send \
  -H "Authorization: Bearer YOUR_JWT_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "phoneNumber": "+1234567890",
    "message": "Hello from Sendora!",
    "instanceName": "default"
  }'
// Using Sendora API Client
const response = await fetch('https://edge.sendora.vertocore.com/api/messaging/send', {
  method: 'POST',
  headers: {
                            'Authorization': 'Bearer YOUR_JWT_TOKEN',
                            'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    phoneNumber: '+1234567890',
    message: 'Hello from Sendora!',
    instanceName: 'default'
  })
});

const data = await response.json();
console.log(data);
# Python example with Sendora
import requests

url = "https://edge.sendora.vertocore.com/api/messaging/send"
headers = {
                            "Authorization": "Bearer YOUR_JWT_TOKEN",
                            "Content-Type": "application/json"
}
payload = {
                            "phoneNumber": "+1234567890",
                            "message": "Hello from Sendora!",
                            "instanceName": "default"
}

response = requests.post(url, json=payload, headers=headers)
print(response.json())
// Using Sendora .NET Client SDK
using Sendora.ApiClient;

var options = new SendoraApiClientOptions
{
    BaseUrl = "https://edge.sendora.vertocore.com",
    ClientId = "your-client-id",
    ClientSecret = "your-secret"
};

var client = new SendoraApiClient(options);

var result = await client.SendMessageAsync(
                            "+1234567890",
                            "Hello from Sendora!",
                            "default"
);

Console.WriteLine(result);

Build on Sendora's Core

Experience the power of a unified communication platform with enterprise-grade infrastructure.

Built on modern .NET architecture
Enterprise-ready