Skip to main content

Application Settings Services

All services related to application settings are listed in this page.

GET List Application Settings

This service is used to retrieve all application settings with detailed information.

Path: /api/v1/oms/settings/application_settings/

Query Parameters

The following query parameters can be used to get information about application settings.

ParameterData TypeInDescription
tokenstringheaderThe API key of the customer account

Example Request

To get a list of all application settings, a GET request should be sent to the /api/v1/oms/settings/application_settings/ endpoint.

Here's an example of how to make the request in python:

import requests

url = "https://{domain_url}/api/v1/oms/settings/application_settings/"
token = "f532eXXXXXXXXXXXXXXXXX201XXXXX9332d"

headers = {
'Content-Type': 'application/json',
'Authorization': f'Token {token}'
}

response = requests.request('GET', url, headers=headers)

print(response.json())

Example Response (200 OK)

In a successful response with a status code of 200 OK, the API returns all the application settings. The response body contains JSON objects of application settings and their attributes such as ID, key and json_value.

These attributes are described in the following table.

ParameterData TypeDescription
idintegerThe ID of the application setting
keystringThe key info of the application setting
json_valuestringThe value info of the application setting

This example response serves as a reference to understand the structure and data format returned from this API service.

{
"count": 6,
"next": "https://{domain_url}/api/v1/oms/settings/application_settings/",
"previous": null,
"results": [
{
"id": 1,
"key": "IS_TRADEIN_ENABLED",
"json_value": false
},
{
"id": 2,
"key": "test_count",
"json_value": 1
},
{
"id": 3,
"key": "test_key",
"json_value": "test_value"
},
{
"id": 4,
"key": "GEOCODE_PROVIDER_SETTINGS",
"json_value": {
"conf": {
"api_key": "f532eXXXXXXXXXXXXXXXXX201XXXXX9332d",
"base_url": "https://{map_url}",
"timeouts": {
"read": 50.0,
"connect": 5.0
}
},
"client": "yandex"
}
},
{
"id": 5,
"key": "OMNITRON_CLIENT_SETTINGS",
"json_value": {
"auth": {
"password": "123",
"username": "oms.application"
},
"urls": {
"oms_url": "{oms_url}",
"base_url": "{omnitron_url}"
},
"timeouts": {
"read": 6000.0,
"connect": 6000.0
}
}
},
{
"id": 6,
"key": "ORDER_FILTERING",
"json_value": {
"status": {
"enum": "oms.orders.enums.OrderStatus",
"value": "approved"
},
"channel": [
1
],
"is_send": true
}
}
]
}

GET Retrieve Single Application Setting Detail

This service is used to retrieve detailed information about a single application setting with a specific ID.

Path: /api/v1/oms/settings/application_settings/{id}/

Query Parameters

The following query parameters can be used to get the information about a specific application setting.

ParameterData TypeInDescription
tokenstringheaderThe API key of the customer account
{id}integerurlThe ID of the application setting

Example Request

To retrieve detailed information of a specific application setting, a GET request should be sent to the /api/v1/oms/settings/application_settings/{id}/ endpoint.

Here's an example of how to make the request in python:

import requests

url = "https://{domain_url}/api/v1/oms/settings/application_settings/{id}/"
token = "f532eXXXXXXXXXXXXXXXXX201XXXXX9332d"

headers = {
'Content-Type': 'application/json',
'Authorization': f'Token {token}'
}

response = requests.request('GET', url, headers=headers)

print(response.json())

Example Response (200 OK)

In a successful response with a status code of 200 OK, the API returns the detailed information of a specific application setting. The response body contains a JSON object with the attributes such as ID, key and json_value.

These attributes are described in the following table.

ParameterData TypeDescription
idintegerThe ID of the application setting
keystringThe key info of the application setting
json_valuestringThe value info of the application setting

This example response serves as a reference to understand the structure and data format returned from this API service. It is showed ORDER_FILTERING setting as an example.

{
"id": 36,
"key": "ORDER_FILTERING",
"json_value": {
"status": {
"enum": "oms.orders.enums.OrderStatus",
"value": "approved"
},
"channel": [
1
],
"is_send": false
}
}

GET Retrieve Application Setting Fields

Every application setting has unique key. json_value of every application setting differs according to its key.

This service is used the get the json_value details of a specific key.

Path: /api/v1/oms/settings/application_settings/settings_fields/

Query Parameters

The following query parameters can be used to get the information about json value of a specidic application setting

The settings_key field is mandatory; otherwise, the server will respond with a 400 Bad Request error.

ParameterData TypeInDescription
tokenstringheaderThe API key of the customer account
settings_keystringparamsThe key of the application setting

These are the list of setting keys in the system.

You can provide one of them as a query parameter.

Application Settings Key
GEOCODE_PROVIDER_SETTINGS
GEOLOCATION_DISCOVERY
MAX_FULFILMENT_TIME_OF_ORDER_ITEM
OMNITRON_CLIENT_SETTINGS
ORDER_ITEM_EXCLUSION_METHODS
ORDER_FILTERING
PACKAGE_NUMBER_GENERATOR_PATTERN
IS_CLICK_AND_COLLECT_ENABLED
SHIPPED_THRESHOLD_DAYS
IS_RESERVATION_ACTIVE
COD_FEE_BASE_CODE_VALUE
MIN_ORDER_OMNITRON_ID
OMNITRON_APPLICATION_ID
CLASS_MAPPING
IS_TRADEIN_ENABLED
ALLOWED_PACKAGE_STATES_FOR_RESERVATION
ALLOWED_TRANSFER_STATES_FOR_RESERVATION
IS_THE_PICKUP_LOCATION_FROM_THE_STORE_PACKING_CENTER

Example Request

To get a details of json_value of a specific application setting, a GET request should be sent to the /api/v1/oms/settings/application_settings/settings_fields/ endpoint.

Here's an example of how to make the request in python:

import requests

url = "https://{domain_url}/api/v1/oms/settings/application_settings/settings_fields/?settings_key=ORDER_FILTERING"
token = "f532eXXXXXXXXXXXXXXXXX201XXXXX9332d"

headers = {
'Content-Type': 'application/json',
'Authorization': f'Token {token}'
}

response = requests.request('GET', url, headers=headers)

print(response.json())

Example Response (200 OK)

In a successful response with a status code of 200 OK, the API returns the json_value details of given application setting. The response body contains a JSON object with the attributes such as type, required, children etc.

These attributes are described in the following table.

ParameterData TypeDescription
typestringWhat kind of data will be stored in the application setting for example an object, list or integer ?
requiredbooleanIs it required to show application setting on the frontend ?
read_onlybooleanIs the application setting read only or can be updated ?
labelstringlabel of the application setting
childrenjsonSub fields of the application setting (if it has)

This example responses serve as a reference to understand the structure and data format returned from this API service.

ORDER_FILTERING setting has a json_value as follows:

{
"json_value": {
"type": "nested object",
"required": true,
"read_only": false,
"label": "Json value",
"children": {
"status": {
"type": "nested object",
"required": false,
"read_only": false,
"label": "Status",
"children": {
"enum": {
"type": "string",
"required": true,
"read_only": false,
"label": "Enum"
},
"value": {
"type": "string",
"required": true,
"read_only": false,
"label": "Value"
}
}
},
"channel": {
"type": "list",
"required": false,
"read_only": false,
"label": "Channel",
"child": {
"type": "field",
"required": true,
"read_only": false
}
},
"is_send": {
"type": "boolean",
"required": false,
"read_only": false,
"label": "Is send"
}
}
}
}

SHIPPED_THRESHOLD_DAYS setting has a json_value as belows.

{
"json_value": {
"type": "integer",
"required": true,
"read_only": false,
"label": "Json value",
"min_value": 1
}
}

POST Create Application Setting

This service is used to create a new application setting with the request body.

Path: /api/v1/oms/settings/application_settings/

Request Body

The following request body parameters can be used to create an application setting object.

ParameterData TypeInDescription
tokenstringheaderThe API key of the customer account
keystringbodyThe key of the application setting
json_valuestringbodyThe json value of the application setting

json_value parameter differs for each other application setting. The value of this field must be obtained from the Application Settings Fields service by key.

For instance, ORDER_FILTERING setting has a request body as follows:

{
"key": "ORDER_FILTERING",
"json_value": {
"status": {
"enum": "oms.orders.enums.OrderStatus",
"value": "approved"
},
"channel": [
1
],
"is_send": true
}
}

SHIPPED_THRESHOLD_DAYS setting has a request body as follows:

{
"key": "SHIPPED_THRESHOLD_DAYS",
"json_value": 5
}

Example Request

To create a new application setting, a POST request should be sent to the /api/v1/oms/settings/application_settings/ endpoint.

Here's an example of how to make the request in python:

import requests
import json

url = "https://{instore_url}/api/v1/oms/settings/application_settings/"
token = "f532eXXXXXXXXXXXXXXXXX201XXXXX9332d"

payload = json.dumps({
"key": "ORDER_FILTERING",
"json_value": {
"status": {
"enum": "oms.orders.enums.OrderStatus",
"value": "approved"
},
"channel": [
1
],
"is_send": true
}
})

headers = {
'Content-Type': 'application/json',
'Authorization': 'Token {}'.format(token)
}

response = requests.request("POST", url, headers=headers, data=payload)

print(response.text)

Example Response (201 Created)

In a successful response with a status code of 201 Created, the API indicates that a new application setting has been successfully created.The response body contains a JSON object representing the newly created application setting, including its unique ID and any additional information provided during the creation process.

ParameterData TypeInDescription
tokenstringheaderThe API key of the customer account
keystringbodyThe key of the application setting
json_valuestringbodyThe json value of the application setting

This example response serves as a reference to understand the structure and data format returned when a new application setting is created successfully.

{
"id": 36,
"key": "ORDER_FILTERING",
"json_value": {
"status": {
"enum": "oms.orders.enums.OrderStatus",
"value": "approved"
},
"channel": [
1
],
"is_send": true
}
}

Example Response (400 Bad Request)

In an unsuccessful response with a status code of 400 Bad Request, the API indicates that the request could not be processed due to client error. The response body contains a JSON object that provides additional information about the error, including an error message or validation errors.

This example response serves as a reference to understand the structure and data format returned when a request fails due to client error.

{
"error": {
"json_value": {
"is_send": [
"Must be a valid boolean."
]
}
},
"status_code": 400
}

PUT Update Application Setting

This service is used to update an aplication setting with the request body.

Path: /api/v1/oms/settings/application_settings/{id}/

Request Body

The following request body parameters can be used to update an application setting.

ParameterData TypeInDescription
tokenstringheaderThe API key of the customer account
json_valuestringbodyThe json value of the application setting

Example Request

To update an application setting, a PUT request should be sent to the /api/v1/oms/settings/application_settings/{id}/ endpoint.

Here's an example of how to make the request in python:

import requests
import json

url = "https://{instore_url}/api/v1/oms/settings/application_settings/{id}/"
token = "f532eXXXXXXXXXXXXXXXXX201XXXXX9332d"

payload = json.dumps({
"json_value": {
"status": {
"enum": "oms.orders.enums.OrderStatus",
"value": "approved"
},
"channel": [
1
],
"is_send": false
}
})

headers = {
'Content-Type': 'application/json',
'Authorization': 'Token {}'.format(token)
}

response = requests.request("PUT", url, headers=headers, data=payload)

print(response.text)

Example Response (200 OK)

In a successful response with a status code of 200 OK, the API indicates that the application setting has been successfully updated. The response body does not contain any messages or json objects.