Tenant Configuration
2 API calls in this section.
APIs for managing tenant-specific express shipping configuration
Get Tenant Configuration
/express-shipping/configAPI: Get Tenant Configuration
Endpoint
GET /express-shipping/config
Purpose
Retrieve current express shipping configuration for the authenticated tenant. Returns pricing, service settings, and operational parameters.
Bearer token:
Authorization: Bearer {{access_token}}(required)API Key:
X-API-Key: {{api_key}}(alternative authentication method)
Business Logic
Validate tenant authentication and permissions
Retrieve current express shipping configuration
Return comprehensive configuration settings
Include service status and pricing information
Error Responses
401 - Unauthorized
403 - Forbidden
500 - Internal Server Error
Query parameters
| Parameter | Type | Description |
|---|---|---|
languageOptional | string | (string, optional): Preferred language for response messages (en, ar, ku) Example: |
Headers
| Parameter | Type | Description |
|---|---|---|
AuthorizationRequired | string | Bearer token authentication (required) Example: |
1curl --globoff --request GET "https://staging-api.ondi.io/functions/v1/express-shipping/config?language=en" \2 --header "Authorization: Bearer ${ONDI_ACCESS_TOKEN}"Response examples
1{2 "success": true,3 "data": {4 "tenant_id": "tenant_12345",5 "service_enabled": true,6 "configuration": {7 "pricing": {8 "base_price_per_kg": 10,9 "minimum_price": 5,10 "currency": "USD",11 "price_calculation_method": "weight_based",12 "free_shipping_threshold": 10013 },14 "service_settings": {15 "max_package_weight_kg": 30,16 "max_package_dimensions_cm": {17 "length": 120,18 "width": 80,19 "height": 8020 },21 "delivery_time_days": {22 "express": "3-5",23 "economy": "7-14"24 },25 "supported_countries": [26 "US",27 "CA",28 "GB",29 "DE",30 "FR"31 ],32 "restricted_items": [33 "batteries",34 "liquids",35 "fragile_electronics"36 ]37 },38 "operational": {39 "auto_confirm_orders": false,40 "require_customer_verification": true,41 "send_sms_notifications": true,42 "send_email_notifications": true,43 "tracking_updates_frequency": "real_time"44 },45 "integration": {46 "api_keys": {47 "tracking_provider": "configured",48 "sms_provider": "configured",49 "email_provider": "configured"50 },51 "webhook_endpoints": {52 "status_updates": "https://your-domain.com/webhooks/express-shipping",53 "delivery_confirmations": "https://your-domain.com/webhooks/deliveries"54 }55 }56 },57 "last_updated": "2024-01-27T10:00:00Z",58 "created_at": "2024-01-01T00:00:00Z"59 }60}Update Tenant Configuration
/express-shipping/configAPI: Update Tenant Configuration
Endpoint
PUT /express-shipping/config
Purpose
Update express shipping configuration for the authenticated tenant. Allows modification of pricing, service settings, and operational parameters.
Bearer token:
Authorization: Bearer {{access_token}}(required)API Key:
X-API-Key: {{api_key}}(alternative authentication method)Requires admin permissions for the tenant
Business Logic
Validate tenant authentication and admin permissions
Validate configuration parameters and constraints
Update configuration settings (partial update supported)
Validate pricing and service settings for consistency
Return updated configuration
Error Responses
400 - Invalid Configuration
403 - Insufficient Permissions
404 - Configuration Not Found
500 - Update Failed
Query parameters
| Parameter | Type | Description |
|---|---|---|
languageOptional | string | Preferred language for response messages (en, ar, ku) (string, optional): Preferred language for response messages Example: |
Headers
| Parameter | Type | Description |
|---|---|---|
AuthorizationRequired | string | Bearer token authentication (required) Example: |
Content-Type | string | Example: |
Body parameters
| Parameter | Type | Description |
|---|---|---|
configurationRequired | object | (object, required): Configuration object to update |
configuration.pricingOptional | object | (object, optional): Pricing configuration |
configuration.pricing.base_price_per_kg | number | (number): Base price per kilogram |
configuration.pricing.minimum_price | number | (number): Minimum shipping price |
configuration.pricing.currency | string | (string): Currency code (USD, EUR, etc.) |
configuration.pricing.price_calculation_method | string | (string): ' |
configuration.pricing.free_shipping_threshold | number | (number): Order value for free shipping |
configuration.service_settingsOptional | object | (object, optional): Service limitation settings |
configuration.service_settings.max_package_weight_kg | number | (number): Maximum package weight in kg |
configuration.service_settings.max_package_dimensions_cm | object | (object): Maximum dimensions |
configuration.service_settings.max_package_dimensions_cm.length | number | (number): Maximum length in cm |
configuration.service_settings.max_package_dimensions_cm.width | number | (number): Maximum width in cm |
Show 16 more body fields
Additional body parameters
| Parameter | Type | Description |
|---|---|---|
configuration.service_settings.max_package_dimensions_cm.height | number | (number): Maximum height in cm |
configuration.service_settings.delivery_time_days | object | (object): Estimated delivery times |
configuration.service_settings.delivery_time_days.express | string | (string): Express delivery time range |
configuration.service_settings.delivery_time_days.economy | string | (string): Economy delivery time range |
configuration.service_settings.supported_countries | array<string> | (array): List of supported country codes |
configuration.service_settings.restricted_items | array<string> | (array): List of restricted item categories |
configuration.operationalOptional | object | (object, optional): Operational settings |
configuration.operational.auto_confirm_orders | boolean | (boolean): Auto-confirm orders without review |
configuration.operational.require_customer_verification | boolean | (boolean): Require customer phone verification |
configuration.operational.send_sms_notifications | boolean | (boolean): Enable SMS notifications |
configuration.operational.send_email_notifications | boolean | (boolean): Enable email notifications |
configuration.operational.tracking_updates_frequency | string | (string): ' |
configuration.integrationOptional | object | (object, optional): Integration settings |
configuration.integration.webhook_endpoints | object | (object): Webhook URLs |
configuration.integration.webhook_endpoints.status_updates | string | (string): URL for status update webhooks |
configuration.integration.webhook_endpoints.delivery_confirmations | string | (string): URL for delivery confirmation webhooks |
1curl --globoff --request PUT "https://staging-api.ondi.io/functions/v1/express-shipping/config?language=en" \2 --header "Authorization: Bearer ${ONDI_ACCESS_TOKEN}" \3 --header "Content-Type: application/json" \4 --data-raw '{5 "configuration": {6 "pricing": {7 "base_price_per_kg": 12,8 "minimum_price": 6,9 "currency": "USD",10 "price_calculation_method": "weight_based",11 "free_shipping_threshold": 15012 },13 "service_settings": {14 "max_package_weight_kg": 25,15 "max_package_dimensions_cm": {16 "length": 100,17 "width": 70,18 "height": 7019 },20 "delivery_time_days": {21 "express": "2-4",22 "economy": "5-10"23 },24 "supported_countries": [25 "US",26 "CA",27 "GB",28 "DE",29 "FR",30 "IT"31 ],32 "restricted_items": [33 "batteries",34 "liquids",35 "fragile_electronics",36 "hazardous_materials"37 ]38 },39 "operational": {40 "auto_confirm_orders": true,41 "require_customer_verification": true,42 "send_sms_notifications": true,43 "send_email_notifications": true,44 "tracking_updates_frequency": "hourly"45 },46 "integration": {47 "webhook_endpoints": {48 "status_updates": "https://your-domain.com/webhooks/express-shipping-v2",49 "delivery_confirmations": "https://your-domain.com/webhooks/deliveries-v2"50 }51 }52 }53}'Response examples
1{2 "success": true,3 "data": {4 "tenant_id": "tenant_12345",5 "service_enabled": true,6 "configuration": {7 "pricing": {8 "base_price_per_kg": 12,9 "minimum_price": 6,10 "currency": "USD",11 "price_calculation_method": "weight_based",12 "free_shipping_threshold": 15013 },14 "service_settings": {15 "max_package_weight_kg": 25,16 "max_package_dimensions_cm": {17 "length": 100,18 "width": 70,19 "height": 7020 },21 "delivery_time_days": {22 "express": "2-4",23 "economy": "5-10"24 },25 "supported_countries": [26 "US",27 "CA",28 "GB",29 "DE",30 "FR",31 "IT"32 ],33 "restricted_items": [34 "batteries",35 "liquids",36 "fragile_electronics",37 "hazardous_materials"38 ]39 },40 "operational": {41 "auto_confirm_orders": true,42 "require_customer_verification": true,43 "send_sms_notifications": true,44 "send_email_notifications": true,45 "tracking_updates_frequency": "hourly"46 }47 },48 "last_updated": "2024-01-27T15:30:00Z",49 "created_at": "2024-01-01T00:00:00Z"50 },51 "message": "Configuration updated successfully"52}