AWS Supply Chain 2024-01-01
- Client: Aws\SupplyChain\SupplyChainClient
- Service ID: supplychain
- Version: 2024-01-01
This page describes the parameters and results for the operations of the AWS Supply Chain (2024-01-01), and shows how to use the Aws\SupplyChain\SupplyChainClient object to call the described operations. This documentation is specific to the 2024-01-01 API version of the service.
Operation Summary
Each of the following operations can be created from a client using
$client->getCommand('CommandName')
, where "CommandName" is the
name of one of the following operations. Note: a command is a value that
encapsulates an operation and the parameters used to create an HTTP request.
You can also create and send a command immediately using the magic methods
available on a client object: $client->commandName(/* parameters */)
.
You can send the command asynchronously (returning a promise) by appending the
word "Async" to the operation name: $client->commandNameAsync(/* parameters */)
.
- CreateBillOfMaterialsImportJob ( array $params = [] )
CreateBillOfMaterialsImportJob creates an import job for the Product Bill Of Materials (BOM) entity.
- GetBillOfMaterialsImportJob ( array $params = [] )
Get status and details of a BillOfMaterialsImportJob.
- SendDataIntegrationEvent ( array $params = [] )
Send transactional data events with real-time data for analysis or monitoring.
Operations
CreateBillOfMaterialsImportJob
$result = $client->createBillOfMaterialsImportJob
([/* ... */]); $promise = $client->createBillOfMaterialsImportJobAsync
([/* ... */]);
CreateBillOfMaterialsImportJob creates an import job for the Product Bill Of Materials (BOM) entity. For information on the product_bom entity, see the AWS Supply Chain User Guide.
The CSV file must be located in an Amazon S3 location accessible to AWS Supply Chain. It is recommended to use the same Amazon S3 bucket created during your AWS Supply Chain instance creation.
Parameter Syntax
$result = $client->createBillOfMaterialsImportJob([ 'clientToken' => '<string>', 'instanceId' => '<string>', // REQUIRED 's3uri' => '<string>', // REQUIRED ]);
Parameter Details
Members
- clientToken
-
- Type: string
An idempotency token.
- instanceId
-
- Required: Yes
- Type: string
The AWS Supply Chain instance identifier.
- s3uri
-
- Required: Yes
- Type: string
The S3 URI of the CSV file to be imported. The bucket must grant permissions for AWS Supply Chain to read the file.
Result Syntax
[ 'jobId' => '<string>', ]
Result Details
Members
- jobId
-
- Required: Yes
- Type: string
The new BillOfMaterialsImportJob identifier.
Errors
-
ServiceQuotaExceededException:
Request would cause a service quota to be exceeded.
-
Request was denied due to request throttling.
-
Request references a resource which does not exist.
-
You do not have the required privileges to perform this action.
-
The input does not satisfy the constraints specified by an AWS service.
-
Unexpected error during processing of request.
-
Updating or deleting a resource can cause an inconsistent state.
Examples
Example 1: Invoke CreateBillOfMaterialsImportJob
$result = $client->createBillOfMaterialsImportJob([ 'clientToken' => '550e8400-e29b-41d4-a716-446655440000', 'instanceId' => '60f82bbd-71f7-4fcd-a941-472f574c5243', 's3uri' => 's3://mybucketname/pathelemene/file.csv', ]);
Result syntax:
[ 'jobId' => 'f79b359b-1515-4436-a3bf-bae7b33e47b4', ]
GetBillOfMaterialsImportJob
$result = $client->getBillOfMaterialsImportJob
([/* ... */]); $promise = $client->getBillOfMaterialsImportJobAsync
([/* ... */]);
Get status and details of a BillOfMaterialsImportJob.
Parameter Syntax
$result = $client->getBillOfMaterialsImportJob([ 'instanceId' => '<string>', // REQUIRED 'jobId' => '<string>', // REQUIRED ]);
Parameter Details
Members
- instanceId
-
- Required: Yes
- Type: string
The AWS Supply Chain instance identifier.
- jobId
-
- Required: Yes
- Type: string
The BillOfMaterialsImportJob identifier.
Result Syntax
[ 'job' => [ 'instanceId' => '<string>', 'jobId' => '<string>', 'message' => '<string>', 's3uri' => '<string>', 'status' => 'NEW|FAILED|IN_PROGRESS|QUEUED|SUCCESS', ], ]
Result Details
Members
- job
-
- Required: Yes
- Type: BillOfMaterialsImportJob structure
The BillOfMaterialsImportJob.
Errors
-
ServiceQuotaExceededException:
Request would cause a service quota to be exceeded.
-
Request references a resource which does not exist.
-
Request was denied due to request throttling.
-
You do not have the required privileges to perform this action.
-
The input does not satisfy the constraints specified by an AWS service.
-
Unexpected error during processing of request.
-
Updating or deleting a resource can cause an inconsistent state.
Examples
Example 1: Invoke GetBillOfMaterialsImportJob for a successful job
$result = $client->getBillOfMaterialsImportJob([ 'instanceId' => '60f82bbd-71f7-4fcd-a941-472f574c5243', 'jobId' => 'f79b359b-1515-4436-a3bf-bae7b33e47b4', ]);
Result syntax:
[ 'job' => [ 'instanceId' => '60f82bbd-71f7-4fcd-a941-472f574c5243', 'jobId' => 'f79b359b-1515-4436-a3bf-bae7b33e47b4', 'message' => 'Import job completed successfully.', 's3uri' => 's3://mybucketname/pathelemene/file.csv', 'status' => 'SUCCESS', ], ]
Example 2: Invoke GetBillOfMaterialsImportJob for an in-progress job
$result = $client->getBillOfMaterialsImportJob([ 'instanceId' => '60f82bbd-71f7-4fcd-a941-472f574c5243', 'jobId' => 'f79b359b-1515-4436-a3bf-bae7b33e47b4', ]);
Result syntax:
[ 'job' => [ 'instanceId' => '60f82bbd-71f7-4fcd-a941-472f574c5243', 'jobId' => 'f79b359b-1515-4436-a3bf-bae7b33e47b4', 's3uri' => 's3://mybucketname/pathelemene/file.csv', 'status' => 'IN_PROGRESS', ], ]
SendDataIntegrationEvent
$result = $client->sendDataIntegrationEvent
([/* ... */]); $promise = $client->sendDataIntegrationEventAsync
([/* ... */]);
Send transactional data events with real-time data for analysis or monitoring.
Parameter Syntax
$result = $client->sendDataIntegrationEvent([ 'clientToken' => '<string>', 'data' => '<string>', // REQUIRED 'eventGroupId' => '<string>', // REQUIRED 'eventTimestamp' => <integer || string || DateTime>, 'eventType' => 'scn.data.forecast|scn.data.inventorylevel|scn.data.inboundorder|scn.data.inboundorderline|scn.data.inboundorderlineschedule|scn.data.outboundorderline|scn.data.outboundshipment|scn.data.processheader|scn.data.processoperation|scn.data.processproduct|scn.data.reservation|scn.data.shipment|scn.data.shipmentstop|scn.data.shipmentstoporder|scn.data.supplyplan', // REQUIRED 'instanceId' => '<string>', // REQUIRED ]);
Parameter Details
Members
- clientToken
-
- Type: string
The idempotent client token.
- data
-
- Required: Yes
- Type: string
The data payload of the event.
- eventGroupId
-
- Required: Yes
- Type: string
Event identifier (for example, orderId for InboundOrder) used for data sharing or partitioning.
- eventTimestamp
-
- Type: timestamp (string|DateTime or anything parsable by strtotime)
The event timestamp (in epoch seconds).
- eventType
-
- Required: Yes
- Type: string
The data event type.
- instanceId
-
- Required: Yes
- Type: string
The AWS Supply Chain instance identifier.
Result Syntax
[ 'eventId' => '<string>', ]
Result Details
Members
- eventId
-
- Required: Yes
- Type: string
The unique event identifier.
Errors
-
ServiceQuotaExceededException:
Request would cause a service quota to be exceeded.
-
Request references a resource which does not exist.
-
Request was denied due to request throttling.
-
You do not have the required privileges to perform this action.
-
The input does not satisfy the constraints specified by an AWS service.
-
Unexpected error during processing of request.
-
Updating or deleting a resource can cause an inconsistent state.
Examples
Example 1: Successful SendDataIntegrationEvent for inboundorder event type
$result = $client->sendDataIntegrationEvent([ 'data' => '{"id": "inbound-order-id-test-123", "tpartner_id": "partner-id-test-123" }', 'eventGroupId' => 'inboundOrderId', 'eventTimestamp' =>, 'eventType' => 'scn.data.inboundorder', 'instanceId' => '8928ae12-15e5-4441-825d-ec2184f0a43a', ]);
Result syntax:
[ 'eventId' => 'c4132c1d-8f60-44a2-9932-f723c4f7b8a7', ]
Example 2: Successful SendDataIntegrationEvent for inboundorderline event type
$result = $client->sendDataIntegrationEvent([ 'data' => '{"id": "inbound-order-line-id-test-123", "order_id": "order-id-test-123", "tpartner_id": "partner-id-test-123", "product_id": "product-id-test-123", "quantity_submitted": "100.0" }', 'eventGroupId' => 'inboundOrderLineId', 'eventTimestamp' =>, 'eventType' => 'scn.data.inboundorderline', 'instanceId' => '8928ae12-15e5-4441-825d-ec2184f0a43a', ]);
Result syntax:
[ 'eventId' => '45d95db2-d106-40e0-aa98-f1204230a691', ]
Example 3: Successful SendDataIntegrationEvent for inboundorderlineschedule event type
$result = $client->sendDataIntegrationEvent([ 'data' => '{"id": "inbound-order-line-schedule-id-test-123", "order_id": "order-id-test-123", "order_line_id": "order-line-id-test-123", "product_id": "product-id-test-123"}', 'eventGroupId' => 'inboundOrderLineScheduleId', 'eventTimestamp' =>, 'eventType' => 'scn.data.inboundorderlineschedule', 'instanceId' => '8928ae12-15e5-4441-825d-ec2184f0a43a', ]);
Result syntax:
[ 'eventId' => '5abba995-7735-4d1e-95c4-7cc93e48cf9f', ]
Example 4: Successful SendDataIntegrationEvent for forecast event type
$result = $client->sendDataIntegrationEvent([ 'data' => '{"snapshot_date": "1672470400000", "product_id": "product-id-test-123", "site_id": "site-id-test-123", "region_id": "region-id-test-123", "product_group_id": "product-group-id-test-123", "forecast_start_dttm": "1672470400000", "forecast_end_dttm": "1672470400000" }', 'eventGroupId' => 'forecastId', 'eventTimestamp' =>, 'eventType' => 'scn.data.forecast', 'instanceId' => '8928ae12-15e5-4441-825d-ec2184f0a43a', ]);
Result syntax:
[ 'eventId' => '29312d5b-f499-4dcd-b017-3dab3cd34d61', ]
Example 5: Successful SendDataIntegrationEvent for inventorylevel event type
$result = $client->sendDataIntegrationEvent([ 'data' => '{"snapshot_date": "1672470400000", "site_id": "site-id-test-123", "product_id": "product-id-test-123", "on_hand_inventory": "100.0", "inv_condition": "good", "lot_number": "lot-number-test-123"}', 'eventGroupId' => 'inventoryLevelId', 'eventTimestamp' =>, 'eventType' => 'scn.data.inventorylevel', 'instanceId' => '8928ae12-15e5-4441-825d-ec2184f0a43a', ]);
Result syntax:
[ 'eventId' => '3aa78324-acd8-4fdd-a19e-231ea003c2b3', ]
Example 6: Successful SendDataIntegrationEvent for outboundorderline event type
$result = $client->sendDataIntegrationEvent([ 'data' => '{"id": "outbound-orderline-id-test-123", "cust_order_id": "cust-order-id-test-123", "product_id": "product-id-test-123" }', 'eventGroupId' => 'outboundOrderLineId', 'eventTimestamp' =>, 'eventType' => 'scn.data.outboundorderline', 'instanceId' => '8928ae12-15e5-4441-825d-ec2184f0a43a', ]);
Result syntax:
[ 'eventId' => '959b7ef9-5e2d-4795-b1ca-5b16a3eb6b89', ]
Example 7: Successful SendDataIntegrationEvent for outboundshipment event type
$result = $client->sendDataIntegrationEvent([ 'data' => '{"id": "outbound-shipment-id-test-123", "cust_order_id": "cust-order-id-test-123", "cust_order_line_id": "cust-order-line-id-test-123", "product_id": "product-id-test-123" }', 'eventGroupId' => 'outboundShipmentId', 'eventTimestamp' =>, 'eventType' => 'scn.data.outboundshipment', 'instanceId' => '8928ae12-15e5-4441-825d-ec2184f0a43a', ]);
Result syntax:
[ 'eventId' => '59feded3-5e46-4126-81bf-0137ca176ee0', ]
Example 8: Successful SendDataIntegrationEvent for processheader event type
$result = $client->sendDataIntegrationEvent([ 'data' => '{"process_id": "process-id-test-123" }', 'eventGroupId' => 'processHeaderId', 'eventTimestamp' =>, 'eventType' => 'scn.data.processheader', 'instanceId' => '8928ae12-15e5-4441-825d-ec2184f0a43a', ]);
Result syntax:
[ 'eventId' => '564130eb-2d8a-4550-a768-ddf0daf7b4a9', ]
Example 9: Successful SendDataIntegrationEvent for processoperation event type
$result = $client->sendDataIntegrationEvent([ 'data' => '{"process_operation_id": "process-operation-id-test-123", "process_id": "process-id-test-123" }', 'eventGroupId' => 'processOperationId', 'eventTimestamp' =>, 'eventType' => 'scn.data.processoperation', 'instanceId' => '8928ae12-15e5-4441-825d-ec2184f0a43a', ]);
Result syntax:
[ 'eventId' => 'db5df408-89c7-4b9f-a326-016f6c2b3396', ]
Example 10: Successful SendDataIntegrationEvent for processproduct event type
$result = $client->sendDataIntegrationEvent([ 'data' => '{"process_product_id": "process-product-id-test-123", "process_id": "process-id-test-123" }', 'eventGroupId' => 'processProductId', 'eventTimestamp' =>, 'eventType' => 'scn.data.processproduct', 'instanceId' => '8928ae12-15e5-4441-825d-ec2184f0a43a', ]);
Result syntax:
[ 'eventId' => '6929b275-485e-4035-a798-99077ca6d669', ]
Example 11: Successful SendDataIntegrationEvent for reservation event type
$result = $client->sendDataIntegrationEvent([ 'data' => '{"reservation_id": "reservation-id-test-123", "reservation_detail_id": "reservation-detail-id-test-123" }', 'eventGroupId' => 'reservationId', 'eventTimestamp' =>, 'eventType' => 'scn.data.reservation', 'instanceId' => '8928ae12-15e5-4441-825d-ec2184f0a43a', ]);
Result syntax:
[ 'eventId' => 'f6c55a8b-fde2-44f6-848a-9b4336c77209', ]
Example 12: Successful SendDataIntegrationEvent for shipment event type
$result = $client->sendDataIntegrationEvent([ 'data' => '{"id": "shipment-id-test-123", "supplier_tpartner_id": "supplier-tpartner-id-test-123", "product_id": "product-id-test-123", "order_id": "order-id-test-123", "order_line_id": "order-line-id-test-123", "package_id": "package-id-test-123" }', 'eventGroupId' => 'shipmentId', 'eventTimestamp' =>, 'eventType' => 'scn.data.shipment', 'instanceId' => '8928ae12-15e5-4441-825d-ec2184f0a43a', ]);
Result syntax:
[ 'eventId' => '61d079d8-3f56-49bb-b35a-c0271a4e4f0a', ]
Example 13: Successful SendDataIntegrationEvent for shipmentstop event type
$result = $client->sendDataIntegrationEvent([ 'data' => '{"shipment_stop_id": "shipment-stop-id-test-123", "shipment_id": "shipment-id-test-123" }', 'eventGroupId' => 'shipmentStopId', 'eventTimestamp' =>, 'eventType' => 'scn.data.shipmentstop', 'instanceId' => '8928ae12-15e5-4441-825d-ec2184f0a43a', ]);
Result syntax:
[ 'eventId' => '3610992a-fc2f-4da4-9beb-724994622ba1', ]
Example 14: Successful SendDataIntegrationEvent for shipmentstoporder event type
$result = $client->sendDataIntegrationEvent([ 'data' => '{"shipment_stop_order_id": "shipment-stop-order-id-test-123", "shipment_stop_id": "shipment-stop-id-test-123", "shipment_id": "shipment-id-test-123" }', 'eventGroupId' => 'shipmentStopOrderId', 'eventTimestamp' =>, 'eventType' => 'scn.data.shipmentstoporder', 'instanceId' => '8928ae12-15e5-4441-825d-ec2184f0a43a', ]);
Result syntax:
[ 'eventId' => '1d550a60-9321-4d25-a132-9dd4b2d9e934', ]
Example 15: Successful SendDataIntegrationEvent for supplyplan event type
$result = $client->sendDataIntegrationEvent([ 'data' => '{"supply_plan_id": "supply-plan-id-test-123" }', 'eventGroupId' => 'supplyPlanId', 'eventTimestamp' =>, 'eventType' => 'scn.data.supplyplan', 'instanceId' => '8928ae12-15e5-4441-825d-ec2184f0a43a', ]);
Result syntax:
[ 'eventId' => '9abaee56-5dc4-4c31-8250-3206a651d8a1', ]
Shapes
AccessDeniedException
Description
You do not have the required privileges to perform this action.
Members
- message
-
- Type: string
BillOfMaterialsImportJob
Description
The BillOfMaterialsImportJob details.
Members
- instanceId
-
- Required: Yes
- Type: string
The BillOfMaterialsImportJob instanceId.
- jobId
-
- Required: Yes
- Type: string
The BillOfMaterialsImportJob jobId.
- message
-
- Type: string
When the BillOfMaterialsImportJob has reached a terminal state, there will be a message.
- s3uri
-
- Required: Yes
- Type: string
The S3 URI from which the CSV is read.
- status
-
- Required: Yes
- Type: string
The BillOfMaterialsImportJob ConfigurationJobStatus.
ConflictException
Description
Updating or deleting a resource can cause an inconsistent state.
Members
- message
-
- Type: string
InternalServerException
Description
Unexpected error during processing of request.
Members
- message
-
- Type: string
ResourceNotFoundException
Description
Request references a resource which does not exist.
Members
- message
-
- Type: string
ServiceQuotaExceededException
Description
Request would cause a service quota to be exceeded.
Members
- message
-
- Type: string
ThrottlingException
Description
Request was denied due to request throttling.
Members
- message
-
- Type: string
ValidationException
Description
The input does not satisfy the constraints specified by an AWS service.
Members
- message
-
- Type: string