Requires
write_product
access scope. More access scope
The Create Procurement API allows users to create a procurement record associated with a specific supplier. This is useful for managing procurement processes by linking them to suppliers and adding any relevant notes.This API is especially useful for:
- Recording procurement actions for inventory management.
- Associating procurement records with specific suppliers.
- Storing notes or comments about procurement for reference.
Note: The operation is scoped to a specific shop, identified by its unique domain prefix (shopdomain
), ensuring all records are tied 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
Body Parameters
Parameter | Type | Required | Example | Description |
---|---|---|---|---|
procurement | object | Yes | Object containing procurement details. | |
procurement.supplier_id | string | Yes | "382453603865993516" | ID of the supplier for this procurement. |
procurement.note | string | No | "Procurement of electronics" | Optional note or comment about the procurement. |
Response Explanation
Successful Response
Field | Type | Example | Description |
---|---|---|---|
procurement | object | Object containing procurement details. | |
procurement.id | string | "928374928374982734" | Unique identifier of the procurement record. |
procurement.supplier_id | string | "382453603865993516" | ID of the supplier associated with the procurement. |
procurement.note | string | "Procurement of electronics" | Note or comment added to the procurement. |
procurement.created_at | string | "2024-05-21T08:56:15Z" | Timestamp when the procurement was created. |
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 --request POST \
--url https://{shopdomain}.myshoplazza.com/openapi/2022-01/procurements \
--header 'accept: application/json' \
--header 'content-type: application/json' \
--header 'access-token: <YOUR_ACCESS_TOKEN>' \
--data '{
"procurement": {
"supplier_id": "382453603865993516",
"note": "Procurement of electronics"
}
}'
}'
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 | Example Response | Possible Reason |
---|---|---|---|
400 | Bad Request | Bad Request | Invalid input format or request structure (e.g., missing required fields or incorrect data types). |
Unauthorized | Unauthorized | The request is missing valid authentication credentials or the credentials provided are invalid. | |
422 | Invalid or empty supplier_id | { "errors": [ "Supplier not found"]} | missing required supplier_id or supplier_id with incorrect UUID types |