Skip to main content

Ordering Notifications

Notifications are set up as part of your ordering request. You will set the notification type, the target where the notification will be sent, and level that adjusts how many notifications you will get. You can specify more than one type of notification if needed.

Notification type

The following notification types are supported:

Notification TypeAllowed Value
emailA valid email address
snsA valid Amazon Simple Notification Service (SNS) topic ARN
httpA valid HTTP address

Notification levels

Notification LevelDescriptionStatus
INITIAL_FINALSend notifications when the request is first accepted into the system and when the process completes."RECEIVED," "SUCCESS," "FAIL," "CANCELED," or "ERROR"
FINAL_ONLYSend a notification when the process is complete."SUCCESS", "FAIL", "FINAL", "CANCELED", or "ERROR".
INTERMEDIATESend notifications as the process moves from state to state.For example, notify when order moves from "RECEIVED" to "IN_PROGRESS".
ON_FAILSend notifications only when the process has failed or errored."FAIL" or "ERROR"

Multiple notifications of the same type or different types can be created. Each type will have its own notification level. If a notification level is not specified, the default level is FINAL_ONLY.

Notification targets

Email notification

Email notifications take a comma separated list of email addresses.

Example notification configuration for type email:

 "notifications": [{
"type": "email",
"target": "username@myemail.com",
"level": "FINAL_ONLY"
}]

Successful order email notification example:

order success email notification

Failed order email notification example:

order success email notification

SNS notification

Amazon Simple Notification Service (SNS) topic notifications are configured with your organization's topic ARN. Your topic policy may need to be updated to allow for publication by Maxar.

Example SNS notification for regular topics:

{
"type": "sns",
"target": "arn:aws:sns:us-east-2:123456789012:YourTopic",
"level": "FINAL_ONLY",
}

If your topic is First In, First Out (FIFO), an additional config section is needed with two required attributes:

  • requires_message_group_id (boolean, required): set this true.
  • requires_message_deduplication_id (boolean, required): If set to true, a unique Deduplication ID will be added to each message. If your topic uses Content Deduplication this can be set to false.

Example SNS notification for FIFO topics:

{
"type": "sns",
"target": "arn:aws:sns:us-east-2:123456789012:YourTopic",
"config": {
"requires_message_group_id": true,
"requires_message_deduplication_id": false,
},
"level": "FINAL_ONLY",
}

To allow Maxar to publish to your topic, you can grant the principal arn:aws:iam::258652954197:root the sns:Publish action.

An example of a basic policy statement to allow MGP to publish would look like:

{
"Statement": [
{
"Sid": "Allow-MGP-Notifications",
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::258652954197:root"
},
"Action": [
"sns:Publish",
],
"Resource": "arn:aws:sns:your_region:123456789012:YourTopicName"
}
]
}

The message payload is a JSON object:

{
"order_id": {order id},
"status": {order status},
"status_details": {order status details},
"process_details": {order process details},
"metadata": {order metadata},
"pipeline_id": {pipeline id},
"order_url": https://api.maxar.com/ordering/v1/orders/:order_id,
"order_events_url": https://api.maxar.com/ordering/v1/orders/:order_id/events",
"user": {dictionary containing user info},
}

HTTP notification

HTTP notifications allow MGP to HTTP POST a JSON formatted notification message to an HTTP endpoint.

HTTP notification request objects have an optional config section that can add custom HTTP headers to the callback request. For example, you could provide an HTTP authorization header if the receiving endpoint requires credentials.

Example HTTP Notification type:

{
"type": "http",
"target": "https://your-service-url/notify/",
"config": {
"headers": {
"Authorization": "Bearer 12345",
"X-CUSTOM-HEADER": "some value",
}
},
"level": "INTERMEDIATE",
}

The body of the HTTP request is the same event object as shown above for the SNS notification.