Pricefx REST API Reference
- Execute a Data Load Logic
The Pricefx Backend API
Request
Retrieves Data Manager Entities (Field Collections), including object's metadata. A filter can be applied.
| Action | Endpoint |
|---|---|
| List Data Feeds | /datamart.getfcs/DMF |
| List Data Sources | /datamart.getfcs/DMDS |
| List Datamarts | /datamart.getfcs/DM |
| List Datamart Model Tables | /datamart.getfcs/DMT |
| List Data Loads | Use a different endpoint to retrieve Data Loads: /datamart.getdataloads |
- Mock serverhttps://api.pricefx.com/_mock/openapi/reference/pricefx-server_openapi/datamart.getfcs/{TypeCode}
- URL:https://companynode.pricefx.com/pricefx/companypartition/datamart.getfcs/{TypeCode}
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X POST \
-u <username>:<password> \
https://api.pricefx.com/_mock/openapi/reference/pricefx-server_openapi/datamart.getfcs/DM \
-H 'Content-Type: application/json' \
-d '{
"data": {
"_constructor": "AdvancedCriteria",
"operator": "and",
"criteria": [
{
"fieldName": "lastUpdateBy",
"operator": "equals",
"value": "2147490696"
}
]
}
}'{ "response": { "node": "node", "csrfToken": "tkn", "data": [ … ], "endRow": 1, "status": 0 } }
- Mock serverhttps://api.pricefx.com/_mock/openapi/reference/pricefx-server_openapi/datamart.distcalcparams/{typedId}/{logicName}
- URL:https://companynode.pricefx.com/pricefx/companypartition/datamart.distcalcparams/{typedId}/{logicName}
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X POST \
-u <username>:<password> \
https://api.pricefx.com/_mock/openapi/reference/pricefx-server_openapi/datamart.distcalcparams/2147483780.DMDL/E2ETestsLogic{ "response": { "node": "string", "csrfToken": "string", "data": [ … ] } }
Request
Retrieves the object's (Data Feed, Data Source, Datamart) row level data. A filter can be applied.
If you want to achieve better performance when fetching large data sets and if you do not need the total number of items in the table – use the /datamart.fetchnocount/{typedId} endpoint instead.
You can choose fields to be returned in the response by employing the resultFields or valueFields filter:
resultFields: returns key-value pairs as objects. This is the more friendly response compared to valueFields but the server fetches all fields from the database in the backend which might result in a slower performance. See the List Product's listProductsResponseExample_resultFields response example.
valueFields: returns just an array of values. Use this option if a better performance is required. See the List Product's listProductsResponseExample_valueFields response example.
When
distinctResultsis set to true, it applies only to the first column specified in thevalueFieldsarray. For example, if"valueFields": ["ConditionType", "TableNumber"]is used, only distinct values forConditionTypeare returned.
Please note: When paging is applied, use a deterministic sort (for example,
"sortBy":["InvoiceLineID"]). If no sorting is defined when paging, you may get duplicates in the response.
Use one of the following object identifiers:
- typedUniquename – Format: "<typeCode>.<uniqueName>" (e.g., DMDS.SalesTransactions)
- typedId – Format: "<dbId>.<typeCode>" (e.g., 123456.DMDS)'
- "*" (asterisk) – Asterisk can be used when you are providing a source$query in
datawithin the request body
Set this parameter to override the default timeout (60 seconds) of the query. The maximum allowed timeout is 300 seconds. The default timeout value and the maximum timeout value can be configured in the backend. Setting higher timeout can be useful, for example, when a query takes long time (e.g., when processing large tables).
- Mock serverhttps://api.pricefx.com/_mock/openapi/reference/pricefx-server_openapi/datamart.fetch/{objectId}
- URL:https://companynode.pricefx.com/pricefx/companypartition/datamart.fetch/{objectId}
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
- getDMObjectRequestExample
- distinctValues
curl -i -X POST \
-u <username>:<password> \
'https://api.pricefx.com/_mock/openapi/reference/pricefx-server_openapi/datamart.fetch/123456.DMDS || DMDS.Transactions || DM.TxDM || *?timeout=20' \
-H 'Content-Type: application/json' \
-d '{
"endRow": 300,
"oldValues": null,
"operationType": "fetch",
"startRow": 0,
"textMatchStyle": "exact",
"data": {
"_constructor": "AdvancedCriteria",
"operator": "and",
"criteria": [
{
"fieldName": "currency",
"operator": "iEquals",
"value": "EUR"
}
]
},
"sortBy": [
"InvoiceLineID"
],
"resultFields": [
"ProductID",
"label",
"unitOfMeasure",
"currency",
"formulaName",
"lastUpdateDate"
]
}'{ "response": { "node": "string", "startRow": 0, "data": [ … ], "endRow": 0, "totalRows": 0, "status": 0 } }
See the Key-Value Database Storage Knowledge Base article for more details.
Here you can find all fields of the corresponding entity (represented by the type code).
Use the /metadata.describe endpoint to find out the correct data type of the field that is used in your partition.
Comments