RFQ
This page covers:
PUT /api/RFQGET /api/RFQDELETE /api/RFQ
PUT /api/RFQ
Section titled “PUT /api/RFQ”Create a new RFQ from a file upload, or append chunks toward one RFQ upload.
| Item | Value |
|---|---|
| Method | PUT |
| Path | /api/RFQ |
| Auth | User bearer token |
| Content-Type | application/json |
| Response | Text response. Final response contains {"rfqId":"..."}. Intermediate chunk uploads return Chunk uploaded. |
Query parameters
Section titled “Query parameters”| Parameter | Required | Notes |
|---|---|---|
fileName | Yes | URL-encoded file name |
customQuoteId | No | External quote identifier |
rfqId | No | Existing RFQ ID if you want to control the ID |
chunkNum | No | Chunk number, starting at 1 |
totalChunks | No | Total chunk count |
Request body format
Section titled “Request body format”The body is a JSON string whose value is the base64-encoded file bytes:
"BASE64_FILE_BYTES"Chunking behavior
Section titled “Chunking behavior”- When
chunkNumandtotalChunksare omitted, the whole file is uploaded in one request. - When both are supplied and
totalChunks > 1, the server appends chunks until the last chunk arrives. - Non-final chunks return
Chunk uploaded. - The final chunk returns the normal RFQ response.
Python example
Section titled “Python example”import base64import jsonimport requests
with open("quote_input.pdf", "rb") as f: body = json.dumps(base64.b64encode(f.read()).decode("ascii"))
resp = requests.put( f"{server}/api/RFQ?fileName=quote_input.pdf&customQuoteId=EXT-12345", headers={ "Authorization": f"Bearer {token}", "Content-Type": "application/json", }, data=body,)resp.raise_for_status()print(resp.text)Raw HTTP example
Section titled “Raw HTTP example”PUT /api/RFQ?fileName=quote_input.pdf&customQuoteId=EXT-12345 HTTP/1.1Host: your-server.example.comAuthorization: Bearer USER_BEARER_TOKENContent-Type: application/json
"BASE64_FILE_BYTES"GET /api/RFQ
Section titled “GET /api/RFQ”Fetch one RFQ by ID.
| Item | Value |
|---|---|
| Method | GET |
| Path | /api/RFQ |
| Auth | User bearer token |
| Response | RFQ JSON or null |
Query parameters
Section titled “Query parameters”| Parameter | Required | Notes |
|---|---|---|
rfqId | Yes | RFQ ID |
Typical response fields
Section titled “Typical response fields”| Field | Meaning |
|---|---|
Id | RFQ ID |
UserId | Owning user |
CompanyId | Company context |
SearchFileId | Base RFQ/search input file |
Status | Numeric RFQ status |
StatusName | Human-readable status |
CustomQuoteId | External quote ID if supplied |
BaseFileName | Base uploaded file name |
Lines | RFQ line items and search results |
Example response
Section titled “Example response”{ "Id": "7e8f3aaf-8350-4b76-a4b2-4c778d4ebd33", "UserId": "6a5b7d86-1c61-4e0c-9ef9-8d4d1a450f92", "CompanyId": "24395dfe-7917-4976-a198-0fe3aa9a6a06", "SearchFileId": "b5d3674c-488c-41cb-a9f7-58a42cac85dd", "Status": 0, "StatusName": "Saved", "CustomQuoteId": "EXT-12345", "BaseFileName": "quote_input.pdf", "Lines": [ { "LineNumber": "1", "InputFID": "b5d3674c-488c-41cb-a9f7-58a42cac85dd", "InputFilename": "quote_input.pdf", "Results": [] } ]}Example
Section titled “Example”curl -G "https://your-server.example.com/api/RFQ" \ -H "Authorization: Bearer USER_BEARER_TOKEN" \ --data-urlencode "rfqId=7e8f3aaf-8350-4b76-a4b2-4c778d4ebd33"DELETE /api/RFQ
Section titled “DELETE /api/RFQ”Delete one RFQ by ID.
| Item | Value |
|---|---|
| Method | DELETE |
| Path | /api/RFQ |
| Auth | User bearer token |
| Response | Boolean |
Query parameters
Section titled “Query parameters”| Parameter | Required | Notes |
|---|---|---|
rfqId | Yes | RFQ ID |
Example
Section titled “Example”curl -X DELETE "https://your-server.example.com/api/RFQ?rfqId=7e8f3aaf-8350-4b76-a4b2-4c778d4ebd33" \ -H "Authorization: Bearer USER_BEARER_TOKEN"