SDK for PHP 3.x

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.

ThrottlingException:

Request was denied due to request throttling.

ResourceNotFoundException:

Request references a resource which does not exist.

AccessDeniedException:

You do not have the required privileges to perform this action.

ValidationException:

The input does not satisfy the constraints specified by an AWS service.

InternalServerException:

Unexpected error during processing of request.

ConflictException:

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.

ResourceNotFoundException:

Request references a resource which does not exist.

ThrottlingException:

Request was denied due to request throttling.

AccessDeniedException:

You do not have the required privileges to perform this action.

ValidationException:

The input does not satisfy the constraints specified by an AWS service.

InternalServerException:

Unexpected error during processing of request.

ConflictException:

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.

ResourceNotFoundException:

Request references a resource which does not exist.

ThrottlingException:

Request was denied due to request throttling.

AccessDeniedException:

You do not have the required privileges to perform this action.

ValidationException:

The input does not satisfy the constraints specified by an AWS service.

InternalServerException:

Unexpected error during processing of request.

ConflictException:

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