Skip to main content
All CollectionsAPI
Using the Transaction API to Post Transactions and Transaction Tracking
Using the Transaction API to Post Transactions and Transaction Tracking

Creating Transactions and Transaction Tracking via the API

Updated over a week ago

Background

Due to data validation checks and the need for financial data to be in sync across platforms, iPaaS.com does not allow for the editing of Transactions (and associated child collections) via our portal; these items can only be edited via the API. Due to this, testing a single integration that needs to transfer Transaction and/or Transaction collections needs to leverage the iPaaS.com API.

Notes:

  • The following information covers how to create transactions and transaction tracking in the API as all other collections do not have individual endpoints and need to be created/updated using the Transaction endpoint.

  • This documentation takes you through how to use the in-browser capabilities of our Swagger documentation, but the same could be accomplished by using Postman or another tool of your choosing.

  • The user you are using for the following API calls needs to have the following permissions:

    • Data Management>Transaction Custom Field

      • View

      • Create

      • Edit

    • Data Management>Transaction

      • View

      • Create

      • Edit

    • Data Management>Transaction Custom Field

      • View

      • Create

      • Edit

    • Other>Transaction Tracking

      • View

      • Create

      • Edit

Authenticating

Navigate to the Transaction API. Click authenticate in the header and enter the company-specific token you generated by following these steps.

Creating a Transaction

Navigate to the Transaction section, to POST /v/Transaction and click Try it out.

You can use the JSON below to create this transaction that should give a transaction that looks similar to one you would see as it comes in straight from an eCommerce system, POS, ERP, or other source.

Prerequisites:

  1. A subscription needs to be present within that account.

    1. You can create one by going to Subscriptions Management > Marketplace. Select one and click subscribe. Fill out the fields with test content and click save. To find the ID, navigate to Subscriptions, click on the edit button, and the subscription ID is the last parameter in the URL. It should then be added as the system_id in the call.

  2. The transaction number can not already exist for a transaction in your instance.

  3. The shipping method needs to be present and the name needs to match the API call (it is case-sensitive).

    1. You can create one by going to Data Management > Shipping Methods > Create

  4. The line items need to exist as Products in iPaaS.com. You can create by going to Data Management > Product Catalog and use the following data (the other required fields can be filled with test data).

    1. SKU: One should be 1 and the other should be 2

    2. Tracking method: Product

    3. Type: Physical

    4. Status: Active

Notes:

  1. This is a simple call and does not include all collections, but you are free to add them to this call should you want, but it might require other items to already exist (i.e. adding a payment method would require that payment method to be present in your iPaaS.com account.

  2. This example will not link the transaction to a customer or company.

  3. This example does not leverage custom fields.

{
"system_id": 13476,
"transaction_number": "1234",
"type": "Order",
"email_address": "don.draper@ipaas.com",
"status": "Pending",
"discount_amount": 0,
"tax_amount": 1.76,
"shipping_amount": 5,
"subtotal": 21.99,
"total": 28.75,
"total_qty": 1,
"lines": [
{
"sequence_number": 1,
"status": "Pending",
"sku": "1",
"type": "Product",
"qty": 1,
"qty_shipped": 0,
"unit_price": 21.99,
"extended_price": 21.99,
"original_unit_price": 21.99,
"discount_amount": 0,
"discount_percent": 0,
"tax_percent": 0,
"estimated_tax_amount": 1.76,
"weight": 0.5,
"address": {
"shipping_method": "UPS GROUND",
"first_name": "Don",
"shipping_method_description": "Flat Rate",
"last_name": "Draper",
"shipping_amount": 0,
"company": "iPaaS.com",
"address_1": "1955 Vaughn Road",
"address_2": "Suite 108",
"city": "Atlanta",
"region": "Georgia",
"country": "United States",
"postal_code": "30144",
"is_primary_billing": true,
"is_primary_shipping": true
}
},
{
"sequence_number": 2,
"status": "Pending",
"sku": "2",
"type": "Product",
"qty": 1,
"qty_shipped": 0,
"unit_price": 19.99,
"extended_price": 19.99,
"original_unit_price": 19.99,
"discount_amount": 0,
"discount_percent": 0,
"tax_percent": 0,
"estimated_tax_amount": 1.76,
"weight": 0.5,
"address": {
"shipping_method": "UPS GROUND",
"first_name": "Don",
"shipping_method_description": "Flat Rate",
"last_name": "Draper",
"shipping_amount": 0,
"company": "iPaaS.com",
"address_1": "1955 Vaughn Road",
"address_2": "Suite 108",
"city": "Atlanta",
"region": "Georgia",
"country": "United States",
"postal_code": "30144",
"is_primary_billing": false,
"is_primary_shipping": true
}
}
],
"addresses": [
{
"shipping_method": "UPS GROUND",
"first_name": "Don",
"shipping_method_description": "Flat Rate",
"last_name": "Draper",
"shipping_amount": 0,
"company": "iPaaS.com",
"address_1": "1955 Vaughn Road",
"address_2": "Suite 108",
"city": "Atlanta",
"region": "Georgia",
"country": "United States",
"postal_code": "30144",
"is_primary_billing": true,
"is_primary_shipping": true
}
]
}

Adding Transaction Tracking

Navigate to the Tracking section and to POST /v/Transaction/Tracking and click Try it out.

Notes:

  1. Fill out the parent ID from the ID returned from your previous call or from a transaction you have in the UI (the ID is in the URL from the Transaction).

  2. The shipping method needs to exist and you can use the name of the shipping method (case sensitive) in the call.

  3. The iPaaS.com API does not validate the tracking number so if the system you are using will do this then make sure it meets their criteria.

  4. This example does not leverage external IDs.

{
"parent_id": "101771",
"shipping_method": "UPS GROUND",
"tracking_number": "1234123412341234",
"cost": 10,
}

Did this answer your question?