Skip to main content

Settings

2 API calls in this section.

Get Portal Settings​

Customer Portal / Delivery Management / Settings
GET/customer/delivery/portal-settings

Returns the effective tenant configuration and configured resources for the customer portal delivery creation flow.

  • Requires Authorization: Bearer {{access_token}}.

Frontend integration contract

  • Read delivery services from data.resources.delivery_services.

  • Use each service id as delivery_service_id when creating an order.

  • Use delivery_type.code for delivery-type-specific UI behavior; delivery_type can be null only when the service has no related type.

  • Use data.delivery_service_settings.default_delivery_service_id to preselect the configured default service.

Important errors

  • HTTP 401 when the customer or tenant context is missing.

  • HTTP 500 when portal settings cannot be loaded.

Headers

ParameterTypeDescription
Authorizationstring

Example: Bearer {{access_token}}

Staging
Request
curl
1curl --globoff --request GET "https://staging-api.ondi.io/functions/v1/customer/delivery/portal-settings" \2  --header "Authorization: Bearer ${ONDI_ACCESS_TOKEN}"

Response examples

200Success
Response body
json
1{2  "success": true,3  "data": {4    "pickup_settings": {5      "mode": "predefined_only",6      "allow_change": true,7      "default_pickup_address_id": "uuid"8    },9    "delivery_service_settings": {10      "default_delivery_service_id": "service-uuid"11    },12    "cod_settings": {13      "enabled": true,14      "required": false,15      "allow_zero": true,16      "min": 0,17      "max": 50000018    },19    "delivery_creation_fields": {20      "reference_id_enabled": true,21      "invoicing_enabled": false,22      "custom_shipment_label_enabled": false23    },24    "package_settings": {25      "multipart_enabled": true26    },27    "visibility_settings": {28      "driver_info": {29        "show_driver_info": true,30        "show_driver_phone": false31      },32      "tracking": {33        "realtime_tracking_enabled": true34      },35      "chat": {36        "support_chat_enabled": true,37        "driver_chat_enabled": false38      }39    },40    "support_ticket_settings": {41      "enabled": true,42      "allow_customer_close": true,43      "default_priority": "medium"44    },45    "currency": {46      "currency_code": "IQD",47      "currency_symbol": "د.ع",48      "currency_name": "Iraqi Dinar",49      "exchange_rate_to_system": 150    },51    "resources": {52      "pickup_addresses": [],53      "delivery_services": [54        {55          "id": "service-uuid",56          "name": "Standard Delivery",57          "code": "STD",58          "service_level": "standard",59          "delivery_type": {60            "id": "delivery-type-uuid",61            "name": "Delivery",62            "code": "delivery"63          }64        }65      ]66    }67  }68}

Get Payment Methods​

Customer Portal / Delivery Management / Settings
GET/customer/delivery/payment-methods

Lists payment methods available for the customer delivery portal (delivery module only).

  • Filters by allowed_modules containing 'ALL' (excludes RESTAURANT-only methods like Pay at Counter)

  • Respects tenant_payment_method_settings and portal cod_settings (COD hidden when disabled)

  • For gateways: checks tenant_gateway_configs (tenant mode) or system_gateway_configs (system mode)

  • For gateway_code cod, use the localized display_name (Cash) for the delivery-fee payment method. The canonical name, machine code, type, and payment behavior are unchanged.

Response fields

id, gateway_code (use for payment.method in create order), name, type, display_name (jsonb), icon_url, description (jsonb), is_gateway

Headers

ParameterTypeDescription
Authorizationstring

Example: Bearer {{access_token}}

Staging
Request
curl
1curl --globoff --request GET "https://staging-api.ondi.io/functions/v1/customer/delivery/payment-methods" \2  --header "Authorization: Bearer ${ONDI_ACCESS_TOKEN}"

Response examples

200OK
Response body
json
1{2  "success": true,3  "data": {4    "payment_methods": [5      {6        "id": "0760f75f-4aee-4776-afc0-4057d7ad458f",7        "gateway_code": "cod",8        "name": "Cash on Delivery",9        "type": "COD",10        "display_name": {11          "en": "Cash",12          "ar": "نقدًا",13          "fa": "نقدی",14          "ku": "نەقدی"15        },16        "icon_url": null,17        "description": {18          "en": "Pay when you receive your order"19        },20        "is_gateway": false21      },22      {23        "id": "c3164119-6fa4-4917-8021-b33a40ce7462",24        "gateway_code": "wallet",25        "name": "Wallet Payment",26        "type": "WALLET",27        "display_name": {28          "en": "Wallet",29          "ar": "المحفظة",30          "ku": "جزدان"31        },32        "icon_url": null,33        "description": {34          "en": "Pay using your wallet balance"35        },36        "is_gateway": false37      },38      {39        "id": "34814962-2627-43d2-a3ae-c1c473e1cf3d",40        "gateway_code": "NASS",41        "name": "Nass",42        "type": "GATEWAY",43        "display_name": {44          "en": "Nass Payment",45          "ar": "دفع ناس",46          "ku": "پارەدانی ناس"47        },48        "icon_url": "https://api.ondi.io/storage/v1/object/public/system/brand/nass.png",49        "description": {50          "en": "Nass payment gateway integration"51        },52        "is_gateway": true53      }54    ]55  }56}