{"templateId":"markdown","sharedDataIds":{"sidebar":"sidebar-sidebars.yaml","oas-apis/data-exchange-api/@data-exchange-api-v4/api-v4.yaml":"oas-apis/data-exchange-api/@data-exchange-api-v4/api-v4.yaml","oas-apis/data-exchange-api/@data-exchange-api-v5/api-v5.yaml":"oas-apis/data-exchange-api/@data-exchange-api-v5/api-v5.yaml"},"props":{"metadata":{"markdoc":{"tagList":["admonition","replay-openapi","partial"]},"type":"markdown"},"seo":{"title":"Uploading CSV/XLS with Request Upload","llmstxt":{"hide":false,"sections":[{"title":"Table of contents","includeFiles":["**/*"],"excludeFiles":[]}],"excludeFiles":[]}},"dynamicMarkdocComponents":["openapi"],"compilationErrors":[],"ast":{"$$mdtype":"Tag","name":"article","attributes":{},"children":[{"$$mdtype":"Tag","name":"Heading","attributes":{"level":1,"id":"uploading-csvxls-with-request-upload","__idx":0},"children":["Uploading CSV/XLS with Request Upload"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Overview"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["This step-by-step instruction guides the user through the data upload process using Upload Request. Uploaded data can be used with Use Case Enablers."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Scenario"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["In this instruction, the user will learn how to:"]},{"$$mdtype":"Tag","name":"ol","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Create a Data Storage,"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Request a file upload,"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Upload desired data,"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Read uploaded data,"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Delete unused data storage."]}]},{"$$mdtype":"Tag","name":"hr","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"step-1-create-a-storage","__idx":1},"children":["Step 1: Create a storage"]},{"$$mdtype":"Tag","name":"Admonition","attributes":{"type":"info"},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Skip this step if a ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Data Storage"]}," was created before. You can use it multiple times for your files. Get the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["id"]}," of your ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Data Storage"]}," and go directly to the ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"#step-2-request-the-file-upload"},"children":["Step 2"]},"."]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["To upload desired files, storage is needed! Before upload:"]},{"$$mdtype":"Tag","name":"ol","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Use the ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Create Storage"]}," endpoint to send the below request."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Select the ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Create a storage"]}," example."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Replace the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["dataStorageExample"]}," and the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["dataSourceExample"]}," with new names."]}]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"{\n  \"name\": \"dataStorageExample\",\n  \"dataSources\": [\n    {\n      \"dataSourceName\": \"dataSourceExample\",\n      \"dataMapperDefinitionId\": \"61a5d4dc773d1012a3dfa5aa\"\n    }\n  ],\n  \"featuresOn\": [\"LOOKUP\", \"DATA_MIRROR\"]\n}\n","lang":"json"},"children":[]},{"$$mdtype":"Tag","name":"ReplayOpenApi","attributes":{"descriptionFile":"oas-apis/data-exchange-api/@data-exchange-api-v4/api-v4.yaml","pointer":"/paths/~1v2~1storages/post","parameters":{},"options":{},"environments":{}},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Important information:"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Your storage is created if the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["status"]},": ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["CREATED_SUCCESSFULLY"]}," is displayed in the response body."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["The ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["id"]}," refers to the unique identifier of a newly created storage (e.g., ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["id"]},":",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["3a10645d8be23f53a20b30bfa936e63d"]},")."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["The storage is empty by default."]}]},{"$$mdtype":"Tag","name":"Admonition","attributes":{"type":"success"},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The Data Storage is successfully created. Use storage ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["id"]}," in the next step."]}]},{"$$mdtype":"Tag","name":"hr","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"step-2-request-the-file-upload","__idx":2},"children":["Step 2: Request the file upload"]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"get-the-upload-link","__idx":3},"children":["Get the upload link"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["To start the import job of a CSV or XLSX file:"]},{"$$mdtype":"Tag","name":"ol","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Use the ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Request file upload"]}," endpoint to send the below request."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Change the name of the imported file if needed."]}]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"{\n  \"url\": \"file.xlsx\"\n}\n","lang":"json"},"children":[]},{"$$mdtype":"Tag","name":"ReplayOpenApi","attributes":{"descriptionFile":"oas-apis/data-exchange-api/@data-exchange-api-v5/api-v5.yaml","pointer":"/paths/~1v5~1files~1upload/post","parameters":{},"options":{},"environments":{}},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["In the response, you will find three important parameters:"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["The ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["uploadLink"]}," with the link to be used in the next step."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["The ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["uploadMethod"]}," with the method to be used during the upload."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["The ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["url"]}," with the link to your uploaded file."]}]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"{\n  \"uploadLink\": \"https://example.org/some.line\",\n  \"uploadMethod\": \"PUT\",\n  \"url\": \"customer-uploads/cdq/user-id/file.xlsx\"\n}\n","lang":"json"},"children":[]},{"$$mdtype":"Tag","name":"Admonition","attributes":{"type":"info"},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Use ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["uploadLink"]}," and ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["uploadMethod"]}," during the upload. Use ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["url"]}," in the next step."]}]},{"$$mdtype":"Tag","name":"Admonition","attributes":{"type":"warning"},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The validation of the link is temporary. Upload the file as fast as possible."]}]},{"$$mdtype":"Tag","name":"hr","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"upload-the-file","__idx":4},"children":["Upload the file"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Uploading the file must be performed by an external client like Insomnia."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["To upload the file:"]},{"$$mdtype":"Tag","name":"ol","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Create a new request."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Set the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["uploadMethod"]}," and paste the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["uploadLink"]},"."]}]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":""},"children":[]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"img","attributes":{"src":"/assets/uploadins1.65c314a16e1b6e004c031e604aa24400b783e80432946fcc540a798c14c20a74.14012dd8.png","alt":""},"children":[]}]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Defining the request parameters"]}]}]}]}]},{"$$mdtype":"Tag","name":"ol","attributes":{"start":3},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Change the body of the request to Binary File."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Select the file."]}]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":""},"children":[]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":""},"children":[]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"img","attributes":{"src":"/assets/uploadins2.1c80e0487bb6c404db42a288dc605452253636571754a3d7f37637c01e69c0f1.14012dd8.png","alt":""},"children":[]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"img","attributes":{"src":"/assets/uploadins3.3f15b768ee670cef0ccf91d71a68b71df99c60418c39ae7dcd48b356ec010878.14012dd8.png","alt":""},"children":[]}]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Setting the request body"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Selecting the file"]}]}]}]}]},{"$$mdtype":"Tag","name":"ol","attributes":{"start":5},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Send the request."]}]},{"$$mdtype":"Tag","name":"Admonition","attributes":{"type":"info"},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["No request body expected. Go to the next step."]}]},{"$$mdtype":"Tag","name":"hr","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"step-3-upload-data-to-the-storage","__idx":5},"children":["Step 3: Upload data to the storage"]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"use-received-url-link","__idx":6},"children":["Use received URL link"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["To start the import job of the uploaded file:"]},{"$$mdtype":"Tag","name":"ol","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Use the ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Start Import Job"]}," endpoint to send the below request."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Paste the existing storage ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["id"]},"."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Paste the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["url"]}," from step 2."]}]},{"$$mdtype":"Tag","name":"ReplayOpenApi","attributes":{"descriptionFile":"oas-apis/data-exchange-api/@data-exchange-api-v4/api-v4.yaml","pointer":"/paths/~1jobs~1importjobs/post","parameters":{},"options":{},"environments":{}},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["In the response, you will find three important parameters:"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["The ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["id"]}," with the value representing ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["YOUR JOB ID"]}," - the unique number of every upload job."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["The ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["progress"]},": ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["0"]}," representing the progress of the job."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["The ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["status"]},": ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["SCHEDULED"]}," - the job is in the job queue."]}]},{"$$mdtype":"Tag","name":"Admonition","attributes":{"type":"info"},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Note down received ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["YOUR JOB ID"]}," for polling the job status."]}]},{"$$mdtype":"Tag","name":"hr","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"poll-for-the-completion-status","__idx":7},"children":["Poll for the completion status"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["To check the import job status:"]},{"$$mdtype":"Tag","name":"ol","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Use the ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Poll Import Job"]}," endpoint to send the below request."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Use the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["YOUR JOB ID"]}," from the previous step and replace the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["jobId"]},"."]}]},{"$$mdtype":"Tag","name":"ReplayOpenApi","attributes":{"descriptionFile":"oas-apis/data-exchange-api/@data-exchange-api-v4/api-v4.yaml","pointer":"/paths/~1jobs~1importjobs~1{jobId}/get","parameters":{},"options":{},"environments":{}},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["If the job is still running, the status with the progress will be displayed:"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"{\n  \"id\": \"YOUR JOB ID\",\n  \"progress\": \"71\",\n  \"status\": \"RUNNING\"\n}\n","lang":"json"},"children":[]},{"$$mdtype":"Tag","name":"Admonition","attributes":{"type":"info"},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The import job runtime is dependent on the size of the imported file. Poll the status regularly to find out when the import is done."]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["When the job is done, the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["FINISHED"]}," status will be displayed:"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"{\n  \"id\": \"YOUR JOB ID\",\n  \"progress\": \"100\",\n  \"status\": \"FINISHED\"\n}\n","lang":"json"},"children":[]},{"$$mdtype":"Tag","name":"Admonition","attributes":{"type":"success"},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The data is fully imported to your storage now. The uploaded data can be processed now by the wide range of CDQ Solutions."]}]},{"$$mdtype":"Tag","name":"hr","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"step-4-read-data","__idx":8},"children":["Step 4: Read data"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["To read uploaded data:"]},{"$$mdtype":"Tag","name":"ol","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Use the ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Read Business Partners"]}," endpoint to send the below request."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Use the existing storage ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["id"]},"."]}]},{"$$mdtype":"Tag","name":"ReplayOpenApi","attributes":{"descriptionFile":"oas-apis/data-exchange-api/@data-exchange-api-v4/api-v4.yaml","pointer":"/paths/~1v4~1storages~1{storageId}~1businesspartners/get","parameters":{},"options":{},"environments":{}},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["In the response, the Business Partners data will be displayed in the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["value"]}," object:"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"{\n  \"values\": [\n    {\n      \"businessPartnerData1\"\n    },\n    {\n      \"businessPartnerData2\"\n    }\n  ]\n}\n","lang":"json"},"children":[]},{"$$mdtype":"Tag","name":"Admonition","attributes":{"type":"info"},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["businessPartnerData1"]}," and ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["businessPartnerData2"]}," represent the sets of parameters for a particular Business Partner. It is used for simplification."]}]},{"$$mdtype":"Tag","name":"hr","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"step-5-delete-storage","__idx":9},"children":["Step 5: Delete storage"]},{"$$mdtype":"Tag","name":"Admonition","attributes":{"type":"success"},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Good Practices"]},{"$$mdtype":"Tag","name":"br","attributes":{},"children":[]},"Delete the storage after you no longer need it."]}]},{"$$mdtype":"Tag","name":"ol","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Use the ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Delete Storage"]}," endpoint to send the below request."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Use the existing storage ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["id"]}," no longer in use and replace the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["storageId"]}," in the request."]}]},{"$$mdtype":"Tag","name":"ReplayOpenApi","attributes":{"descriptionFile":"oas-apis/data-exchange-api/@data-exchange-api-v4/api-v4.yaml","pointer":"/paths/~1storages~1{storageId}/delete","parameters":{},"options":{},"environments":{}},"children":[]},{"$$mdtype":"Tag","name":"hr","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"your-opinion-matters","__idx":10},"children":["Your opinion matters!"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["We are constantly working on providing an outstanding user experience with our products. Please share your opinion about this tutorial!"]}]},"headings":[{"value":"Uploading CSV/XLS with Request Upload","id":"uploading-csvxls-with-request-upload","depth":1},{"value":"Step 1: Create a storage","id":"step-1-create-a-storage","depth":2},{"value":"Step 2: Request the file upload","id":"step-2-request-the-file-upload","depth":2},{"value":"Get the upload link","id":"get-the-upload-link","depth":3},{"value":"Upload the file","id":"upload-the-file","depth":3},{"value":"Step 3: Upload data to the storage","id":"step-3-upload-data-to-the-storage","depth":2},{"value":"Use received URL link","id":"use-received-url-link","depth":3},{"value":"Poll for the completion status","id":"poll-for-the-completion-status","depth":3},{"value":"Step 4: Read data","id":"step-4-read-data","depth":2},{"value":"Step 5: Delete storage","id":"step-5-delete-storage","depth":2},{"value":"Your opinion matters!","id":"your-opinion-matters","depth":2}],"frontmatter":{"title":"Uploading CSV/XLS with Request Upload","seo":{"title":"Uploading CSV/XLS with Request Upload"}},"lastModified":"2026-05-14T08:19:51.000Z","pagePropGetterError":{"message":"","name":""}},"slug":"/documentation/_public/instructions/url-upload","userData":{"isAuthenticated":false,"teams":["anonymous"]},"isPublic":true}