Jobs
Outsroucing represent an outsourced job in the system. An outsourced job is a task that needs to be done by a supplier. It can be a translation, a review, a DTP, etc.
The outsourcing object
Properties
currencyobject
The currency.deliveryDatedate
The delivery date.
discountnumber
The discount applied (a percentage value with min -1 and max 1).
dueDatedate
The due date.
extraChargeobject
The extra charge applied.
fixedPricenumber
The fixed price of the job.
idstring
Unique identifier of the
languagePairobject
The language pair.namestring
The name of the
notesembedded
The notes linked to the entity.portalobject
The outsourcing portal options.
quantityobject
The quantity of the job.
serviceobject
The service.startDatedate
The start date.
statusnumber
The status of the Valid values are:
1
(not started),2
(in progress),3
(to be reviewed),4
(finished),5
(cancelled),6
(on hold).subtotalnumber
The subtotal.
supplierobject
The supplier.
totalnumber
The total amount.
totalDetailsobject
The total details.
Outsourcing object
{
"id": "66825e48edde360f163d4e68",
"currency": {
"code": "EUR",
"symbol": "€"
},
"deliveryDate": "2024-09-30T12:31:47.400Z",
"discount": 0,
"dueDate": "2024-06-14T09:00:00.000Z",
"extraCharge": {
"amount": 0,
"percentage": 0,
"type": "percentage"
},
"languagePair": {
"id": "6548c16d5136b418fd626e5b",
"bidirectional": false,
"source": {
"name": "French",
"code": "fr"
},
"target": {
"name": "English",
"code": "en"
}
},
"portal": {
"checklist": [],
"confirm": {
"acceptedDate": "2024-09-30T12:31:47.400Z",
"enabled": false,
"generatePurchaseOrderOnAcceptation": false,
"status": 1
},
"doneDate": "2024-09-30T12:31:47.400Z",
"enabled": true,
"reference": "bac767b351c6453bb9e05fc62563fc79",
"uploadFileOnGroup": false
},
"quantity": {
"catFile": {
"fileIds": []
},
"hasMatches": false,
"matches": [],
"matchesType": "fixed",
"quantityType": {
"id": "6548c16d5136b418fd626e61",
"name": "Words"
},
"unitCost": 0.12,
"unitCostPriceReference": {
"id": "6548c95375de6729750dfba0",
"type": "account"
},
"value": 1000
},
"service": {
"id": "6548c16d5136b418fd626e5f",
"name": "Translation"
},
"startDate": null,
"status": 4,
"subtotal": 120,
"supplier": {
"id": "6548c93c75de6729750dfb9c",
"name": "Caroline Dupont"
},
"total": 120,
"totalDetails": {
"extraCharge": {
"amount": 0,
"discount": 0,
"total": 0
},
"subtotal": {
"amount": 120,
"discount": 0,
"total": 120
},
"total": 120
}
}
List all outsourcing
This endpoint allows you to retrieve all the outsourced jobs. This endpoint is paginated.
Request
curl -G https://api.lsp.expert/v2/jobs/outsourcing/all \
-u {key}:
Response
{
"items": [
{
"id": "66825e48edde360f163d4e68",
"currency": {
"code": "EUR",
"symbol": "€"
},
"deliveryDate": "2024-09-30T12:31:47.400Z",
"discount": 0,
"dueDate": "2024-06-14T09:00:00.000Z",
"extraCharge": {
"amount": 0,
"percentage": 0,
"type": "percentage"
},
"languagePair": {
"id": "6548c16d5136b418fd626e5b",
"bidirectional": false,
"source": {
"name": "French",
"code": "fr"
},
"target": {
"name": "English",
"code": "en"
}
},
"portal": {
"checklist": [],
"confirm": {
"acceptedDate": "2024-09-30T12:31:47.400Z",
"enabled": false,
"generatePurchaseOrderOnAcceptation": false,
"status": 1
},
"doneDate": "2024-09-30T12:31:47.400Z",
"enabled": true,
"reference": "bac767b351c6453bb9e05fc62563fc79",
"uploadFileOnGroup": false
},
"quantity": {
"catFile": {
"fileIds": []
},
"hasMatches": false,
"matches": [],
"matchesType": "fixed",
"quantityType": {
"id": "6548c16d5136b418fd626e61",
"name": "Words"
},
"unitCost": 0.12,
"unitCostPriceReference": {
"id": "6548c95375de6729750dfba0",
"type": "account"
},
"value": 1000
},
"service": {
"id": "6548c16d5136b418fd626e5f",
"name": "Translation"
},
"startDate": null,
"status": 4,
"subtotal": 120,
"supplier": {
"id": "6548c93c75de6729750dfb9c",
"name": "Caroline Dupont"
},
"total": 120,
"totalDetails": {
"extraCharge": {
"amount": 0,
"discount": 0,
"total": 0
},
"subtotal": {
"amount": 120,
"discount": 0,
"total": 120
},
"total": 120
}
},
{...},
{...}
],
"pageSize": 20,
"page": 1,
"totalPages": 1,
"totalItems": 2,
"hasNextPage": false,
"hasPreviousPage": false
}
Create an outsourced job
This endpoint allows you to add a new outsourced job from a job.
Parameters
dueDatestring,null
The due date of the job.
languagePairstring
The language pair id.
quantitynumber
The quantity of the job.
quantityTypestring
The quantity type id.
servicestring
The service id.
startDatestring,null
The start date of the job.
supplierstring Required
The supplier id.
Request
curl https://api.lsp.expert/v2/jobs \
-u {key}: \
-d supplier="568bdb3b96fd75ea201566de" \
-d quantity=1000 \
-d quantityType="6548c16d5136b418fd626e61" \
-d service="6548c16d5136b418fd626e5f" \
-d languagePair="6548c16d5136b418fd626e5b" \
-d dueDate="2024-06-14T09:00:00.000Z" \
Response
{
"id": "66825e48edde360f163d4e68",
"currency": {
"code": "EUR",
"symbol": "€"
},
"discount": 0,
"dueDate": "2024-06-14T09:00:00.000Z",
"extraCharge": {
"amount": 0,
"percentage": 0,
"type": "percentage"
},
"languagePair": {
"id": "6548c16d5136b418fd626e5b",
"bidirectional": false,
"source": {
"name": "French",
"code": "fr"
},
"target": {
"name": "English",
"code": "en"
}
},
"portal": {
"checklist": [],
"confirm": {
"enabled": false,
"generatePurchaseOrderOnAcceptation": false,
"status": 1
},
"enabled": true,
"reference": "bac767b351c6453bb9e05fc62563fc79",
"uploadFileOnGroup": false
},
"quantity": {
"catFile": {
"fileIds": []
},
"hasMatches": false,
"matches": [],
"matchesType": "fixed",
"quantityType": {
"id": "6548c16d5136b418fd626e61",
"name": "Words"
},
"unitCost": 0.12,
"unitCostPriceReference": {
"id": "6548c95375de6729750dfba0",
"type": "account"
},
"value": 1000
},
"service": {
"id": "6548c16d5136b418fd626e5f",
"name": "Translation"
},
"startDate": null,
"status": 1,
"subtotal": 120,
"supplier": {
"id": "6548c93c75de6729750dfb9c",
"name": "Caroline Dupont"
},
"total": 120,
"totalDetails": {
"extraCharge": {
"amount": 0,
"discount": 0,
"total": 0
},
"subtotal": {
"amount": 120,
"discount": 0,
"total": 120
},
"total": 120
}
}
Retrieve all applicable prices
This endpoint allows you to retrieve all prices that are applicable to an outsourced job. This endpoint will return a list of supplier or account prices that can be used to calculate the cost of the job.
Query parameters
currencystring
The currency code (ISO, e.g., EUR).
serviceIdstring
The service id.
quantityTypeIdstring
The quantity type id.
languagePairIdstring
The language pair id.
domainIdstring
The domain of expertise id.
Request
curl https://api.lsp.expert/v2/jobs/6703c3db1efed1712305bc4e/outsourcing/66825e48edde360f163d4e68/prices \
-u {key}:
Response
[{
"id": "656dc10361046992e8dc95a5",
"currency": {
"code": "EUR",
"symbol": "€"
},
"matches": [],
"matchesType": "fixed",
"type": "account",
"unitCost": 0.12
}]
Update an outsourced job
This endpoint allows you to perform an update on an outsourced job. Any parameters not provided will be left unchanged.
Parameters
namestring,null
The name of the outsourced job (default is the name of the job).
deliveryDatestring,null
The delivery date of the job.
dueDatestring,null
The due date of the job.
languagePairstring,null
The language pair id.
quantitynumber
The quantity of the job.
quantityTypestring
The quantity type id.
servicestring
The service id.
startDatestring,null
The start date of the job.
statusnumber
One of the following value:
1
(not started),2
(in progress),3
(to be reviewed),4
(finished),5
(cancelled),6
(on hold).
Request
curl -X PUT https://api.lsp.expert/v2/jobs/6703c3db1efed1712305bc4e/outsourcing/66825e48edde360f163d4e68 \
-u {key}: \
-d status=4
Response
{
"id": "6669627c35076b408a557837",
// ...
"outsourcing": [
{
"id": "66825e48edde360f163d4e68",
"currency": {
"code": "EUR",
"symbol": "€"
},
"deliveryDate": "2024-09-30T12:31:47.400Z",
"discount": 0,
"dueDate": "2024-06-14T09:00:00.000Z",
"extraCharge": {
"amount": 0,
"percentage": 0,
"type": "percentage"
},
"languagePair": {
"id": "6548c16d5136b418fd626e5b",
"bidirectional": false,
"source": {
"name": "French",
"code": "fr"
},
"target": {
"name": "English",
"code": "en"
}
},
"portal": {
"checklist": [],
"confirm": {
"acceptedDate": "2024-09-30T12:31:47.400Z",
"enabled": false,
"generatePurchaseOrderOnAcceptation": false,
"status": 1
},
"doneDate": "2024-09-30T12:31:47.400Z",
"enabled": true,
"reference": "bac767b351c6453bb9e05fc62563fc79",
"uploadFileOnGroup": false
},
"quantity": {
"catFile": {
"fileIds": []
},
"hasMatches": false,
"matches": [],
"matchesType": "fixed",
"quantityType": {
"id": "6548c16d5136b418fd626e61",
"name": "Words"
},
"unitCost": 0.12,
"unitCostPriceReference": {
"id": "6548c95375de6729750dfba0",
"type": "account"
},
"value": 1000
},
"service": {
"id": "6548c16d5136b418fd626e5f",
"name": "Translation"
},
"startDate": null,
"status": 4,
"subtotal": 120,
"supplier": {
"id": "6548c93c75de6729750dfb9c",
"name": "Caroline Dupont"
},
"total": 120,
"totalDetails": {
"extraCharge": {
"amount": 0,
"discount": 0,
"total": 0
},
"subtotal": {
"amount": 120,
"discount": 0,
"total": 120
},
"total": 120
}
}]
}
Update the price
This endpoint allows you to perform an update on the price of an outsourced job. Any parameters not provided will be left unchanged.
Parameters
currencyCodestring
The currency code (ISO, e.g., EUR).
discountnumber
The discount applied.
extraChargeAmountnumber
extraChargeAmount
extraChargeDescriptionstring,null
extraChargeDescription
extraChargePercentagenumber
extraChargePercentage
extraChargeTypestring
One of the following value:
amount
,percentage
.fixedPricenumber,
fixedPrice
matchesTypestring
How the matches are calculated. Valid values are
fixed
orpercentage
.pricestring
price
unitCostnumber
The cost per unit.
Request
curl -X PUT https://api.lsp.expert/v2/jobs/6703c3db1efed1712305bc4e/outsourcing/66825e48edde360f163d4e68/price \
-u {key}: \
-d discount=0.1
Response
{
"id": "6669627c35076b408a557837",
// ...
"outsourcing": [
{
"supplier": {
"id": "6548c93c75de6729750dfb9c",
"name": "Caroline Dupont"
},
"quantity": {
"unitCostPriceReference": {
"type": "account",
"id": "6548c95375de6729750dfba0"
},
"quantityType": {
"id": "6548c16d5136b418fd626e61",
"name": "Words"
},
"catFile": {
"fileIds": []
},
"hasMatches": false,
"value": 1000,
"unitCost": 0.12,
"matchesType": "fixed",
"matches": []
},
"service": {
"id": "6548c16d5136b418fd626e5f",
"name": "Translation"
},
"languagePair": {
"source": {
"code": "fr",
"name": "French"
},
"target": {
"code": "en",
"name": "English"
},
"id": "6548c16d5136b418fd626e5b",
"bidirectional": false
},
"currency": {
"code": "EUR",
"symbol": "€"
},
"extraCharge": {
"type": "percentage",
"percentage": 0,
"amount": 0
},
"totalDetails": {
"subtotal": {
"amount": 120,
"discount": 0.12,
"total": 119.88
},
"extraCharge": {
"amount": 0,
"discount": 0,
"total": 0
},
"total": 119.88
},
"portal": {
"confirm": {
"enabled": false,
"generatePurchaseOrderOnAcceptation": false,
"status": 1,
"acceptedDate": "2024-09-30T12:31:47.400Z"
},
"enabled": true,
"uploadFileOnGroup": false,
"checklist": [],
"reference": "bac767b351c6453bb9e05fc62563fc79",
"doneDate": "2024-09-30T12:31:47.400Z"
},
"status": 4,
"discount": 0.001,
"subtotal": 120,
"total": 119.88,
"dueDate": "2024-06-14T09:00:00.000Z",
"startDate": null,
"deliveryDate": "2024-09-30T12:31:47.400Z",
"id": "66825e48edde360f163d4e68"
}
]
}
Delete an outsourced job
This endpoint allows you to delete an outsourced job.
Request
curl -X DELETE https://api.lsp.expert/v2/jobs/6703c3db1efed1712305bc4e/outsourcing/6669627c35076b408a557837 \
-u {key}:
Response
{
"id": "6669627c35076b408a557837",
// ...
"outsourcing": []
}
Add a match for an outsourced job
This endpoint allows you to add a match category on an outsourced job.
Parameters
matchstring Required
The match id.
quantitynumber Required
The quantity.
Request
curl https://api.lsp.expert/v2/jobs/6703c3db1efed1712305bc4e/outsourcing/66825e48edde360f163d4e68/matches \
-u {key}: \
-d match="655c61aa0ecf6202a9edb710" \
-d quantity=1000
Response
{
"id": "6669627c35076b408a557837",
// ...
"outsourcing": [
{
"supplier": {
"id": "6548c93c75de6729750dfb9c",
"name": "Caroline Dupont"
},
"quantity": {
"unitCostPriceReference": {
"type": "account",
"id": "6548c95375de6729750dfba0"
},
"quantityType": { "id": "6548c16d5136b418fd626e61", "name": "Words" },
"catFile": { "fileIds": [] },
"hasMatches": false,
"value": 1000,
"unitCost": 0.12,
"matchesType": "fixed",
"matches": [
{
"quantity": 1000,
"percentage": 1,
"id": "655c61aa0ecf6202a9edb710",
"name": "0%",
"unitCost": 0.12,
"total": 120
}
]
},
"service": { "id": "6548c16d5136b418fd626e5f", "name": "Translation" },
"languagePair": {
"source": { "code": "fr", "name": "French" },
"target": { "code": "en", "name": "English" },
"id": "6548c16d5136b418fd626e5b",
"bidirectional": false
},
"currency": { "code": "EUR", "symbol": "€" },
"extraCharge": { "type": "percentage", "percentage": 0, "amount": 0 },
"totalDetails": {
"subtotal": { "amount": 120, "discount": 0.12, "total": 119.88 },
"extraCharge": { "amount": 0, "discount": 0, "total": 0 },
"total": 119.88
},
"portal": {
"sentDateStatus": {
"status": "processed",
"updatedAt": "2024-10-14T08:58:16.749Z"
},
"confirm": {
"enabled": false,
"generatePurchaseOrderOnAcceptation": false,
"status": 1,
"acceptedDate": "2024-09-30T12:31:47.400Z"
},
"enabled": true,
"uploadFileOnGroup": false,
"checklist": [],
"reference": "bac767b351c6453bb9e05fc62563fc79",
"doneDate": "2024-09-30T12:31:47.400Z",
"sentDate": "2024-10-14T08:58:16.749Z"
},
"status": 4,
"discount": 0.001,
"subtotal": 120,
"total": 119.88,
"dueDate": "2024-06-14T09:00:00.000Z",
"deliveryDate": "2024-09-30T12:31:00.000Z",
"id": "66825e48edde360f163d4e68"
}
]
}
Update a match for an outsourced job
This endpoint allows you to update a match category on an outsourced job.
Parameters
percentagenumber
percentage
quantitynumber
The quantity
unitCostnumber
The cost per unit.
Request
curl https://api.lsp.expert/v2/jobs/6703c3db1efed1712305bc4e/outsourcing/66825e48edde360f163d4e68/matches/655c61aa0ecf6202a9edb710 \
-u {key}: \
-d unitCost=0.13
Response
{
"id": "6669627c35076b408a557837",
// ...
"outsourcing": [
{
"supplier": {
"id": "6548c93c75de6729750dfb9c",
"name": "Caroline Dupont"
},
"quantity": {
"unitCostPriceReference": {
"type": "account",
"id": "6548c95375de6729750dfba0"
},
"quantityType": { "id": "6548c16d5136b418fd626e61", "name": "Words" },
"catFile": { "fileIds": [] },
"hasMatches": false,
"value": 1000,
"unitCost": 0.12,
"matchesType": "fixed",
"matches": [
{
"quantity": 1000,
"percentage": 1,
"id": "655c61aa0ecf6202a9edb710",
"name": "0%",
"unitCost": 0.12,
"total": 120
}
]
},
"service": { "id": "6548c16d5136b418fd626e5f", "name": "Translation" },
"languagePair": {
"source": { "code": "fr", "name": "French" },
"target": { "code": "en", "name": "English" },
"id": "6548c16d5136b418fd626e5b",
"bidirectional": false
},
"currency": { "code": "EUR", "symbol": "€" },
"extraCharge": { "type": "percentage", "percentage": 0, "amount": 0 },
"totalDetails": {
"subtotal": { "amount": 120, "discount": 0.12, "total": 119.88 },
"extraCharge": { "amount": 0, "discount": 0, "total": 0 },
"total": 119.88
},
"portal": {
"sentDateStatus": {
"status": "processed",
"updatedAt": "2024-10-14T08:58:16.749Z"
},
"confirm": {
"enabled": false,
"generatePurchaseOrderOnAcceptation": false,
"status": 1,
"acceptedDate": "2024-09-30T12:31:47.400Z"
},
"enabled": true,
"uploadFileOnGroup": false,
"checklist": [],
"reference": "bac767b351c6453bb9e05fc62563fc79",
"doneDate": "2024-09-30T12:31:47.400Z",
"sentDate": "2024-10-14T08:58:16.749Z"
},
"status": 4,
"discount": 0.001,
"subtotal": 120,
"total": 119.88,
"dueDate": "2024-06-14T09:00:00.000Z",
"deliveryDate": "2024-09-30T12:31:00.000Z",
"id": "66825e48edde360f163d4e68"
}
]
}
Move a match for an outsourced job
This endpoint allows you to modify a match category order. Note that this order is used when adding a price.
Request
curl https://api.lsp.expert/v2/jobs/6703c3db1efed1712305bc4e/outsourcing/66825e48edde360f163d4e68/matches/655c61aa0ecf6202a9edb710/move/1 \
-u {key}: \
Response
{
"id": "6669627c35076b408a557837",
// ...
"outsourcing": [
{
"supplier": {
"id": "6548c93c75de6729750dfb9c",
"name": "Caroline Dupont"
},
"quantity": {
"unitCostPriceReference": {
"type": "account",
"id": "6548c95375de6729750dfba0"
},
"quantityType": { "id": "6548c16d5136b418fd626e61", "name": "Words" },
"catFile": { "fileIds": [] },
"hasMatches": false,
"value": 1000,
"unitCost": 0.12,
"matchesType": "fixed",
"matches": [
{
"quantity": 1000,
"percentage": 1,
"id": "655c61aa0ecf6202a9edb710",
"name": "0%",
"unitCost": 0.12,
"total": 120
}
]
},
"service": { "id": "6548c16d5136b418fd626e5f", "name": "Translation" },
"languagePair": {
"source": { "code": "fr", "name": "French" },
"target": { "code": "en", "name": "English" },
"id": "6548c16d5136b418fd626e5b",
"bidirectional": false
},
"currency": { "code": "EUR", "symbol": "€" },
"extraCharge": { "type": "percentage", "percentage": 0, "amount": 0 },
"totalDetails": {
"subtotal": { "amount": 120, "discount": 0.12, "total": 119.88 },
"extraCharge": { "amount": 0, "discount": 0, "total": 0 },
"total": 119.88
},
"portal": {
"sentDateStatus": {
"status": "processed",
"updatedAt": "2024-10-14T08:58:16.749Z"
},
"confirm": {
"enabled": false,
"generatePurchaseOrderOnAcceptation": false,
"status": 1,
"acceptedDate": "2024-09-30T12:31:47.400Z"
},
"enabled": true,
"uploadFileOnGroup": false,
"checklist": [],
"reference": "bac767b351c6453bb9e05fc62563fc79",
"doneDate": "2024-09-30T12:31:47.400Z",
"sentDate": "2024-10-14T08:58:16.749Z"
},
"status": 4,
"discount": 0.001,
"subtotal": 120,
"total": 119.88,
"dueDate": "2024-06-14T09:00:00.000Z",
"deliveryDate": "2024-09-30T12:31:00.000Z",
"id": "66825e48edde360f163d4e68"
}
]
}
Remove a match for a job
This endpoint allows you to remove a match category on a job.
Request
curl https://api.lsp.expert/v2/jobs/6703c3db1efed1712305bc4e/outsourcing/66825e48edde360f163d4e68/matches/655c61aa0ecf6202a9edb710 \
-u {key}:
Response
{
"id": "6669627c35076b408a557837",
// ...
"outsourcing": [
{
"id": "66825e48edde360f163d4e68",
"currency": {
"code": "EUR",
"symbol": "€"
},
"deliveryDate": "2024-09-30T12:31:47.400Z",
"discount": 0,
"dueDate": "2024-06-14T09:00:00.000Z",
"extraCharge": {
"amount": 0,
"percentage": 0,
"type": "percentage"
},
"languagePair": {
"id": "6548c16d5136b418fd626e5b",
"bidirectional": false,
"source": {
"name": "French",
"code": "fr"
},
"target": {
"name": "English",
"code": "en"
}
},
"portal": {
"checklist": [],
"confirm": {
"acceptedDate": "2024-09-30T12:31:47.400Z",
"enabled": false,
"generatePurchaseOrderOnAcceptation": false,
"status": 1
},
"doneDate": "2024-09-30T12:31:47.400Z",
"enabled": true,
"reference": "bac767b351c6453bb9e05fc62563fc79",
"uploadFileOnGroup": false
},
"quantity": {
"catFile": {
"fileIds": []
},
"hasMatches": false,
"matches": [],
"matchesType": "fixed",
"quantityType": {
"id": "6548c16d5136b418fd626e61",
"name": "Words"
},
"unitCost": 0.12,
"unitCostPriceReference": {
"id": "6548c95375de6729750dfba0",
"type": "account"
},
"value": 1000
},
"service": {
"id": "6548c16d5136b418fd626e5f",
"name": "Translation"
},
"startDate": null,
"status": 4,
"subtotal": 120,
"supplier": {
"id": "6548c93c75de6729750dfb9c",
"name": "Caroline Dupont"
},
"total": 120,
"totalDetails": {
"extraCharge": {
"amount": 0,
"discount": 0,
"total": 0
},
"subtotal": {
"amount": 120,
"discount": 0,
"total": 120
},
"total": 120
}
}]
}