Create Procurement

🔒

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:

  1. Recording procurement actions for inventory management.
  2. Associating procurement records with specific suppliers.
  3. 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 NameTypeRequiredParameter LocationParameter ValueDescription
Access-TokenStringYesHeaderBx-_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-TypeStringYesHeaderapplication
/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 NameTypeMandatoryParameter LocationExample ValueDescription
errorStringNoResponse 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" }.
errorsArrayNoResponse Body{ "errors"["invalid id"] }A list of errors that occurred during the request processing. Example: { "errors": [ "No Context" ] }.
Request-IdStringYesHeaderBx-_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

ParameterTypeRequiredExampleDescription
procurementobjectYesObject containing procurement details.
procurement.supplier_idstringYes"382453603865993516"ID of the supplier for this procurement.
procurement.notestringNo"Procurement of electronics"Optional note or comment about the procurement.

Response Explanation

Successful Response

FieldTypeExampleDescription
procurementobjectObject containing procurement details.
procurement.idstring"928374928374982734"Unique identifier of the procurement record.
procurement.supplier_idstring"382453603865993516"ID of the supplier associated with the procurement.
procurement.notestring"Procurement of electronics"Note or comment added to the procurement.
procurement.created_atstring"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.

FieldTypeExampleDescription
errorsArray["Supplier not found"]A list of errors encountered during the request processing.
FieldTypeExampleDescription
errorArray"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 CodeMessageExample ResponsePossible Reason
400Bad RequestBad RequestInvalid input format or request structure (e.g., missing required fields or incorrect data types).
UnauthorizedUnauthorizedThe request is missing valid authentication credentials or the credentials provided are invalid.
422Invalid or empty supplier_id{ "errors": [ "Supplier not found"]}missing required supplier_id or supplier_id with incorrect UUID types
Language
Credentials
Header
URL
Click Try It! to start a request and see the response here!