Tamio

Create a transaction

POST https://api.tamio.com/v2/transactions/create

Creates a new transaction with full customer information, product details, shipping options, and fulfillment configuration. Supports both existing customers (via customer) and new customers (via new_customer). At least one of them must be provided. Products can reference catalog items by id, variant, or pack, or use custom price and name for ad-hoc line items.

Body Parameters

affiliate string

Affiliate UUID for commission tracking.

currency string*

Currency code. Null defaults to account base currency.

locale string

Language preference for communications.

no_discounts boolean

Disable all discount applications.

coupons array of string

Coupon codes to apply.

products array of ProductItem*

Product line items (1–20).

JSON
{ "products": [ { "id": "f1a2b3c4-d5e6-7890-abcd-ef1234567890", "quantity": 2, "price": 2500, "name": "Premium Widget", "variant": "b2c3d4e5-f6a7-8901-bcde-f12345678901", "pack": "c3d4e5f6-a7b8-9012-cdef-123456789012" } ] }
id string

Product UUID.

quantity integer

Number of units.

price integer

Custom price in smallest currency unit (required when no id/variant/pack).

name string

Custom product name (required when no id/variant/pack).

variant string

Variant UUID.

pack string

Pack UUID.

shipping object

Shipping configuration.

JSON
{ "shipping": { "tamio": "e5f6a7b8-c9d0-1234-efgh-567890123456", "nshift": { "valid": false, "deliveryCheckoutId": "00000000-0000-0000-0000-000000000000", "selectedOptionId": "00000000-0000-0000-0000-000000000000", "optionIds": [], "price": 0, "taxRate": 0, "selectedAddons": [ { "id": "string", "price": 0 } ], "fields": [] } } }
tamio string

Tamio shipping method UUID.

nshift object

nShift logistics integration.

JSON
{ "nshift": { "valid": false, "deliveryCheckoutId": "00000000-0000-0000-0000-000000000000", "selectedOptionId": "00000000-0000-0000-0000-000000000000", "optionIds": [], "price": 0, "taxRate": 0, "selectedAddons": [ { "id": "string", "price": 0 } ], "fields": [] } }
valid boolean*
deliveryCheckoutId string*
selectedOptionId string*
optionIds array of string
price number
taxRate number
selectedAddons array of object
JSON
{ "selectedAddons": [ { "id": "string", "price": 0 } ] }
id string
price number
fields array of object
fulfillment_options object

Fulfillment automation flags.

JSON
{ "fulfillment_options": { "stock": true, "accounting_systems": true, "merchant_emails": true, "customer_emails": true, "automations": true, "shipping_providers": true } }
stock boolean

Automatic stock deduction.

accounting_systems boolean

Accounting system integration.

merchant_emails boolean

Merchant order notification emails.

customer_emails boolean

Customer confirmation emails.

automations boolean

Marketing automation triggers.

shipping_providers boolean

Shipping provider integration.

customer object

Existing customer reference.

JSON
{ "customer": { "id": "c1d2e3f4-a5b6-7890-abcd-ef1234567890", "billing_address_id": "966a8470-8250-45d7-9ae7-aeaeffc30f28", "shipping_address_id": "ad5701b5-5470-44a3-9a56-af458f24f6b3", "same_shipping_address": false, "billing_information": null, "shipping_information": null } }
id string*

Customer UUID.

billing_address_id string

Existing billing address UUID.

shipping_address_id string

Existing shipping address UUID.

same_shipping_address boolean

Use billing address for shipping.

billing_information object
shipping_information object
new_customer object

New customer to create during checkout.

JSON
{ "new_customer": { "name": "John", "last_name": "Doe", "email": "[email protected]", "company": "Acme GmbH", "country": "de", "phone": "+49 123 456789", "timezone_offset": "+02: 00", "locale": "en", "same_shipping_address": false, "teammate_id": null, "billing_information": null, "shipping_information": null } }
name string*

First name.

last_name string

Last name.

email string*

Email address.

company string
country string*

Country code.

phone string
timezone_offset string

UTC timezone offset.

locale string
same_shipping_address boolean
teammate_id string

Teammate UUID to assign as account manager.

billing_information object
shipping_information object

Responses

200 Transaction created

Transaction created

status integer
transaction Transaction
400 Validation or business-logic error.
401 Missing or invalid API key
/transactions/create
1const response = await fetch("https://api.tamio.com/v2/transactions/create", {
2 method: "POST",
3 headers: {
4 "Authorization": "Bearer YOUR_API_KEY",
5 "Content-Type": "application/json"
6 },
7 body: JSON.stringify({
8 "affiliate": "d4e5f6a7-b8c9-0123-defg-456789012345",
9 "currency": "EUR",
10 "locale": "en",
11 "no_discounts": false,
12 "coupons": [
13 "SAVE20",
14 "WELCOME10"
15 ],
16 "products": [
17 {
18 "id": "f1a2b3c4-d5e6-7890-abcd-ef1234567890",
19 "quantity": 2,
20 "price": 2500,
21 "name": "Premium Widget",
22 "variant": "b2c3d4e5-f6a7-8901-bcde-f12345678901",
23 "pack": "c3d4e5f6-a7b8-9012-cdef-123456789012"
24 }
25 ],
26 "shipping": {
27 "tamio": "e5f6a7b8-c9d0-1234-efgh-567890123456",
28 "nshift": {
29 "valid": false,
30 "deliveryCheckoutId": "00000000-0000-0000-0000-000000000000",
31 "selectedOptionId": "00000000-0000-0000-0000-000000000000",
32 "optionIds": [],
33 "price": 0,
34 "taxRate": 0,
35 "selectedAddons": [
36 {
37 "id": "string",
38 "price": 0
39 }
40 ],
41 "fields": []
42 }
43 },
44 "fulfillment_options": {
45 "stock": true,
46 "accounting_systems": true,
47 "merchant_emails": true,
48 "customer_emails": true,
49 "automations": true,
50 "shipping_providers": true
51 },
52 "customer": {
53 "id": "c1d2e3f4-a5b6-7890-abcd-ef1234567890",
54 "billing_address_id": "966a8470-8250-45d7-9ae7-aeaeffc30f28",
55 "shipping_address_id": "ad5701b5-5470-44a3-9a56-af458f24f6b3",
56 "same_shipping_address": false,
57 "billing_information": null,
58 "shipping_information": null
59 },
60 "new_customer": {
61 "name": "John",
62 "last_name": "Doe",
63 "email": "[email protected]",
64 "company": "Acme GmbH",
65 "country": "de",
66 "phone": "+49 123 456789",
67 "timezone_offset": "+02:00",
68 "locale": "en",
69 "same_shipping_address": false,
70 "teammate_id": null,
71 "billing_information": null,
72 "shipping_information": null
73 }
74 })
75});
76const data = await response.json();
Responses
{
  "status": 200,
  "transaction": {
    "id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    "object": "transaction",
    "order_id": 10542,
    "currency": "EUR",
    "locale": "en",
    "has_subscriptions": false,
    "products": [
      {
        "id": "f1a2b3c4-d5e6-7890-abcd-ef1234567890",
        "name": "Premium Widget",
        "price": 2500,
        "quantity": 2
      }
    ],
    "customer_information": {
      "id": "c1d2e3f4-a5b6-7890-abcd-ef1234567890",
      "email": "[email protected]",
      "name": "John",
      "last_name": "Doe",
      "country": "DE",
      "billing_information": {
        "id": "966a8470-8250-45d7-9ae7-aeaeffc30f28",
        "object": "address",
        "name": "John",
        "representative": null,
        "email": "[email protected]",
        "phone": "+49123456789",
        "address": "Awesome Street 24",
        "city": "Frankfurt",
        "postcode": "60311",
        "state": null,
        "country": "de",
        "locale": "en",
        "is_company": false,
        "vat": null,
        "verified_vat": false,
        "ip": null,
        "shipping_address": false
      },
      "shipping_information": {
        "id": "ad5701b5-5470-44a3-9a56-af458f24f6b3",
        "object": "address",
        "name": "John Doe",
        "email": "[email protected]",
        "phone": "+49123456789",
        "address": "Shipping Street 5",
        "city": "Frankfurt",
        "postcode": "60311",
        "state": null,
        "country": "de",
        "locale": "en",
        "shipping_address": true,
        "message": null
      }
    },
    "payments": {
      "available": [
        "stripe",
        "mollie",
        "bank_transfer"
      ],
      "selected": "stripe"
    },
    "taxes": {
      "total": 950,
      "rate": 19,
      "inclusive": false
    },
    "totals": {
      "subtotal": 5000,
      "tax": 950,
      "shipping": 500,
      "discount": 0,
      "total": 6450
    },
    "shipping": {
      "method": "Standard Shipping",
      "cost": 500
    },
    "discounts": null,
    "instalments": null,
    "active_instalment_plan": null,
    "merchant": {
      "name": "Acme Corp",
      "country": "DE"
    },
    "invoice": null,
    "affiliate": null,
    "payout": null
  }
}