Skip to main content

Simulate Card Order Fulfillment

Overview

test with dummy data

Do not enter production data in the Test environment. The Highnote Test environment is for exploring features and training. Use only dummy or test data.

Highnote offers simulations for individual and group physical card order fulfillment. In the Test environment, physical card orders are not physically shipped. You can use these simulations to test the following:

  • Your card product's physical card order flow
  • Notification events

This guide provides steps for simulating physical card order fulfillment for individual and group card orders.

Prerequisites

Card order fulfillment lifecycle

When any type of card order is placed, the order follows the following sequence:

  1. Card order is sent to the printer.
  2. The shipment is approved.
  3. The card order is shipped.
  4. Optional - The card order fails.

You can use the Highnote API to update the status of a physical card order and simulate the card order lifecycle to test your integration.

Simulate individual card order fulfillment

Use the following sections to simulate an individual card order.

Send to printer

Once you have created a physical card order with a status of NEW, you can transition it to SENT_TO_PRINTER.

Use the following mutation to simulate sending a physical payment card order to the printer:

simulatePhysicalPaymentCardOrderSendToPrinter
Query
mutation simulatePhysicalPaymentCardOrderSendToPrinter(
$input: SimulatePhysicalPaymentCardSendToPrinterInput!
) {
simulatePhysicalPaymentCardOrderSendToPrinter(input: $input) {
__typename
... on PhysicalPaymentCardOrder {
id
orderState {
status
}
cardPersonalization {
textLines {
line1
line2
}
}
paymentCardShipment {
courier {
method
signatureRequiredOnDelivery
tracking {
trackingNumber
actualShipDateLocal
}
}
requestedShipDate
senderDetails {
name {
givenName
middleName
familyName
}
companyName
address {
streetAddress
extendedAddress
postalCode
region
locality
countryCodeAlpha3
}
}
deliveryDetails {
name {
givenName
familyName
middleName
}
companyName
address {
streetAddress
extendedAddress
postalCode
region
locality
countryCodeAlpha3
}
}
}
stateHistory {
previousStatus
newStatus
createdAt
}
paymentCard {
id
bin
last4
}
createdAt
updatedAt
}
... on UserError {
errors {
errorPath
code
}
}
}
}
Variables
{
  "input": {
    "physicalPaymentCardOrderId": "PHYSICAL_PAYMENT_CARD_ORDER_ID"
  }
}
⚠️ Please login to execute queries. Visit the dashboard to authenticate.
Result
{
"data": {
"simulatePhysicalPaymentCardOrderSendToPrinter": {
"__typename": "PhysicalPaymentCardOrder",
"id": "PHYSICAL_PAYMENT_CARD_ORDER_ID",
"orderState": {
"status": "SENT_TO_PRINTER"
},
"cardPersonalization": {
"textLines": {
"line1": "RUSTY EARNHARDT",
"line2": ""
}
},
"paymentCardShipment": {
"courier": {
"method": "USPS_GROUND",
"signatureRequiredOnDelivery": false,
"tracking": null
},
"requestedShipDate": "2022-04-27",
"senderDetails": {
"name": {
"givenName": "John",
"middleName": "James",
"familyName": "Smith"
},
"companyName": "Highnote",
"address": {
"streetAddress": "1234 Main St",
"extendedAddress": "apt 6H",
"postalCode": "94132",
"region": "CA",
"locality": "San Francisco",
"countryCodeAlpha3": "USA"
}
},
"deliveryDetails": {
"name": {
"givenName": "Rusty",
"familyName": "Earnhardt",
"middleName": ""
},
"companyName": null,
"address": {
"streetAddress": "123 Main Street",
"extendedAddress": "",
"postalCode": "12345",
"region": "AL",
"locality": "Anywhere",
"countryCodeAlpha3": "USA"
}
}
},
"stateHistory": [
{
"previousStatus": "NEW",
"newStatus": "SENT_TO_PRINTER",
"createdAt": "2022-04-27T14:34:37.131Z"
},
{
"previousStatus": null,
"newStatus": "NEW",
"createdAt": "2022-04-27T14:26:20.532Z"
}
],
"paymentCard": {
"id": "PAYMENT_CARD_ID",
"bin": "511112",
"last4": "0200"
},
"createdAt": "2022-04-27T14:26:20.532Z",
"updatedAt": "2022-04-27T14:34:37.138Z"
}
},
"extensions": {
"requestId": "REQUEST_ID"
}
}

Approve shipment

Once a physical card order has been SENT_TO_PRINTER, you can approve the order and change the status to APPROVED.

Use the following mutation to simulate approving a physical payment card order:

simulatePhysicalPaymentCardOrderApproval
Query
mutation simulatePhysicalPaymentCardOrderApproval(
$input: SimulatePhysicalPaymentCardApprovalInput!
) {
simulatePhysicalPaymentCardOrderApproval(input: $input) {
__typename
... on PhysicalPaymentCardOrder {
id
orderState {
status
}
cardPersonalization {
textLines {
line1
line2
}
}
paymentCardShipment {
courier {
method
signatureRequiredOnDelivery
tracking {
trackingNumber
actualShipDateLocal
}
}
requestedShipDate
senderDetails {
name {
givenName
middleName
familyName
}
companyName
address {
streetAddress
extendedAddress
postalCode
region
locality
countryCodeAlpha3
}
}
deliveryDetails {
name {
givenName
familyName
middleName
}
companyName
address {
streetAddress
extendedAddress
postalCode
region
locality
countryCodeAlpha3
}
}
}
stateHistory {
previousStatus
newStatus
createdAt
}
paymentCard {
id
bin
last4
}
createdAt
updatedAt
}
... on UserError {
errors {
errorPath
code
}
}
}
}
Variables
{
  "input": {
    "physicalPaymentCardOrderId": "PHYSICAL_PAYMENT_CARD_ORDER_ID"
  }
}
⚠️ Please login to execute queries. Visit the dashboard to authenticate.
Result
{
"data": {
"simulatePhysicalPaymentCardOrderApproval": {
"__typename": "PhysicalPaymentCardOrder",
"id": "PHYSICAL_PAYMENT_CARD_ORDER_ID",
"orderState": {
"status": "APPROVED"
},
"cardPersonalization": {
"textLines": {
"line1": "RUSTY EARNHARDT",
"line2": ""
}
},
"paymentCardShipment": {
"courier": {
"method": "USPS_GROUND",
"signatureRequiredOnDelivery": false,
"tracking": null
},
"requestedShipDate": "2022-04-27",
"senderDetails": {
"name": {
"givenName": "John",
"middleName": "James",
"familyName": "Smith"
},
"companyName": "Highnote",
"address": {
"streetAddress": "1234 Main St",
"extendedAddress": "apt 6H",
"postalCode": "94132",
"region": "CA",
"locality": "San Francisco",
"countryCodeAlpha3": "USA"
}
},
"deliveryDetails": {
"name": {
"givenName": "Rusty",
"familyName": "Earnhardt",
"middleName": ""
},
"companyName": null,
"address": {
"streetAddress": "123 Main Street",
"extendedAddress": "",
"postalCode": "12345",
"region": "AL",
"locality": "Anywhere",
"countryCodeAlpha3": "USA"
}
}
},
"stateHistory": [
{
"previousStatus": "SENT_TO_PRINTER",
"newStatus": "APPROVED",
"createdAt": "2022-04-27T14:37:47.691Z"
},
{
"previousStatus": "NEW",
"newStatus": "SENT_TO_PRINTER",
"createdAt": "2022-04-27T14:34:37.131Z"
},
{
"previousStatus": null,
"newStatus": "NEW",
"createdAt": "2022-04-27T14:26:20.532Z"
}
],
"paymentCard": {
"id": "PAYMENT_CARD_ID",
"bin": "511112",
"last4": "0200"
},
"createdAt": "2022-04-27T14:26:20.532Z",
"updatedAt": "2022-04-27T14:37:47.692Z"
}
},
"extensions": {
"requestId": "REQUEST_ID"
}
}

Ship order

Orders with a status of APPROVED may be transitioned to SHIPPED and will return the shipping method, and if available, tracking number.

Use the following mutation to simulate shipping a physical payment card order:

simulatePhysicalPaymentCardOrderShipped
Query
mutation simulatePhysicalPaymentCardOrderShipped(
$input: SimulatePhysicalPaymentCardShippedInput!
) {
simulatePhysicalPaymentCardOrderShipped(input: $input) {
__typename
... on PhysicalPaymentCardOrder {
id
orderState {
status
}
cardPersonalization {
textLines {
line1
line2
}
}
paymentCardShipment {
courier {
method
signatureRequiredOnDelivery
tracking {
trackingNumber
actualShipDateLocal
}
}
requestedShipDate
senderDetails {
name {
givenName
middleName
familyName
}
companyName
address {
streetAddress
extendedAddress
postalCode
region
locality
countryCodeAlpha3
}
}
deliveryDetails {
name {
givenName
familyName
middleName
}
companyName
address {
streetAddress
extendedAddress
postalCode
region
locality
countryCodeAlpha3
}
}
}
stateHistory {
previousStatus
newStatus
createdAt
}
paymentCard {
id
bin
last4
}
createdAt
updatedAt
}
... on UserError {
errors {
errorPath
code
}
}
}
}
Variables
{
  "input": {
    "physicalPaymentCardOrderId": "PHYSICAL_PAYMENT_CARD_ORDER_ID",
    "trackingNumber": "1Z1111110311111111",
    "actualShipDate": "2022-04-27"
  }
}
⚠️ Please login to execute queries. Visit the dashboard to authenticate.
Result
{
"data": {
"simulatePhysicalPaymentCardOrderShipped": {
"__typename": "PhysicalPaymentCardOrder",
"id": "PHYSICAL_PAYMENT_CARD_ORDER_ID",
"orderState": {
"status": "SHIPPED"
},
"cardPersonalization": {
"textLines": {
"line1": "RUSTY EARNHARDT",
"line2": ""
}
},
"paymentCardShipment": {
"courier": {
"method": "USPS_GROUND",
"signatureRequiredOnDelivery": false,
"tracking": {
"trackingNumber": "trackingNumber",
"actualShipDateLocal": "2090-01-01"
}
},
"requestedShipDate": "2022-04-27",
"senderDetails": {
"name": {
"givenName": "John",
"middleName": "James",
"familyName": "Smith"
},
"companyName": "Highnote",
"address": {
"streetAddress": "1234 Main St",
"extendedAddress": "apt 6H",
"postalCode": "94132",
"region": "CA",
"locality": "San Francisco",
"countryCodeAlpha3": "USA"
}
},
"deliveryDetails": {
"name": {
"givenName": "Rusty",
"familyName": "Earnhardt",
"middleName": ""
},
"companyName": null,
"address": {
"streetAddress": "123 Main Street",
"extendedAddress": "",
"postalCode": "12345",
"region": "AL",
"locality": "Anywhere",
"countryCodeAlpha3": "USA"
}
}
},
"stateHistory": [
{
"previousStatus": "APPROVED",
"newStatus": "SHIPPED",
"createdAt": "2022-04-27T14:39:12.137Z"
},
{
"previousStatus": "SENT_TO_PRINTER",
"newStatus": "APPROVED",
"createdAt": "2022-04-27T14:37:47.691Z"
},
{
"previousStatus": "NEW",
"newStatus": "SENT_TO_PRINTER",
"createdAt": "2022-04-27T14:34:37.131Z"
},
{
"previousStatus": null,
"newStatus": "NEW",
"createdAt": "2022-04-27T14:26:20.532Z"
}
],
"paymentCard": {
"id": "PAYMENT_CARD_ID",
"bin": "511112",
"last4": "0200"
},
"createdAt": "2022-04-27T14:26:20.532Z",
"updatedAt": "2022-04-27T14:39:12.148Z"
}
},
"extensions": {
"requestId": "REQUEST_ID"
}
}

Fail order

To design your system to handle failed Group Order shipments, you can simulate a status of SHIP_FAILED.

SimulatePhysicalCardGroupOrderShipmentFailed
Query
mutation SimulatePhysicalCardGroupOrderShipmentFailed(
$input: SimulatePhysicalCardGroupOrderShipmentFailedInput!
) {
simulatePhysicalCardGroupOrderShipmentFailed(input: $input) {
__typename
... on PhysicalCardGroupOrder {
id
cardProductId
cardCount
paymentCardShipment {
courier {
method
signatureRequiredOnDelivery
tracking {
trackingNumber
actualShipDateLocal
}
}
requestedShipDate
deliveryDetails {
name {
givenName
middleName
familyName
suffix
title
}
companyName
address {
streetAddress
extendedAddress
postalCode
region
locality
countryCodeAlpha3
}
}
senderDetails {
name {
givenName
middleName
familyName
suffix
title
}
companyName
address {
streetAddress
extendedAddress
postalCode
region
locality
countryCodeAlpha3
}
}
}
orderState {
status
}
stateHistory {
previousStatus
newStatus
createdAt
}
createdAt
updatedAt
}
... on UserError {
errors {
errorPath
code
description
}
}
... on AccessDeniedError {
message
}
}
}
Variables
{
  "input": {
    "groupOrderId": "MC4yMi4xMjM="
  }
}
⚠️ Please login to execute queries. Visit the dashboard to authenticate.
Result
{
"data": {
"simulatePhysicalCardGroupOrderShipmentFailed": {
"__typename": "PhysicalCardGroupOrder",
"id": "fg_r327u85138ab43c3a546232523p3ty76",
"cardProductId": "pd_c555e85138ab43c3a541154107e9cd6e",
"cardCount": 10,
"paymentCardShipment": {
"courier": {
"method": "USPS_PRIORITY",
"signatureRequiredOnDelivery": false,
"tracking": null
},
"requestedShipDate": "2022-08-03",
"deliveryDetails": {
"name": {
"givenName": "Homer",
"middleName": "Jay",
"familyName": "Simpson",
"suffix": "Sr",
"title": "Mr"
},
"companyName": "Highnote",
"address": {
"streetAddress": "123 Main St",
"extendedAddress": "APT 2",
"postalCode": "60654",
"locality": "Chicago",
"region": "IL",
"countryCodeAlpha3": "USA"
}
},
"senderDetails": {
"name": {
"givenName": "James",
"middleName": "Jay",
"familyName": "Smith",
"suffix": "Jr",
"title": "Mr"
},
"companyName": "CherityCard",
"address": {
"streetAddress": "888 Main St",
"extendedAddress": "APT 5",
"postalCode": "95121",
"locality": "San Jose",
"region": "CA",
"countryCodeAlpha3": "USA"
}
}
},
"orderState": {
"status": "SHIP_FAILED"
},
"stateHistory": [
{
"previousStatus": "APPROVED",
"newStatus": "SHIP_FAILED",
"createdAt": "2022-08-03T20:16:40.580Z"
},
{
"previousStatus": "SENT_TO_PRINTER",
"newStatus": "APPROVED",
"createdAt": "2022-08-03T20:16:40.580Z"
},
{
"previousStatus": "NEW",
"newStatus": "SENT_TO_PRINTER",
"createdAt": "2022-08-03T20:16:40.580Z"
},
{
"previousStatus": null,
"newStatus": "NEW",
"createdAt": "2022-08-03T20:16:40.580Z"
}
],
"createdAt": "2022-08-03T20:16:40.579Z",
"updatedAt": "2022-08-03T20:16:40.586Z"
}
},
"extensions": {
"requestId": "4a98f0d9-8590-9d59-9301-29f135a8e15a"
}
}

Simulate group order fulfillment

You can simulate group order fulfillment in the Test environment without actually shipping cards. This is useful for simulating group order statuses and notifications.

Send order to printer

You can use the mutations provided in this guide to create and complete a group order. A completed order will have a status of PENDING.

Use the following mutation to transition the group order to SENT_TO_PRINTER status:

SimulatePhysicalCardGroupOrderSendToPrinter
Query
mutation SimulatePhysicalCardGroupOrderSendToPrinter(
$input: SimulatePhysicalCardGroupOrderSendToPrinterInput!
) {
simulatePhysicalCardGroupOrderSendToPrinter(input: $input) {
__typename
... on PhysicalCardGroupOrder {
id
cardProductId
cardCount
paymentCardShipment {
courier {
method
signatureRequiredOnDelivery
tracking {
trackingNumber
actualShipDateLocal
}
}
requestedShipDate
deliveryDetails {
name {
givenName
middleName
familyName
suffix
title
}
companyName
address {
streetAddress
extendedAddress
postalCode
region
locality
countryCodeAlpha3
}
}
senderDetails {
name {
givenName
middleName
familyName
suffix
title
}
companyName
address {
streetAddress
extendedAddress
postalCode
region
locality
countryCodeAlpha3
}
}
}
orderState {
status
}
stateHistory {
previousStatus
newStatus
createdAt
}
createdAt
updatedAt
}
... on UserError {
errors {
errorPath
code
description
}
}
... on AccessDeniedError {
message
}
}
}
Variables
{
  "input": {
    "groupOrderId": "ORDER_ID"
  }
}
⚠️ Please login to execute queries. Visit the dashboard to authenticate.
Result
{
"data": {
"simulatePhysicalCardGroupOrderSendToPrinter": {
"__typename": "PhysicalCardGroupOrder",
"id": "ORDER_ID",
"cardProductId": "CARD_PRODUCT_ID",
"cardCount": 10,
"paymentCardShipment": {
"courier": {
"method": "USPS_PRIORITY",
"signatureRequiredOnDelivery": false,
"tracking": null
},
"requestedShipDate": "2022-08-03",
"deliveryDetails": {
"name": {
"givenName": "Homer",
"middleName": "Jay",
"familyName": "Simpson",
"suffix": "Sr",
"title": "Mr"
},
"companyName": "Highnote",
"address": {
"streetAddress": "123 Main St",
"extendedAddress": "APT 2",
"postalCode": "60654",
"locality": "Chicago",
"region": "IL",
"countryCodeAlpha3": "USA"
}
},
"senderDetails": {
"name": {
"givenName": "James",
"middleName": "Jay",
"familyName": "Smith",
"suffix": "Jr",
"title": "Mr"
},
"companyName": "CherityCard",
"address": {
"streetAddress": "888 Main St",
"extendedAddress": "APT 5",
"postalCode": "95121",
"locality": "San Jose",
"region": "CA",
"countryCodeAlpha3": "USA"
}
}
},
"orderState": {
"status": "SENT_TO_PRINTER"
},
"stateHistory": [
{
"previousStatus": "NEW",
"newStatus": "SENT_TO_PRINTER",
"createdAt": "2022-08-03T20:16:40.580Z"
},
{
"previousStatus": null,
"newStatus": "NEW",
"createdAt": "2022-08-03T20:16:40.580Z"
}
],
"createdAt": "2022-08-03T20:16:40.579Z",
"updatedAt": "2022-08-03T20:16:40.586Z"
}
},
"extensions": {
"requestId": "REQUEST_ID"
}
}

Approve shipment

Once the group order has been SENT_TO_PRINTER, you can change the status to APPROVED using the following mutation:

SimulatePhysicalCardGroupOrderApproval
Query
mutation SimulatePhysicalCardGroupOrderApproval(
$input: SimulatePhysicalCardGroupOrderApprovalInput!
) {
simulatePhysicalCardGroupOrderApproval(input: $input) {
__typename
... on PhysicalCardGroupOrder {
id
cardProductId
cardCount
paymentCardShipment {
courier {
method
signatureRequiredOnDelivery
tracking {
trackingNumber
actualShipDateLocal
}
}
requestedShipDate
deliveryDetails {
name {
givenName
middleName
familyName
suffix
title
}
companyName
address {
streetAddress
extendedAddress
postalCode
region
locality
countryCodeAlpha3
}
}
senderDetails {
name {
givenName
middleName
familyName
suffix
title
}
companyName
address {
streetAddress
extendedAddress
postalCode
region
locality
countryCodeAlpha3
}
}
}
orderState {
status
}
stateHistory {
previousStatus
newStatus
createdAt
}
createdAt
updatedAt
}
... on UserError {
errors {
errorPath
code
description
}
}
... on AccessDeniedError {
message
}
}
}
Variables
{
  "input": {
    "groupOrderId": "ORDER_ID"
  }
}
⚠️ Please login to execute queries. Visit the dashboard to authenticate.
Result
{
"data": {
"simulatePhysicalCardGroupOrderApproval": {
"__typename": "PhysicalCardGroupOrder",
"id": "ORDER_ID",
"cardProductId": "CARD_PRODUCT_ID",
"cardCount": 10,
"paymentCardShipment": {
"courier": {
"method": "USPS_PRIORITY",
"signatureRequiredOnDelivery": false,
"tracking": null
},
"requestedShipDate": "2022-08-03",
"deliveryDetails": {
"name": {
"givenName": "Homer",
"middleName": "Jay",
"familyName": "Simpson",
"suffix": "Sr",
"title": "Mr"
},
"companyName": "Highnote",
"address": {
"streetAddress": "123 Main St",
"extendedAddress": "APT 2",
"postalCode": "60654",
"locality": "Chicago",
"region": "IL",
"countryCodeAlpha3": "USA"
}
},
"senderDetails": {
"name": {
"givenName": "James",
"middleName": "Jay",
"familyName": "Smith",
"suffix": "Jr",
"title": "Mr"
},
"companyName": "CherityCard",
"address": {
"streetAddress": "888 Main St",
"extendedAddress": "APT 5",
"postalCode": "95121",
"locality": "San Jose",
"region": "CA",
"countryCodeAlpha3": "USA"
}
}
},
"orderState": {
"status": "APPROVED"
},
"stateHistory": [
{
"previousStatus": "SENT_TO_PRINTER",
"newStatus": "APPROVED",
"createdAt": "2022-08-03T20:16:40.580Z"
},
{
"previousStatus": "NEW",
"newStatus": "SENT_TO_PRINTER",
"createdAt": "2022-08-03T20:16:40.580Z"
},
{
"previousStatus": null,
"newStatus": "NEW",
"createdAt": "2022-08-03T20:16:40.580Z"
}
],
"createdAt": "2022-08-03T20:16:40.579Z",
"updatedAt": "2022-08-03T20:16:40.586Z"
}
},
"extensions": {
"requestId": "REQUEST_ID"
}
}

Ship order

note

For an overview of group order shipping methods, see Shipping Methods.

After a group order is approved, you can use the following mutation to transition to the SHIPPED status. The shipping method and tracking number (if available) will be returned in the response payload:

SimulatePhysicalCardGroupOrderShipped
Query
mutation SimulatePhysicalCardGroupOrderShipped(
$input: SimulatePhysicalCardGroupOrderShippedInput!
) {
simulatePhysicalCardGroupOrderShipped(input: $input) {
__typename
... on PhysicalCardGroupOrder {
id
cardProductId
cardCount
paymentCardShipment {
courier {
method
signatureRequiredOnDelivery
tracking {
trackingNumber
actualShipDateLocal
}
}
requestedShipDate
deliveryDetails {
name {
givenName
middleName
familyName
suffix
title
}
companyName
address {
streetAddress
extendedAddress
postalCode
region
locality
countryCodeAlpha3
}
}
senderDetails {
name {
givenName
middleName
familyName
suffix
title
}
companyName
address {
streetAddress
extendedAddress
postalCode
region
locality
countryCodeAlpha3
}
}
}
orderState {
status
}
stateHistory {
previousStatus
newStatus
createdAt
}
createdAt
updatedAt
}
... on UserError {
errors {
errorPath
code
description
}
}
... on AccessDeniedError {
message
}
}
}
Variables
{
  "input": {
    "groupOrderId": "ORDER_ID",
    "trackingNumber": "1Z1111110311111111",
    "actualShipDate": "2022-08-03"
  }
}
⚠️ Please login to execute queries. Visit the dashboard to authenticate.
Result
{
"data": {
"simulatePhysicalCardGroupOrderShipped": {
"__typename": "PhysicalCardGroupOrder",
"id": "ORDER_ID",
"cardProductId": "CARD_PRODUCT_ID",
"cardCount": 10,
"paymentCardShipment": {
"courier": {
"method": "USPS_PRIORITY",
"signatureRequiredOnDelivery": false,
"tracking": {
"trackingNumber": "1Z1111110311111111",
"actualShipDateLocal": "2022-08-03"
}
},
"requestedShipDate": "2022-08-03",
"deliveryDetails": {
"name": {
"givenName": "Homer",
"middleName": "Jay",
"familyName": "Simpson",
"suffix": "Sr",
"title": "Mr"
},
"companyName": "Highnote",
"address": {
"streetAddress": "123 Main St",
"extendedAddress": "APT 2",
"postalCode": "60654",
"locality": "Chicago",
"region": "IL",
"countryCodeAlpha3": "USA"
}
},
"senderDetails": {
"name": {
"givenName": "James",
"middleName": "Jay",
"familyName": "Smith",
"suffix": "Jr",
"title": "Mr"
},
"companyName": "CherityCard",
"address": {
"streetAddress": "888 Main St",
"extendedAddress": "APT 5",
"postalCode": "95121",
"locality": "San Jose",
"region": "CA",
"countryCodeAlpha3": "USA"
}
}
},
"orderState": {
"status": "SHIPPED"
},
"stateHistory": [
{
"previousStatus": "SHIPPED",
"newStatus": "SENT_TO_PRINTER",
"createdAt": "2022-08-03T20:16:40.580Z"
},
{
"previousStatus": "SENT_TO_PRINTER",
"newStatus": "APPROVED",
"createdAt": "2022-08-03T20:16:40.580Z"
},
{
"previousStatus": "NEW",
"newStatus": "SENT_TO_PRINTER",
"createdAt": "2022-08-03T20:16:40.580Z"
},
{
"previousStatus": null,
"newStatus": "NEW",
"createdAt": "2022-08-03T20:16:40.580Z"
}
],
"createdAt": "2022-08-03T20:16:40.579Z",
"updatedAt": "2022-08-03T20:16:40.586Z"
}
},
"extensions": {
"requestId": "REQUEST_ID"
}
}

Fail order

To design your system to handle failed Group Order shipments, you can simulate a status of SHIP_FAILED.

SimulatePhysicalCardGroupOrderShipmentFailed
Query
mutation SimulatePhysicalCardGroupOrderShipmentFailed(
$input: SimulatePhysicalCardGroupOrderShipmentFailedInput!
) {
simulatePhysicalCardGroupOrderShipmentFailed(input: $input) {
__typename
... on PhysicalCardGroupOrder {
id
cardProductId
cardCount
paymentCardShipment {
courier {
method
signatureRequiredOnDelivery
tracking {
trackingNumber
actualShipDateLocal
}
}
requestedShipDate
deliveryDetails {
name {
givenName
middleName
familyName
suffix
title
}
companyName
address {
streetAddress
extendedAddress
postalCode
region
locality
countryCodeAlpha3
}
}
senderDetails {
name {
givenName
middleName
familyName
suffix
title
}
companyName
address {
streetAddress
extendedAddress
postalCode
region
locality
countryCodeAlpha3
}
}
}
orderState {
status
}
stateHistory {
previousStatus
newStatus
createdAt
}
createdAt
updatedAt
}
... on UserError {
errors {
errorPath
code
description
}
}
... on AccessDeniedError {
message
}
}
}
Variables
{
  "input": {
    "groupOrderId": "MC4yMi4xMjM="
  }
}
⚠️ Please login to execute queries. Visit the dashboard to authenticate.
Result
{
"data": {
"simulatePhysicalCardGroupOrderShipmentFailed": {
"__typename": "PhysicalCardGroupOrder",
"id": "fg_r327u85138ab43c3a546232523p3ty76",
"cardProductId": "pd_c555e85138ab43c3a541154107e9cd6e",
"cardCount": 10,
"paymentCardShipment": {
"courier": {
"method": "USPS_PRIORITY",
"signatureRequiredOnDelivery": false,
"tracking": null
},
"requestedShipDate": "2022-08-03",
"deliveryDetails": {
"name": {
"givenName": "Homer",
"middleName": "Jay",
"familyName": "Simpson",
"suffix": "Sr",
"title": "Mr"
},
"companyName": "Highnote",
"address": {
"streetAddress": "123 Main St",
"extendedAddress": "APT 2",
"postalCode": "60654",
"locality": "Chicago",
"region": "IL",
"countryCodeAlpha3": "USA"
}
},
"senderDetails": {
"name": {
"givenName": "James",
"middleName": "Jay",
"familyName": "Smith",
"suffix": "Jr",
"title": "Mr"
},
"companyName": "CherityCard",
"address": {
"streetAddress": "888 Main St",
"extendedAddress": "APT 5",
"postalCode": "95121",
"locality": "San Jose",
"region": "CA",
"countryCodeAlpha3": "USA"
}
}
},
"orderState": {
"status": "SHIP_FAILED"
},
"stateHistory": [
{
"previousStatus": "APPROVED",
"newStatus": "SHIP_FAILED",
"createdAt": "2022-08-03T20:16:40.580Z"
},
{
"previousStatus": "SENT_TO_PRINTER",
"newStatus": "APPROVED",
"createdAt": "2022-08-03T20:16:40.580Z"
},
{
"previousStatus": "NEW",
"newStatus": "SENT_TO_PRINTER",
"createdAt": "2022-08-03T20:16:40.580Z"
},
{
"previousStatus": null,
"newStatus": "NEW",
"createdAt": "2022-08-03T20:16:40.580Z"
}
],
"createdAt": "2022-08-03T20:16:40.579Z",
"updatedAt": "2022-08-03T20:16:40.586Z"
}
},
"extensions": {
"requestId": "4a98f0d9-8590-9d59-9301-29f135a8e15a"
}
}

Automate your integration

To automate your integration, use the following notification events:

The details provided in the payloads from these events can be used for the following use cases:

  • Automate your application or website's card order fulfillment workflows
  • Create account holder notifications and alerts
  • Create status views for card orders in your application or website