---
title: "order transaction"
method: POST
path: "/{siteId}/order/transaction"
tags: ["Order"]
---

# order transaction

`POST /{siteId}/order/transaction`

<i>/beacon/v2/{siteId}/order/transaction</i><br><br>Shopper has completed an order transaction. Tracks order contents.

## Path parameters

- `siteId` string, required

## Request body

- object
  - `context` Context, required — Contextual data about the event
    - `IP` string — Shoppers IP address. Accepts IPv4 and IPv6 formats. Recommended this is passed for accuracy. If not, will attempt to default to the "x-forwarded-for" or the Remote Address.
    - `userAgent` string — Shoppers UserAgent. Recommended this is passed for accuracy. If not, will attempt to default to "user-agent" request header.
    - `timestamp` string, required — RFC3339 formatted timestamp represents time of event
    - `pageUrl` string, required — Current page `window.location.href` value
    - `userId` string, required — Unique identifier for the customer (usually a UUID)
    - `sessionId` string, required — Unique identifier for the customer's current session - should expire after store visit (usually a UUID)
    - `pageLoadId` string, required — Unique identifier that represents a unique page load. Used to tie multiple events made on a single page together.
    - `shopperId` string — Unique identifier for the customer's product personalization - it is typically a user id or email and should be sent if the user is authenticated on the storefront. If the shopper has already logged in this is required.
    - `initiator` string, required — Application identifier that initiated the event
    - `attribution` object[] — Provides attribution details on product landing pages - it is currently only used for email recommendations
      - `type` string, required
      - `id` string, required
    - `currency` Currency — Active currency type on the site
      - `code` string — currency code in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html#:~:text=The%20first%20two%20letters%20of,and%20the%20D%20for%20dollar.) format
    - `dev` boolean — Developer mode flag. If set to `true`, the event data will not populate in reporting
  - `data` object, required — Event details
    - `orderId` string, required — Unique order ID
    - `transactionTotal` number, float, required — Total order amount before discounts, taxes, and shipping
    - `total` number, float, required — Total order amount including discounts, taxes, and shipping
    - `vat` number, float — Value added tax(VAT) rate as a decimal value (e.g. 0.20 for 20%)
    - `city` string — Customer's shipping address City
    - `state` string — Customer's shipping address State
    - `country` string — Customer's shipping address 2-letter Country Code
    - `results` Product[], required — Describes tracked Searchspring results
      - `parentId` string, required — Unique product identifier of the parent product interacted with
      - `uid` string, required — Unique product identifier of the product interacted with
      - `sku` string — SKU of the product interacted with
      - `qty` number, required — Quantity of the item
      - `price` number, float, required — Price of individual item

## Response `200`

OK

- object
  - `success` boolean — Data sent and received

## Other responses

- `400` — Bad request
- `404` — Invalid path
- `405` — Invalid request method
- `413` — Payload too large
- `415` — Unsupported media type
- `500` — Internal server error

---

[API](https://skmtc.dev/searchspring/apis/autocomplete-module.md) · [All operations](https://skmtc.dev/searchspring/apis/autocomplete-module/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/searchspring/autocomplete-module/revisions/04129662b4e5/schema)
