Introduction
Welcome to the 1courier Backend API documentation. This comprehensive guide will help you understand and integrate with our delivery management system.
Overview
The 1courier Backend API serves as the core infrastructure powering various applications within the 1courier ecosystem:
- 🖥️ Administrative Portal
- 📱 Driver Android App
- 📱 iOS App
- 🌐 Customer Portal
Our API provides a robust set of endpoints and services to handle all aspects of delivery management, from order creation to route optimization.
System Architecture
Our system is built on a modern, scalable architecture:
- API Layer: RESTful endpoints + GraphQL support
- Authentication: Secure JWT-based authentication
- Storage: AWS S3 for files, DynamoDB for data
- Caching: Redis for high-performance operations
- Processing: Dedicated optimization engine for route planning, Best Driver selection, and Bulk Assign tasks, all running in AWS Lambda:
- Bulk Assign: Triggered asynchronously via S3 file uploads.
- Optimization Engine & Best Driver: Invoked directly using their respective ARNs for synchronous operations.
- Search and Summaries: Utilizes OpenSearch for handling complex search queries and generating rolled-up summaries efficiently.
Technology Stack
Backend Infrastructure
- Go (Primary backend language)
- Docker (Containerization)
- AWS Services (Cloud infrastructure)
Database & Storage
- DynamoDB (Primary database)
- Redis (Caching)
- S3 (File storage)
API & Integration
- REST API
- WebSocket support
- OAuth2 authentication
API Environments
| Environment | Base URL | Description |
|---|---|---|
| Production | https://api.1courier.com/v1 | Production environment |
| Staging | https://1courier-test.com | Staging/testing environment |
Support
Need help? Our support team is here to assist you:
- 📧 Email: support@1courier.com
- 🌐 Website: www.1courier.com/support
- 📚 API Reference: api.1courier.com/docs
Next Steps
note
This documentation is continuously updated. Make sure to check back regularly for the latest information.
caution
The API requires authentication for most endpoints. Ensure you have valid credentials before making requests.