> ## Documentation Index
> Fetch the complete documentation index at: https://parabola.io/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Connect ShipStation to Parabola

> Pull ShipStation orders, shipments, and fulfillments into Parabola, calculate carrier shipping rates, and combine fulfillment data with other systems.

## What is ShipStation?

ShipStation is a web-based shipping software designed to help e-commerce businesses manage and automate order fulfillment. It provides tools for batch shipping, real-time tracking, and integrations with major carriers like [FedEx](/product/integration/fedex), [UPS](/product/integration/ups), and USPS. ShipStation helps businesses automate the shipping process and reduce manual work.

## Pull from ShipStation

The **Pull from ShipStation** step allows you to pull in orders, shipments, and fulfillments from your [ShipsStation](https://shipstation.com/) account.

## Connect your ShipStation account

After clicking `Authorize`, you'll need to get your API Key and Secret and add them, which will enable this flow to pull from your ShipStation account. You can find your API Key and Secret here: [https://ship11.shipstation.com/settings/api](https://ship11.shipstation.com/settings/api).

<Frame>
  <img src="https://mintcdn.com/parabola-7119dfb0/m7zZQSYx-unTbpCh/images/integration/image-194.png?fit=max&auto=format&n=m7zZQSYx-unTbpCh&q=85&s=557f3a430ad49700a65fdf5ee3c42b09" alt="ShipStation API Key and Secret authorization fields in Parabola" width="2352" height="1264" data-path="images/integration/image-194.png" />
</Frame>

<Frame>
  <img src="https://mintcdn.com/parabola-7119dfb0/m7zZQSYx-unTbpCh/images/integration/image-195.png?fit=max&auto=format&n=m7zZQSYx-unTbpCh&q=85&s=0448c3011293875e858e38e882c416e8" alt="ShipStation API key settings page in the ShipStation account" width="794" height="688" data-path="images/integration/image-195.png" />
</Frame>

## Default settings

By default, thstep will pull in Orders that were created within the last week. The orders pull defaults to also pulling in the line items for each order. This means that each row represents an item in an order. You can also pull in Shipments and Fulfillments.

Across Orders, Shipments, and Fulfillments, you can modify the time frame, default or all columns, and you can filter based on things like status and carrier.

## Custom settings

### Orders

When pulling in shipments, you can select to pull in the default column set or all columns. By default, the Orders pull includes line items. You can change this by updating the settings to show orders without line items

Orders can be filtered in this step to only include those with order status (i.e. Awaiting Shipment).

Orders can also be filtered down by the date they were created.

### Shipments

<Frame>
  <img src="https://mintcdn.com/parabola-7119dfb0/m7zZQSYx-unTbpCh/images/integration/image-196.png?fit=max&auto=format&n=m7zZQSYx-unTbpCh&q=85&s=bccc2408b5846c3d5978ac9baaae30fd" alt="Pull from ShipStation step configured to pull shipments" width="2352" height="1264" data-path="images/integration/image-196.png" />
</Frame>

When pulling in shipments, you can select to pull in the default column set or all columns. By default, the Shipments pull includes line items. You can change this by updating the settings to show shipments without line items. Shipments can be filtered in this step to only include those sent via a certain carrier (i.e. UPS). Shipments can also be filtered down by the date they were created.

### Fulfillments

When pulling in fulfillments, you can select to pull in the default column set or all columns. Fulfillments can also be filtered down by the date they were created.

## Helpful tips

* This step is available starting at our [Plus plan](https://parabola.io/pricing).

## Pull carrier rates from ShipStation

The **ShipStation API** is used for managing and automating shipping tasks, integrating with e-commerce platforms, and streamlining order fulfillment and shipment processes.

ShipStation is a beta integration which requires a slightly more involved setup process than our native integrations. Following the guidance in this document should help even those without technical experience pull data from ShipStation. If you run into any questions, shoot our team an email at [support@parabola.io](mailto:support@parabola.io).

## Use Cases

| Use Case                                    | Description                                                                 |
| :------------------------------------------ | :-------------------------------------------------------------------------- |
| Manage Order and Shipment data              | Sync orders from your store to manage the fulfillment and shipment details. |
| Calculate Carrier Shipping Rates for Orders | Calculate shipping rates for different carriers and services.               |
| Generate Shipping Labels                    | Generate shipping labels for various carriers.                              |

## 🤝 ShipStation | Integration configuration

<CardGroup>
  <Card title="ShipStation API" icon="book-open" href="/product/integration/shipstation" horizontal />

  <Card title="ShipStation API reference docs:" icon="code" href="https://www.shipstation.com/docs/api" horizontal />

  <Card title="ShipStation Authentication docs:" icon="lock" href="https://www.shipstation.com/docs/api/requirements/#authentication" horizontal />
</CardGroup>

### **Instructions**

<Steps>
  <Step>Navigate to your [ShipStation settings](https://ship11.shipstation.com/settings/api) in your account.</Step>

  <Step>
    In the **API Keys** section, create or regenerate your **API Key** and **API Secret**.

    <Frame>
      <img src="https://mintcdn.com/parabola-7119dfb0/m7zZQSYx-unTbpCh/images/integration/image-197.png?fit=max&auto=format&n=m7zZQSYx-unTbpCh&q=85&s=5c0e043287fe2edee91869f52176f205" alt="ShipStation API Keys section showing create or regenerate options" width="4064" height="2334" data-path="images/integration/image-197.png" />
    </Frame>
  </Step>

  <Step>Save your credentials before connecting to Parabola.</Step>
</Steps>

## 🔐 Parabola | Authentication

<Steps>
  <Step>Add a **Pull carrier rates from ShipStation** step template to your canvas.</Step>
  <Step>Click into the **Pull from API: Carriers** step to configure your authentication.</Step>
  <Step>Under the Authentication Type, select **None**.</Step>

  <Step>
    Click into the **Request Settings** to configure your request using the format below:

    ### **Request Headers**

    | Key             | Value                        |
    | --------------- | ---------------------------- |
    | `Authorization` | `Basic  API Key:API Secret>` |

    <Tip>
      **Tip:**

      You can configure an Authorization **Header Value** using a [base-64 encoder](https://www.base64encode.org/). Encode your **Client ID** and **Client Secret** separated by a colon: `Client ID:Client Secret`.

      In Parabola, use the **Header Value** field to type `Basic` , followed by a space, and paste in your encoded credentials: *Basic `{encoded credentials here}`*.
    </Tip>
  </Step>

  <Step>
    Click into the **Enrich with API: ShipStation** Rates step and apply the same authentication settings used in steps 1-4.

    ### **Example Screenshot**

    <Frame>
      <img src="https://mintcdn.com/parabola-7119dfb0/m7zZQSYx-unTbpCh/images/integration/image-198.png?fit=max&auto=format&n=m7zZQSYx-unTbpCh&q=85&s=8a629a1ec0c93c26adcd23d2aa1be9c3" alt="Pull from API Carriers step configured with ShipStation Authorization header" width="1824" height="1584" data-path="images/integration/image-198.png" />
    </Frame>

    <Warning>
      **Note:**

      In this example, the API Key is `api_key`. The API Secret is `api_secret`.

      Base-64 encoding the **API Key** and **API Secret**, separated by a colon, generates the following string: `YXBpX2tleTphcGlfc2VjcmV0`
    </Warning>
  </Step>
</Steps>

## **🌐 ShipStation | Sample API Requests**

### **Calculate shipping rates by ShipStation carriers**

Get started with [this template](https://parabola.io/api/clipboard/f38fdefc-281c-4ff3-a287-c99f67443ee1/copy_to_flow?name=Calculate+shipping+rates+by+ShipStation+carriers).

### **Load sample orders**

<Steps>
  <Step>
    Add a **Use** [**Sample data**](/product/integration/sample-data) step to your canvas. You also can import a dataset with tracking numbers into your flow (Pull from Excel File, Pull from Google Drive, Pull from API, etc.)
  </Step>

  <Step>
    Select the **Ecommerce: Orders** dataset and click **Refresh Data**.

    <Tip>
      **Tip:** Connect the sample data to a **Limit rows** step to get rates for 1 sample order.
    </Tip>
  </Step>

  <Step>
    Use an **Add text columns** step to generate a new column **Merge**.

    * Set the column value to *`1`*.
  </Step>
</Steps>

### **List all Shipstation carriers**

<Steps>
  <Step>
    Add **a Pull from API** step beneath the Use sample data step.
  </Step>

  <Step>
    Click into the step. Under **Authentication Type**, select **None**.
  </Step>

  <Step>
    Click into the **Request Settings** and configure a request to [list all carriers](https://www.shipstation.com/docs/api/carriers/list/) in your [ShipStation](/product/integration/shipstation) account:

    **API Endpoint URL**

    | Field            | Value                                    |
    | ---------------- | ---------------------------------------- |
    | Method           | `GET`                                    |
    | API Endpoint URL | `https://ssapi.shipstation.com/carriers` |

    **Request Headers**

    | Key             | Value                        |
    | --------------- | ---------------------------- |
    | `Authorization` | `Basic  API Key:API Secret>` |

    Click **Refresh data** to display the results.
  </Step>

  <Step>
    Select **orders** as a Nested Key.
  </Step>

  <Step>
    Click **Refresh data** once more to expand the order data into a table.

    ### **Example Screenshot**

    <Frame>
      <img src="https://mintcdn.com/parabola-7119dfb0/m7zZQSYx-unTbpCh/images/integration/image-199.png?fit=max&auto=format&n=m7zZQSYx-unTbpCh&q=85&s=ff05e576a83506dd89b68f1d88d9e50f" alt="Pull from API showing ShipStation carriers expanded into a table" width="1174" height="636" data-path="images/integration/image-199.png" />
    </Frame>

    Connect this step to [**Edit columns**](/product/transform/edit-columns) step.
  </Step>

  <Step>
    In the Edit columns step, keep the **name** and **code** columns.
  </Step>

  <Step>
    Use an **Add text columns** step to generate a new column *`Merge`*.

    * Set the column value to *`1`*.
  </Step>
</Steps>

### **Map ShipStation carriers to sample orders**

<Steps>
  <Step>
    Use a **Combine tables** step and connect these steps:

    * Input 1: **Add** [**text column**](/product/transform/insert-text-column) **(Load sample data)**
    * Input 2: **Add text column (Import ShipStation carriers)**
  </Step>

  <Step>
    Click into the step to configure the settings.

    * **Keep** **all rows** from **Add text column** (Load sample data)
    * **Keep** **only matching rows** from **Add text column** (Import ShipStation carriers)
    * Where the *`Merge`* column matches.
  </Step>
</Steps>

### **Merge product weight and dimensions**

<Steps>
  <Step>
    Copy and paste the **Products - Weight and dimensions.csv** file snippet into your flow: `parabola:cb:86331de2-e00b-4634-b629-d37098bbbdfe`
  </Step>

  <Step>
    Use another **Combine tables** step and connect these steps:

    * Input 1: **Combine tables**
    * Input 2: **Pull from CSV file**
  </Step>

  <Step>
    Click into the step to configure the settings.

    * Input 1: [**Combine tables**](/product/transform/combine-tables)
    * Input 2: **Pull from CSV file**
    * Where the *`Product Title`* and *`Product `* columns match
  </Step>
</Steps>

### **Get carrier shipping rates for sample orders**

<Steps>
  <Step>
    Connect the dataset to an Enrich with API step.
  </Step>

  <Step>
    Click into the step. Under **Authentication Type**, select **None**.
  </Step>

  <Step>
    Click into the **Request Settings** to configure a request to [get shipping rates](https://www.shipstation.com/docs/api/shipments/get-rates/) for the specified shipping details:

    **API Endpoint URL**

    | Field            | Value                                              |
    | :--------------- | :------------------------------------------------- |
    | Method           | `POST`                                             |
    | API Endpoint URL | `https://ssapi.shipstation.com/shipments/getrates` |

    **Request Body**

    | Field  | Value                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
    | :----- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
    | Format | `JSON`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
    | Body   | `{`   <br />`"carrierCode": "{Carrier Code}",`  <br /> `"serviceCode": null,`   <br />`"packageCode": null,`   <br />`"fromPostalCode": "60561",`   <br />`"toState": "{State}",`   <br />`"toCountry": "US",`   <br />`"toPostalCode": "{Zip}",`   <br />`"toCity": "{City}",`   <br />`"weight": {`   `"value": {Weight (Value)},`   <br />`"units": "{Weight (UOM)}"`   <br />`},`   <br />`"dimensions": {`   <br />`"units": "{Dimensions (Units)}",`   <br />`"length": {Dimensions (Length)},`   <br />`"width": {Dimensions (Width)},`   <br />`"height": {Dimensions (Height)}`   <br />`},`   <br />`"confirmation": "delivery",`   <br />`"residential": true`   <br />`}` |

    **Request Headers**

    | Key             | Value                        |
    | :-------------- | :--------------------------- |
    | `Authorization` | `Basic  API Key:API Secret>` |
    | `Content-Type`  | `application/json`           |

    ### **Example Screenshots**

    <Frame>
      <img src="https://mintcdn.com/parabola-7119dfb0/m7zZQSYx-unTbpCh/images/integration/image-200.png?fit=max&auto=format&n=m7zZQSYx-unTbpCh&q=85&s=a92b276083df4b1047730d7364ff4a8c" alt="Enrich with API step configured for ShipStation getrates endpoint" width="1184" height="1308" data-path="images/integration/image-200.png" />
    </Frame>

    ### **Template Screenshot**

    <Frame>
      <img src="https://mintcdn.com/parabola-7119dfb0/m7zZQSYx-unTbpCh/images/integration/image-201.png?fit=max&auto=format&n=m7zZQSYx-unTbpCh&q=85&s=eb5c14601cb70d25e71882d28fbf9393" alt="Calculate shipping rates by ShipStation carriers flow template" width="3056" height="1586" data-path="images/integration/image-201.png" />
    </Frame>
  </Step>
</Steps>

## 📣 Callouts

<Note>
  **Note:**

  The **weight** of the order must be provided in the API request. The **dimensions** are optional. Consider using an [**Add math**](/product/transform/insert-math-column) **column** and [**Sum by group**](/product/transform/sum-by-group) steps to calculate weight and dimension values by order and quantity.
</Note>
