Skip to main content

Get Order By Id

Retrieves detailed information about a specific order using its unique identifier.

Authentication

This endpoint requires authentication. See Authentication for details.

Parameters

PropertyTypeRequiredDescription
orderIdstringYesThe unique identifier of the order

Filters

PropertyTypeRequiredDescription
companyCodestringYesCompany code for one of your managed companies

Request

Production URL: https://orchestrator.tecspal.com/
Sandbox URL: https://tecspal-orchestrator.sandbox.lexartlabs.uy/
Endpoint: GET /orders/{orderId}

Example Request

{
"filters": {
"companyCode": "DM1"
},
"request": "orders/acf8c4ee-f403-4f20-8503-7be0dbdd8592",
"vendor": "tecspal",
"verb": "GET"
}

Response Schema

PropertyTypeDescription
statusCodenumberHTTP status code of the response
messagestringDescription of the response status
enveloparrayArray containing the order data

Order Properties

PropertyTypeDescription
idstringUnique identifier of the order
orderNumbernumberOrder number
createdAtstringISO timestamp when order was created
updatedAtstringISO timestamp when order was last updated
statusstringStatus of the order (e.g. DELIVERED)
datestring | nullDelivery date (YYYY-MM-DD)
etastring | nullEstimated delivery date (YYYY-MM-DD)
maxEtanumber | nullMaximum estimated delivery date (YYYY-MM-DD)
minEtanumber | nullMinimum estimated delivery date (YYYY-MM-DD)
localInvoicebooleanIndicates whether local invoice flow is enabled
trackingLinkstring | nullLink for tracking the order
trackingCodestring | nullCode for tracking the order
countryCodestringCountry code (e.g. UY)
sendTostringRecipient type (e.g. EMPLOYEE, STORAGE)
currencystringCurrency used (e.g. USD)
dateCompletedstring | nullDate the order was completed
requesterEmailstring | nullEmail of the person who requested the order (null if created via API)
companyNamestringName of the company
employeeProfileobject | nullEmployee profile info, if applicable
hardwaresarrayList of hardware items requested
createdHardwaresarrayList of hardware items actually created
apiClientRequesterNamestring | nullName of the API client that submitted the request (null if created by user)
poNumberstring | nullPurchase Order number, if provided
clientNamestring | nullClient name associated with this order, if provided
resellerIdsarrayArray of reseller IDs matching the order's country (only for API-created orders)

employeeProfile Properties

PropertyTypeDescription
idstringEmployee ID
firstNamestringFirst name of the employee
lastNamestringLast name of the employee
emailstringEmail address of the employee
phonestring | nullPhone number with country code
governmentDNIstring | nullGovernment-issued identification number
citystring | nullCity of residence
countryCodestringCountry code of the employee
addressstringStreet address
addressExtraInfostring | nullAdditional address information
postCodestringPostal code

hardwares Properties

PropertyTypeDescription
idstringHardware ID
brandstring | nullBrand name (if provided)
amountnumberQuantity of the item
notesstring | nullNotes associated with the item
quotedUnitPricestring | nullQuoted price per unit (as string)
createdAtstringISO timestamp when item was added
catalogModelIdstring | nullOptional catalog model reference
modelstringModel name of the hardware
ramstringRAM configuration (if applicable)
diskSpacestringDisk size (if applicable)
displaySizestringDisplay size (if applicable)
processorstringProcessor (if applicable)
imagestringURL to the image
externalItemIdstring | nullExternal item identifier (if provided)
serialNumbersstring[]Array of serial numbers (if assigned)
isSelectedboolean | nulltrue if this row is the selected candidate of an alternative group; null if the hardware is not part of a group
isAvailableboolean | nullAvailability flag when the hardware is part of a group; null if not in a group
isRecommendedboolean | nullRecommendation flag when the hardware is part of a group; null if not in a group
alternativeGroupobject | nullPresent when this hardware belongs to an alternative group (then it lists all candidates); null otherwise

alternativeGroup Properties

PropertyTypeDescription
idstringUnique identifier of the alternative group
selectedIdstring | nullID of the currently selected hardware request (typically the same id as the parent hardware in hardwares[])
candidatesarrayFull list of candidates for this group (includes the selected item and alternatives; see candidates)

candidates Properties

Each candidate exposes the same base fields as hardwares except alternativeGroup — that field is omitted on candidates to avoid recursion — plus:

PropertyTypeDescription
isSelectedbooleantrue for exactly one candidate per group (the chosen option)
isAvailableboolean | nullMarked during quoting
isRecommendedboolean | nullMarked during quoting
isOriginalRequestbooleantrue for the original request in the group (earliest createdAt; ties broken by lexicographic id sorting)

createdHardwares Properties

PropertyTypeDescription
idstringUnique ID of the created hardware
brandstring | nullBrand name (if applicable)
descriptionstringDescription or notes
serialNumberstringSerial number of the hardware
modelstringModel name of the hardware
hardwareTypestringHardware type
ramstringRAM configuration (if applicable)
diskSpacestringDisk size (if applicable)
displaySizestringDisplay size (if applicable)
processorstringProcessor (if applicable)
imagestringURL to the image
coststringPurchase cost of the hardware
dateBoughtstringDate the hardware was bought (ISO format)

resellerIds Properties

PropertyTypeDescription
idstringUnique identifier of the reseller ID
codestringReseller code
countryCodestringCountry code matching the reseller's location

Note: resellerIds is only populated for orders created via the API (when apiClientRequesterName is not null). For orders created through the web interface, this field will be an empty array.

Example Response

{
"envelop": [
{
"id": "632a303b-e65c-4a48-9ed0-39bb832df5bc",
"orderNumber": 10001006,
"createdAt": "2025-04-10T15:01:33.644Z",
"updatedAt": "2025-04-10T15:02:36.845Z",
"status": "DELIVERED",
"date": "2025-05-03",
"eta": "2025-04-19",
"trackingLink": null,
"trackingCode": null,
"countryCode": "UY",
"sendTo": "EMPLOYEE",
"currency": "USD",
"dateCompleted": "2025-04-25",
"requesterEmail": "superadmin@tecspal.com",
"companyName": "Larian Studios",
"apiClientRequesterName": null,
"poNumber": null,
"resellerIds": [],
"employeeProfile": {
"id": "04fb50a9-60fb-414a-ab2b-fa3f8ea8689e",
"firstName": "Juan",
"lastName": "Iruleguy",
"countryCode": "UY",
"email": "jiruleguy@tecspal.com",
"phone": "+598 99999999",
"governmentDNI": "12345678",
"city": "Montevideo",
"address": "Pedro Domingo Murillo 999, Montevideo, Departamento de Montevideo",
"addressExtraInfo": null,
"postCode": "11500"
},
"hardwares": [
{
"id": "3b194ea5-5d09-49f2-8d30-4b0e77dbc229",
"amount": 1,
"notes": "",
"quotedUnitPrice": "5000",
"createdAt": "2025-04-10T15:01:33.649Z",
"catalogModelId": null,
"brand": null,
"model": "MacBook Pro",
"hardwareType": "MACBOOK",
"ram": "16GB",
"diskSpace": "512GB",
"displaySize": "16 inch",
"processor": "M1 Pro",
"image": "https://a-us.storyblok.com/f/1001855/789x500/82ee51ba4d/macbook-pro-16.png",
"externalItemId": "ITEM-2024-001",
"serialNumbers": [],
"isSelected": true,
"isAvailable": true,
"isRecommended": false,
"alternativeGroup": {
"id": "766a504a-8197-4841-8656-78825828469e",
"selectedId": "3b194ea5-5d09-49f2-8d30-4b0e77dbc229",
"candidates": [
{
"id": "3b194ea5-5d09-49f2-8d30-4b0e77dbc229",
"amount": 1,
"notes": "",
"quotedUnitPrice": "5000",
"createdAt": "2025-04-10T15:01:33.649Z",
"catalogModelId": null,
"brand": null,
"model": "MacBook Pro",
"hardwareType": "MACBOOK",
"ram": "16GB",
"diskSpace": "512GB",
"displaySize": "16 inch",
"processor": "M1 Pro",
"image": "https://a-us.storyblok.com/f/1001855/789x500/82ee51ba4d/macbook-pro-16.png",
"externalItemId": "ITEM-2024-001",
"serialNumbers": [],
"isSelected": true,
"isAvailable": true,
"isRecommended": false,
"isOriginalRequest": true
},
{
"id": "901f4ea5-5d09-49f2-8d30-4b0e77dbc999",
"amount": 1,
"notes": "Alternative suggested by supplier",
"quotedUnitPrice": "4800",
"createdAt": "2025-04-11T10:00:00.000Z",
"catalogModelId": null,
"brand": null,
"model": "MacBook Air M2",
"hardwareType": "MACBOOK",
"ram": "16GB",
"diskSpace": "512GB",
"displaySize": "13 inch",
"processor": "M2",
"image": "https://a-us.storyblok.com/f/1001855/800x800/82ee51ba4d/macbook-air.png",
"externalItemId": null,
"serialNumbers": [],
"isSelected": false,
"isAvailable": true,
"isRecommended": true,
"isOriginalRequest": false
}
]
}
},
{
"id": "4ee86352-fe28-42e2-b6e9-d95e63c87a83",
"amount": 1,
"notes": "",
"quotedUnitPrice": "200",
"createdAt": "2025-04-10T15:01:33.649Z",
"catalogModelId": null,
"brand": null,
"model": "HEADPHONES",
"hardwareType": "HEADPHONES",
"image": "https://a-us.storyblok.com/f/1001855/800x800/eacb7e6f4f/headphones.png",
"externalItemId": "ITEM-2024-002",
"serialNumbers": [],
"isSelected": null,
"isAvailable": null,
"isRecommended": null,
"alternativeGroup": null
}
],
"createdHardwares": [
{
"id": "86890299-6aa2-457f-8918-a27a6d017559",
"description": "",
"serialNumber": "123456",
"cost": "5000",
"dateBought": "2025-04-25T00:00:00.000Z",
"brand": null,
"name": "MacBook Pro",
"ram": "16GB",
"diskSpace": "512GB",
"displaySize": "16 inch",
"processor": "M1 Pro",
"image": "https://a-us.storyblok.com/f/1001855/789x500/82ee51ba4d/macbook-pro-16.png"
},
{
"id": "1bf3bf55-d3d5-49cc-b413-68969d4558f2",
"description": "",
"serialNumber": "123",
"cost": "200",
"dateBought": "2025-04-25T00:00:00.000Z",
"brand": null,
"name": "HEADPHONES",
"image": "https://a-us.storyblok.com/f/1001855/800x800/eacb7e6f4f/headphones.png"
}
]
}
],
"message": "Request successful",
"statusCode": 200
}

Notes

  • Orders can be in various states: PENDING, CONFIRMED, DELIVERED, etc.
  • The hardwares array contains the items requested in the order
  • Each hardware can reference either a commonModel (specific model) or hardwareType (generic type)
  • When sendTo is "STORAGE", the order will be delivered to Tecspal's storage facility
  • When sendTo is "EMPLOYEE", the order will be delivered to the employee's address
  • Hardware with alternatives appears in hardwares[] as the currently selected row (isSelected: true). Its alternativeGroup.candidates[] lists every candidate in that group (including the selected row and the original).
  • Field isOriginalRequest appears only inside alternativeGroup.candidates[], not on top-level hardwares[] entries.
  • Field alternativeGroup appears only on top-level hardwares[] entries, never nested inside each candidate object.
  • When a hardware row is not part of any alternative group, alternativeGroup is null and isSelected, isAvailable, and isRecommended are null.

Error Responses

Order Not Found (404)

{
"error": "Not Found",
"message": "Order not found",
"statusCode": 404
}

Unauthorized (401)

{
"error": "Unauthorized",
"message": "Unauthorized access",
"statusCode": 401
}

Bad Request (400)

{
"error": "Bad Request",
"message": "Invalid order ID format",
"statusCode": 400
}