Requires
write_product
access scope. More access scope
The Update Procurement API allows updating the details of an existing procurement record, such as its supplier, note, or other properties. This enables users to modify procurement data efficiently.This API is especially useful for:
- Updating supplier or notes information for procurement records.
- Managing and tracking procurement details over time.
- Reviewing procurement notes and updates for auditing.
Note: The operation is scoped to a specific shop, identified by its unique domain prefix (shopdomain
), ensuring all updates are applied to the correct store.
Public Request Parameters
Parameter Name | Type | Required | Parameter Location | Parameter Value | Description |
---|---|---|---|---|---|
Access-Token | String | Yes | Header | Bx-_5aV eXNwl-4AB98s5xLV yg0fNzGf MuTpqtlBA | Used to authenticate API requests. Obtain an access token from the Access Token Guide. Pass it in the Authorization header for every request. |
Content-Type | String | Yes | Header | application /json | Indicates the media type of the request body. It tells the server how to parse the request and the client how to interpret the response. For more details, visit Content-Type. |
Public Response Parameters
Parameter Name | Type | Mandatory | Parameter Location | Example Value | Description |
---|---|---|---|---|---|
error | String | No | Response Body | { "error": "store is not active" } | Indicates an error encountered during the process. This field typically appears when the Access Token is missing or invalid. Example: { "error": "store is not active" } . |
errors | Array | No | Response Body | { "errors"["invalid id"] } | A list of errors that occurred during the request processing. Example: { "errors": [ "No Context" ] } . |
Request-Id | String | Yes | Header | Bx-_5aV eXNwl-4AB98s5xLV yg0fNzGf MuTpqtlBA | A unique identifier for each request. It helps in identifying and debugging specific requests. |
Error and Errors Clarification:
Added explanation that the error and errors fields are currently dependent on the API implementation, with plans for future unification.
Request Parameters
Path Parameters
Parameter | Type | Required | Example | Description |
---|---|---|---|---|
id | string | Yes | 382454149549138220 | The unique identifier of the procurement record to update. |
Body Parameters
Parameter | Type | Required | Example | Description |
---|---|---|---|---|
procurement | object | No | ||
procurement.supplier_id | string | No | "382453603865993516" | The unique identifier of the supplier. |
procurement.note | string | No | "test note" | Notes or additional details about the procurement. |
Response Explanation
Successful Response
Parameter | Type | Example | Description |
---|---|---|---|
procurement.id | string | "382451985837728044" | The unique identifier of the procurement record. |
procurement.procurement_sn | string | "00000002" | The procurement serial number. |
procurement.supplier_id | string | "382411381263052204" | The unique identifier of the supplier. |
procurement.location_id | string | "190035786870033452" | The unique identifier of the location. |
procurement.note | string | "testaaa" | Notes or additional details about the procurement. |
procurement.state | integer | 1 | The state of the procurement. Accepted values:1 (waiting for stock), 2 (partial receipt), 3 (complete receipt), 4 (cancelled). |
procurement.pending_quantity | integer | 0 | The quantity of items still pending delivery. |
procurement.received_quantity | integer | 0 | The quantity of items received. |
procurement.rejected_quantity | integer | 0 | The quantity of items rejected. |
procurement.transfer_quantity | integer | 0 | The quantity of items transferred. |
procurement.created_by | string | "" | The user who created the procurement record. |
procurement.created_at | string | "2024-05-21T08:47:39Z" | The date and time when the procurement was created. |
procurement.updated_at | string | "2024-05-21T08:50:36Z" | The date and time when the procurement was last updated. |
Error Response
Error responses in the API can be represented using two different fields: errors
and error
. Both fields provide details about issues encountered during request processing. Below is an explanation of the fields with their respective examples and descriptions.
Field | Type | Example | Description |
---|---|---|---|
errors | Array | ["Supplier not found"] | A list of errors encountered during the request processing. |
Field | Type | Example | Description |
---|---|---|---|
error | Array | "error": "store is not active" | Indicates an error encountered during the process. |
Request Examples
curl -X PUT https://{shopdomain}.myshoplaza.com/openapi/2022-01/procurements/{id} \
-H "Authorization: Bearer <ACCESS_TOKEN>" \
-H "Content-Type: application/json" \
-d '{
"procurement": {
"supplier_id": "382453603865993516",
"note": "Updated procurement note"
}
}'
Success Response Example
{
"procurement": {
"id": "382451985837728044",
"procurement_sn": "00000002",
"supplier_id": "382411381263052204",
"location_id": "190035786870033452",
"note": "testaaa",
"state": 1,
"pending_quantity": 0,
"received_quantity": 0,
"rejected_quantity": 0,
"transfer_quantity": 0,
"created_by": "",
"created_at": "2024-05-21T08:47:39Z",
"updated_at": "2024-05-21T08:50:36Z"
}
}
}
Error Response Example
{
"errors": [
"Supplier not found"
]
}
}
{
"error": "Supplier not found"}
}
Error Details
Status Code | Message | Possible Reason | Example Response |
---|---|---|---|
400 | Bad Request | Invalid input format or request structure (e.g., missing required fields or incorrect data types). | { "errors": [ "invalid procurement_id"]} |
Unauthorized | The request is missing valid authentication credentials or the credentials provided are invalid. | Unauthorized | |
422 | Invalid or empty supplier_id | missing required supplier_id or supplier_id with incorrect UUID types | { "errors": [ "Supplier not found"]} |
supplier_id is not found | Providedsupplier_id is not found | { "errors": [ "Supplier not found"]} | |
404 | procurement_id is not found | Providedprocurement_id is not found | { "errors": [ "Procurement not found"]} |