Comment on page

Connect Your Transactions

Connecting your transaction feed to ROIVENUE enables: gross profit margin evaluation, order delivery status consideration and segmentation of customers according to their lifetime value.
The feed is comprised of data from a user company’s internal systems. Connecting the transaction feed unlocks the steps of the Performance Monitor highlighted below.
Note: Transaction feeds are business unit specific, therefore each property needs to have a separate XML file.

1. Prepare the Structure of the File

For the feed to be readable by ROIVENUE, export the file from your internal system and adjust the elements according to our specifications. Some of the parameters are required and some of them are optional. Choose which parameters you would like to measure based on what's important for your business.

2. Name the File According to Our Naming Convention

Exported XML files have to be named with the following syntax:
oms-extract-orders_{code}_{start-date}-{end-date}.xml
Values inside of {} will be replaced. The file name has to be entirely lower case letters including the XML suffix.
code = business unit code (ask your CSM about your business unit code)
start-date = start date of the period in format yyyyMMdd
end-date = end date of the period in format yyyyMMdd

3. Upload the File to Our Azure Storage

In order to upload an XML file to the Azure Blob file storage, please follow the following steps:
  1. 1.
    Make an HTTP POST on this URL:
"https://api2.roivenue.com/api/blob-storage/upload?key=P3N2PTIwMjAtMDQtMDgmc3Q9MjAyMS0wOS0yMFQxNyUzQTIxJTNBMDBaJnNlPTIwNTAtMTAtMDFUMTclM0EyMSUzQTAwWiZzcj1jJnNwPWFjd2wmc2lnPVlIMzNQRElQNTYlMkJGMTgxTUhkJTJGQjRMaGhscjNSY0RZZnJUNzBWdGQ5T2xRJTNE&fileName=oms-extract-orders_examplecz_20210101-20210131.xml&storageAccountName=roiimportexample&path=export"
2. The XML file has to be uploaded in the body of the POST.
3. The fileName parameter in the URL contains dates. Eg. fileName=oms-extract-orders_examplecz_20210101-20210131.xml&storageAccountName=roiimportexample&path=export These dates are a record of all orders created during this period. In this example, it would be an XML file with orders created from 1.1.2021 till 31.1.2021.
According to the range of orders exported from your backend system, these dates always have to change with every file uploaded to the storage.
NOTE: The URL for the HTTP POST has clearly identifiable parts that can help you build it. After the “upload?”, the URL contains the following parameters:
Account Key - e.g. "P3N2PTIwMjAtMDQtMDgmc3Q9MjAyMS0wOS0yMFQxNyUzQTIxJTNBMDBaJnNlPTIwNTAtMTAtMDFUMTclM0EyMSUzQTAwWiZzcj1jJnNwPWFjd2wmc2lnPVlIMzNQRElQNTYlMkJGMTgxTUhkJTJGQjRMaGhscjNSY0RZZnJUNzBWdGQ5T2xRJTNE" - This is provided by the Customer Success team.
File Name - e.g. "oms-extract-orders_examplecz_20210101-20210131.xml "
Account Name - e.g. "roiimportexample" - This is provided by the Customer Success team as well.
Path - in our example it’s quite a simple path - "export" but this can be a longer path depending on the account.
In the case that you will get a response = 200 (Success) but the file is not uploaded, then most likely:
  • the file was not put into the request correctly
  • the header did not contain 'content-type': 'application/octet-stream'
Lastly, you can find here a request example in Python you can use to guide yourself with:
import requests
from datetime import date, timedelta
key = "Storage key, ask your CSM to provide you with correct one"
storage = "roiimportexample"
fileName = "oms-extract-orders_examplecz_"+str(date.today()-timedelta(days=91))+"-"+str(date.today()-timedelta(days=1))+".xml"
url = "https://api2.roivenue.com/api/blob-storage/upload?key={}&fileName={}&storageAccountName={}&path=export".format(key,fileName,storage)
headers = {
'accept': '*/*',
'content-type': 'application/octet-stream',
}
with open('XMLFEED.xml', 'rb') as f:
response = requests.post(url=url,headers=headers,data=f)
print(response)
print(response.text)
You should expect one of the following responses:
<Response [201]> {"content":"","contentType":"text/plain"}
<Response [200]> Success
If you want to go forward with this and implement the transaction feed, please reach out to the Customer Success team and they will create your Azure Blob Storage account in order to start processing your files from the internal management system.