Sequence calling - Fabric

Sequence calling

cURL

curl --request POST \
  --url https://api.fabric.inc/v3/carts/{cartId}/sequence \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --header 'x-fabric-tenant-id: <x-fabric-tenant-id>' \
  --data '
{
  "requests": [\
    {\
      "path": "/customer",\
      "method": "PATCH",\
      "Sequence Body Object": {\
        "id": "1234"\
      },\
      "callId": "1"\
    }\
  ]
}
'

Python Example

import requests

url = "https://api.fabric.inc/v3/carts/{cartId}/sequence"

payload = { "requests": [\
        {\
            "path": "/customer",\
            "method": "PATCH",\
            "Sequence Body Object": { "id": "1234" },\
            "callId": "1"\
        }\
    ] }
headers = {
    "x-fabric-tenant-id": "<x-fabric-tenant-id>",
    "Authorization": "Bearer <token>",
    "Content-Type": "application/json"
}

response = requests.post(url, json=payload, headers=headers)

print(response.text)

JavaScript Example

const options = {
  method: 'POST',
  headers: {
    'x-fabric-tenant-id': '<x-fabric-tenant-id>',
    Authorization: 'Bearer <token>',
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    requests: [\
      {\
        path: '/customer',\
        method: 'PATCH',\
        'Sequence Body Object': {id: '1234'},\
        callId: '1'\
      }\
    ]
  })
};

fetch('https://api.fabric.inc/v3/carts/{cartId}/sequence', options)
  .then(res => res.json())
  .then(res => console.log(res))
  .catch(err => console.error(err));

PHP Example

<?php

$curl = curl_init();

curl_setopt_array($curl, [\
  CURLOPT_URL => "https://api.fabric.inc/v3/carts/{cartId}/sequence",\
  CURLOPT_RETURNTRANSFER => true,\
  CURLOPT_ENCODING => "",\
  CURLOPT_MAXREDIRS => 10,\
  CURLOPT_TIMEOUT => 30,\
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\
  CURLOPT_CUSTOMREQUEST => "POST",\
  CURLOPT_POSTFIELDS => json_encode([\
    'requests' => [\
        [\
                'path' => '/customer',\
                'method' => 'PATCH',\
                'Sequence Body Object' => [\
                                'id' => '1234'\
                ],\
                'callId' => '1'\
        ]\
    ]\
  ]),\
  CURLOPT_HTTPHEADER => [\
    "Authorization: Bearer <token>",\
    "Content-Type: application/json",\
    "x-fabric-tenant-id: <x-fabric-tenant-id>"\
  ],\
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}

Response Structure

{
  "id": "c86f777b-1885-4ddf-961d-542ba80a69b8",
  "attributes": {
    "name": "wishlist"
  },
  "configuration": {
    "order": {
      "validate": {}
    },
    "product": {
      "cacheExpiry": 7776000,
      "behaviors": {
        "add": "REJECT",
        "update": "WARN",
        "get": "WARN",
        "cacheExpiry": "WARN"
      },
      "maxQuantity": {
        "limit": 100,
        "behaviors": {
          "add": "REJECT",
          "update": "WARN",
          "get": "WARN"
        }
      }
    },
    "inventory": {
      "cacheExpiry": 7776000,
      "behaviors": {
        "add": "REJECT",
        "update": "WARN",
        "get": "WARN",
        "cacheExpiry": "WARN"
      },
      "check": "SKU"
    },
    "tax": {
      "cacheExpiry": 7776000,
      "behaviors": {
        "cacheExpiry": "WARN"
      }
    },
    "promotions": {
      "cacheExpiry": 7776000,
      "behaviors": {
        "cacheExpiry": "WARN"
      }
    }
  },
  "customerContext": {
    "id": "109840938",
    "segments": [\
      {\
        "name": "membership",\
        "value": [\
          "gold",\
          "silver"\
        ]\
      }\
    ],
    "attributes": {
      "email": "test@gmail.com"
    },
    "sessionId": "3a5fd2d3-5c96-4e57-b069-7ff2a88c1119"
  },
  "status": "ACTIVE",
  "state": [\
    {\
      "resource": "CART",\
      "resourceId": "c86f777b-1885-4ddf-961d-542ba80a69b8",\
      "key": "MISSING_PAYMENT_DETAILS",\
      "description": "No payment details have been added to this Cart"\
    }\
  ],
  "price": {
    "total": 800,
    "subtotal": 750,
    "tax": 20,
    "fulfillments": 25,
    "discounts": 10,
    "fees": 5,
    "adjustments": 10
  },
  "promotions": {
    "total": 32,
    "collection": [\
      {\
        "id": "542ba80a69b8",\
        "title": "15 Percent All Products",\
        "code": "15_PERCENT",\
        "type": "PERCENTAGE",\
        "value": 15,\
        "attributes": {\
          "source": "cart"\
        }\
      }\
    ]
  },
  "fees": {
    "total": 5,
    "collection": [\
      {\
        "id": "a8577d7f-0d4d-4b22-8e85-7b4a2e90dc93",\
        "name": "Eco Fee",\
        "price": {\
          "amount": 12.99\
        },\
        "taxable": true,\
        "attributes": {\
          "source": "eco"\
        },\
        "tax": {\
          "total": 3,\
          "collection": [\
            {\
              "amount": 3,\
              "attributes": {\
                "rate": "5.0",\
                "type": "COUNTY"\
              }\
            }\
          ]\
        },\
        "updatedAt": "2024-06-13T16:50:00.682Z",\
        "createdAt": "2024-06-13T16:50:00.682Z",\
        "taxDetails": {\
          "destinationAddress": "c86f777b-1885-4ddf-961d-542ba80a69b8",\
          "originAddress": "c86f777b-1885-4ddf-961d-542ba80a69b8"\
        }\
      }\
    ]\
  },
  "adjustments": {
    "total": 2,
    "collection": [\
      {\
        "id": "a8577d7f-0d4d-4b22-8e85-7b4a2e90dc93",\
        "price": {\
          "amount": 12.99\
        },\
        "reason": "Price adjustment from customer representative.",\
        "attributes": {\
          "source": "CSR"\
        },\
        "updatedAt": "2024-06-13T16:50:00.682Z",\
        "createdAt": "2024-06-13T16:50:00.682Z"\
      }\
    ]\
  },
  "addresses": {
    "a8577d7f0d4d4b228e857b4a2e90dc93": {
      "id": "a8577d7f-0d4d-4b22-8e85-7b4a2e90dc93",
      "name": {
        "first": "John",
        "middle": "S",
        "last": "Doe"
      },
      "email": "john@test.com",
      "phone": {
        "number": "123-456-7890",
        "type": "MOBILE"
      },
      "addressLine1": "123 Park Road",
      "addressLine2": "<string>",
      "addressLine3": "<string>",
      "addressLine4": "<string>",
      "city": "Santa Cruz",
      "region": "California",
      "country": "USA",
      "postalCode": "12345",
      "updatedAt": "2024-06-13T16:50:00.682Z",
      "createdAt": "2024-06-13T16:50:00.682Z"
    }
  },
  "lineItems": {
    "total": 100,
    "collection": [\
      {\
        "id": "a8577d7f-0d4d-4b22-8e85-7b4a2e90dc93",\
        "sku": "SKU3",\
        "refId": "41",\
        "quantity": 10,\
        "priceListId": "10001",\
        "position": 1,\
        "price": {\
          "unit": 10,\
          "amount": 100\
        },\
        "fees": {\
          "total": 5,\
          "collection": [\
            {\
              "id": "a8577d7f-0d4d-4b22-8e85-7b4a2e90dc93",\
              "name": "Eco Fee",\
              "price": {\
                "amount": 12.99\
              },\
              "taxable": true,\
              "attributes": {\
                "source": "eco"\
              },\
              "tax": {\
                "total": 3,\
                "collection": [\
                  {\
                    "amount": 3,\
                    "attributes": {\
                      "rate": "5.0",\
                      "type": "COUNTY"\
                    }\
                  }\
                ]\
              },\
              "updatedAt": "2024-06-13T16:50:00.682Z",\
              "createdAt": "2024-06-13T16:50:00.682Z",\
              "taxDetails": {\
                "destinationAddress": "c86f777b-1885-4ddf-961d-542ba80a69b8",\
                "originAddress": "c86f777b-1885-4ddf-961d-542ba80a69b8"\
              }\
            }\
          ]\
        },\
        "promotions": {\
          "total": 2,\
          "collection": [\
            {\
              "id": "bb44db95-6fbd-4eed-a1ed-4d99bc91250f",\
              "amount": 15,\
              "quantity": 3,\
              "proration": {\
                "spread": [\
                  {\
                    "amount": 5,\
                    "quantity": 3\
                  }\
                ]\
              }\
            }\
          ]\
        },\
        "adjustments": {\
          "total": 2,\
          "collection": [\
            {\
              "id": "a8577d7f-0d4d-4b22-8e85-7b4a2e90dc93",\
              "price": {\
                "amount": 12.99\
              },\
              "reason": "Price adjustment from customer representative.",\
              "attributes": {\
                "source": "CSR"\
              },\
              "updatedAt": "2024-06-13T16:50:00.682Z",\
              "createdAt": "2024-06-13T16:50:00.682Z"\
            }\
          ]\
        },\
        "fulfillment": {\
          "id": "6d65755f-b1d9-4c9d-bb5b-118d317f8db4",\
          "price": {\
            "amount": 12.99\
          },\
          "inventory": {\
            "type": "backOrder",\
            "channels": {\
              "networkCode": "ShipToHome"\
            }\
          },\
          "tax": {\
            "total": 3,\
            "collection": [\
              {\
                "amount": 3,\
                "attributes": {\
                  "rate": "5.0",\
                  "type": "COUNTY"\
                }\
              }\
            ]\
          }\
        },\
        "attributes": {\
          "name": "item-custom"\
        },\
        "tax": {\
          "total": 3,\
          "collection": [\
            {\
              "amount": 3,\
              "attributes": {\
                "rate": "5.0",\
                "type": "COUNTY"\
              }\
            }\
          ]\
        },\
        "taxCode": "10001",\
        "updatedAt": "2024-06-13T16:50:00.682Z",\
        "createdAt": "2024-06-13T16:50:00.682Z"\
      }\
    ]\
  },\
  "summary": {
    "totalItems": 1,
    "totalUniqueItems": 1
  },\
  "fulfillments": {
    "d6229cdb0c5b4885b1b213b94d02488e": {
      "id": "d6229cdb-0c5b-4885-b1b2-13b94d02488e",
      "type": "SHIP_TO",
      "refId": "398427903843",
      "attributes": {
        "source": "store"
      },
      "originAddress": "a8577d7f-0d4d-4b22-8e85-7b4a2e90dc93",
      "destinationAddress": "a8577d7f-0d4d-4b22-8e85-7b4a2e90dc93",
      "locationId": "CA",
      "pickupPerson": {
        "primary": {
          "name": {
            "first": "John",
            "middle": "S",
            "last": "Doe"
          },
          "email": "john@test.com",
          "phone": {
            "number": "123-456-7890",
            "type": "MOBILE"
          }
        },
        "secondary": [\
          {\
            "name": {\
              "first": "John",\
              "middle": "S",\
              "last": "Doe"\
            },\
            "email": "john@test.com",\
            "phone": {\
              "number": "123-456-7890",\
              "type": "MOBILE"\
            }\
          }\
        ]
      },
      "price": {
        "amount": 12.99
      },
      "promotions": {
        "total": 15,
        "collection": [\
          {\
            "id": "bb44db95-6fbd-4eed-a1ed-4d99bc91250f",\
            "amount": 15\
          }\
        ]
      },
      "fees": {
        "total": 5,
        "collection": [\
          {\
            "id": "a8577d7f-0d4d-4b22-8e85-7b4a2e90dc93",\
            "name": "Eco Fee",\
            "price": {\
              "amount": 12.99\
            },\
            "taxable": true,\
            "attributes": {\
              "source": "eco"\
            },\
            "tax": {\
              "total": 3,\
              "collection": [\
                {\
                  "amount": 3,\
                  "attributes": {\
                    "rate": "5.0",\
                    "type": "COUNTY"\
                  }\
                }\
              ]\
            },\
            "updatedAt": "2024-06-13T16:50:00.682Z",\
            "createdAt": "2024-06-13T16:50:00.682Z",\
            "taxDetails": {\
              "destinationAddress": "c86f777b-1885-4ddf-961d-542ba80a69b8",\
              "originAddress": "c86f777b-1885-4ddf-961d-542ba80a69b8"\
            }\
          }\
        ]\
      },\
      "adjustments": {
        "total": 2,
        "collection": [\
          {\
            "id": "a8577d7f-0d4d-4b22-8e85-7b4a2e90dc93",\
            "price": {\
              "amount": 12.99\
            },\
            "reason": "Price adjustment from customer representative.",\
            "attributes": {\
              "source": "CSR"\
            },\
            "updatedAt": "2024-06-13T16:50:00.682Z",\
            "createdAt": "2024-06-13T16:50:00.682Z"\
          }\
        ]\
      },\
      "tax": {
        "total": 3,
        "collection": [\
          {\
            "amount": 3,
            "attributes": {\
              "rate": "5.0",
              "type": "COUNTY"\
            }\
          }\
        ]\
      }
    }
  },
  "coupons": [\
    {\
      "code": "VALID_COUPON",\
      "updatedAt": "2024-06-13T16:50:00.682Z"\
    }\
  ],
  "appliedCoupons": [\
    {\
      "code": "VALID_COUPON",\
      "updatedAt": "2024-06-13T16:50:00.682Z"\
    }\
  ],
  "notAppliedCoupons": [\
    {\
      "code": "VALID_COUPON",\
      "updatedAt": "2024-06-13T16:50:00.682Z"\
    }\
  ],
  "validations": {
    "promotions": {
      "updatedAt": "2024-06-13T16:50:00.682Z",
      "appliedCoupons": [\
        "TEST_COUPON"\
      ],
      "refreshRequired": false
    },
    "lineItems": [\
      {\
        "sku": "SKU3",
        "inventory": {
          "channels": {
            "networkCode": "ShipToHome"
          },
          "counters": {
            "backOrder": 15,
            "preOrder": 100,
            "updatedAt": "2024-06-13T16:50:00.682Z"
          }
        }
      }\
    ],
    "product": {
      "availableSkus": [\
        {\
          "sku": "SKU3",
          "updatedAt": "2024-06-13T16:50:00.682Z",
          "maxQuantity": 100
        }\
      ]
    },
    "tax": {
      "updatedAt": "2024-06-13T16:50:00.682Z"
    }
  },
  "payments": {
    "authorized": 800,
    "collection": [\
      {\
        "id": "6ef2067a-5d6b-4785-a090-96ea0078220d",
        "provider": "verifone",
        "processor": "stripe",
        "method": "apple pay",
        "methodType": "credit card",
        "state": "PENDING",
        "authorization": {
          "amount": 8,
          "expiry": "2024-06-13T16:50:00.682Z",
          "verifier": {
            "type": "TOKEN",
            "key": "CH39082K439R0"
          },
          "billToAddress": "a8577d7f-0d4d-4b22-8e85-7b4a2e90dc93",
          "cardDetails": {},
          "attributes": {
            "gift-card-name": "custom name"
          }
        }
      }
    ]
  },
  "channelId": "12",
  "currency": "USD",
  "updatedAt": "2024-06-13T16:50:00.682Z",
  "createdAt": "2024-06-13T16:50:00.682Z"
}

Error Responses

{
  "type": "BAD_REQUEST",
  "message": "x-fabric-tenant-id is required"
}
{
  "type": "CART_NOT_FOUND",
  "message": "Cart not found"
}