---
updatedAt: 2025-11-11T23:07:26.000Z
agentTools:
  projectIndex: https://developers.shipup.co/llms.txt
---

# Customer.io integration

```json Tracker
{
  "name": "shipup_event",
  "data": {
    "subject": "I'm a subject",
    "title": "I'm a title",
    "body": "I'm a body",
    "source": "Tracker",
    "notification": {
      "category": "package_delivered",
      "slug": "package_delivered_to_3rd_party",
      "tracking_link": "https://api.shipup.co/v1/notifications/tracking_link?notification_uuid=7f1f875b-c4b2-43c9-8e39-4666ee303ee4",
      "notification__survey_links": {
        "satisfied": "https://api.shipup.co/v1/notifications/survey?notification_uuid=7f1f875b-c4b2-43c9-8e39-4666ee303ee4&satisfied=happy",
        "dissatisfied": "https://api.shipup.co/v1/notifications/survey?notification_uuid=7f1f875b-c4b2-43c9-8e39-4666ee303ee4&satisfied=unhappy"
      }
    },
    "order": {
      "custom_variables": {
        "custom": "order_variable"
      },
      "email": "hello@shipup.co",
      "first_name": "Héloise",
      "fulfillment_count": 1,
      "full_name": "Héloise",
      "language_code": "en",
      "last_name": null,
      "order_number": "ABCD123",
      "ordered_at": 1542399900,
      "phone": null,
      "tracker_count": 1
    },
    "fulfillment": {
      "custom_variables": {
        "custom": "fulfillment_variable"
      },
      "fulfillment_number": "XYZABCD_1",
      "merchant_id": "internal_id_1234"
    },
    "tracker": {
      "carrier_code": "colissimo",
      "carrier_tracking_url": "http://www.laposte.fr/outils/track-a-parcel?code=AZ123456789BE",
      "custom_variables": null,
      "delivered_at": null,
      "delivery_status_code": "pending",
      "expected_delivery_date": null,
      "first_delivery_attempted_at": null,
      "has_pickup_point": true,
      "order_shipment_rank": null,
      "pickup_changed": null,
      "pickup_point": {
        "opening_hours": {
          "tue": "06:30-19:00"
        },
        "closed_dates": {
          "01/05/2021": true,
          "25/12/2021": true
        },
        "special_openings": {
        },
        "phone": "+33612345678",
        "address": {
          "id": 1,
          "object": "address",
          "comment": null,
          "city": "Paris",
          "country": "France",
          "country_code": "FR",
          "state": null,
          "address1": "1 place du 11 novembre 1918",
          "address2": null,
          "zip": "75010",
          "company_title": null,
          "first_name": null,
          "last_name": null,
          "name": null
        },
        "map": {
          "banner_url": "https://shipup-assets-prod.s3.eu-west-1.amazonaws.com/pickup_point_banners/colissimo/CONSIGNE PICKUP GARE DE L EST/097095.jpg",
          "google_maps_link": "https://www.google.com/maps/search/?api=1&query=48.876932%2C2.359989"
        }
      },
      "shipped_at": null,
      "tracking_number": "AZ123456789BE",
      "carrier": {
        "name": "Colissimo",
        "code": "colissimo"
      }
    },
    "shipping_address": {
      "comment": null,
      "city": "Paris",
      "country": "France",
      "country_code": "FR",
      "state": null,
      "address1": "1, rue de Rivoli",
      "address2": null,
      "zip": "75001",
      "company_title": "ACME Corp",
      "first_name": "John",
      "last_name": "Doe",
      "display_address": "John Doe<br>ACME Corp<br>1, rue de Rivoli<br>75001 Paris<br>France",
      "can_be_displayed": true
    },
    "line_items": [
      {
        "canceled_quantity": null,
        "canceled": null,
        "custom_variables": null,
        "description": null,
        "merchant_id": "LINE_ITEM_FULFILLED_M_ID_1",
        "name": null,
        "quantity": 3,
        "requires_shipping": null,
        "shipped_quantity": 2,
        "sku": "LINE_ITEM_FULFILLED_SKU_1",
        "thumbnail": {
          "src": "https://imgurl.com/foo.jpg",
          "width": "300",
          "height": "100"
        },
        "title": null,
        "variant_title": null
      }
    ]
  }
}
```
```json Fulfillment
{
  "name": "shipup_event",
  "data": {
    "subject": "I'm a subject",
    "title": "I'm a title",
    "body": "I'm a body",
    "source": "Fulfillment",
    "notification": {
      "category": "package_delivered",
      "slug": "package_delivered_to_3rd_party",
      "tracking_link": "https://api.shipup.co/v1/notifications/tracking_link?notification_uuid=7f1f875b-c4b2-43c9-8e39-4666ee303ee4"
    },
    "order": {
      "custom_variables": {
        "custom": "order_variable"
      },
      "email": "hello@shipup.co",
      "first_name": "Héloise",
      "fulfillment_count": 1,
      "full_name": "Héloise",
      "language_code": "en",
      "last_name": null,
      "order_number": "ABCD123",
      "ordered_at": 1542399900,
      "phone": null,
      "tracker_count": 0
    },
    "fulfillment": {
      "custom_variables": {
        "custom": "fulfillment_variable"
      },
      "fulfillment_number": "XYZABCD_1",
      "merchant_id": "internal_id_1234"
    },
    "shipping_address": {
      "comment": null,
      "city": "Paris",
      "country": "France",
      "country_code": "FR",
      "state": null,
      "address1": "1, rue de Rivoli",
      "address2": null,
      "zip": "75001",
      "company_title": "ACME Corp",
      "first_name": "John",
      "last_name": "Doe",
      "display_address": "John Doe<br>ACME Corp<br>1, rue de Rivoli<br>75001 Paris<br>France",
      "can_be_displayed": true
    },
    "line_items": [
      {
        "canceled_quantity": null,
        "canceled": null,
        "custom_variables": null,
        "description": null,
        "merchant_id": "LINE_ITEM_FULFILLED_M_ID_1",
        "name": null,
        "quantity": null,
        "requires_shipping": null,
        "shipped_quantity": null,
        "sku": "LINE_ITEM_FULFILLED_SKU_1",
        "thumbnail": {
          "src": "https://imgurl.com/foo.jpg",
          "width": "300",
          "height": "100"
        },
        "title": null,
        "variant_title": null
      }
    ]
  }
}
```
```json Order
{
  "name": "shipup_event",
  "data": {
    "subject": "I'm a subject",
    "title": "I'm a title",
    "body": "I'm a body",
    "source": "Order",
    "notification": {
      "category": "package_delivered",
      "slug": "package_delivered_to_3rd_party",
      "tracking_link": "https://api.shipup.co/v1/notifications/tracking_link?notification_uuid=7f1f875b-c4b2-43c9-8e39-4666ee303ee4"
    },
    "order": {
      "custom_variables": {
        "custom": "order_variable"
      },
      "email": "hello@shipup.co",
      "first_name": "Héloise",
      "fulfillment_count": 0,
      "full_name": "Héloise",
      "language_code": "en",
      "last_name": null,
      "order_number": "ABCD123",
      "ordered_at": 1542399900,
      "phone": null,
      "tracker_count": 0
    },
    "line_items": [
      {
        "canceled_quantity": null,
        "canceled": null,
        "custom_variables": null,
        "description": null,
        "merchant_id": "LINE_ITEM_M_UNFULFILLED_ID_1",
        "name": null,
        "quantity": null,
        "requires_shipping": null,
        "shipped_quantity": null,
        "sku": "LINE_ITEM_UNFULFILLED_SKU_1",
        "thumbnail": {
          "src": "https://imgurl.com/foo.jpg",
          "width": "300",
          "height": "100"
        },
        "title": null,
        "variant_title": null
      }
    ]
  }
}
```

After you setup **Customer.io** as a notification channel, Shipup will send the corresponding notifications to your account in the following format:

<Table align={["left","left"]}>
  <thead>
    <tr>
      <th>
        FIELD
      </th>

      <th>
        DESCRIPTION
      </th>
    </tr>
  </thead>

  <tbody>
    <tr>
      <td>
        **name**
        string
      </td>

      <td>
        Value is "shipup\_event"
      </td>
    </tr>

    <tr>
      <td>
        **data**\
        object
      </td>

      <td>
        Properties of the notification. See the format below
      </td>
    </tr>
  </tbody>
</Table>

The `data` payload object will have the following format:

<Table align={["left","left"]}>
  <thead>
    <tr>
      <th>
        FIELD
      </th>

      <th>
        DESCRIPTION
      </th>
    </tr>
  </thead>

  <tbody>
    <tr>
      <td>
        **subject**
        string
      </td>

      <td>
        Subject as setup in the corresponding notification setting
      </td>
    </tr>

    <tr>
      <td>
        **title**\
        string
      </td>

      <td>
        Title as setup in the corresponding notification setting
      </td>
    </tr>

    <tr>
      <td>
        **body**\
        string
      </td>

      <td>
        Body as setup in the corresponding notification setting
      </td>
    </tr>

    <tr>
      <td>
        **source**\
        string
      </td>

      <td>
        Could be `Order`, `Fulfillment` or `Tracker` depending on the resource attached to the notification
      </td>
    </tr>

    <tr>
      <td>
        **notification**\
        object
      </td>

      <td>
        See the [notification object](https://developers.shipup.co/reference/notification-api-resource) and additional specific Customer.io properties in the table below
      </td>
    </tr>

    <tr>
      <td>
        **order**\
        object
      </td>

      <td>
        See the [order object](https://developers.shipup.co/reference/order-api-resource) and additional specific Customer.Io properties in the table below
      </td>
    </tr>

    <tr>
      <td>
        **fulfillment**\
        object
      </td>

      <td>
        See the [fulfillment object](https://developers.shipup.co/reference/fulfillment-api-resource).\
        Will only be present if `source` is `Fulfillment` or `Tracker`.
      </td>
    </tr>

    <tr>
      <td>
        **shipping\_address**\
        object
      </td>

      <td>
        Address properties. See the [address object](https://developers.shipup.co/reference/address-api-resource) and additional specific Customer.io properties in the table below.\
        Will only be present if an address is linked to the source of the notification.
      </td>
    </tr>

    <tr>
      <td>
        **tracker**\
        object
      </td>

      <td>
        Tracker properties. See the [tracker object](https://developers.shipup.co/reference/tracker-api-resource) and additional specific Customer.io properties in the table below.\
        Will only be present if `source` is `Tracker`.
      </td>
    </tr>

    <tr>
      <td>
        **line\_items**\
        array
      </td>

      <td>
        Array of `line_items` linked to the source.\
        See the [line item object](https://developers.shipup.co/reference/line-item-api-resource)
      </td>
    </tr>
  </tbody>
</Table>

In addition to the properties described in the object references, Shipup adds the following ones to the Customer.io events:

<Table align={["left","left","left"]}>
  <thead>
    <tr>
      <th>
        OBJECT
      </th>

      <th>
        FIELD
      </th>

      <th>
        DESCRIPTION
      </th>
    </tr>
  </thead>

  <tbody>
    <tr>
      <td>
        **notification**
      </td>

      <td>
        **tracking\_link**\
        string
      </td>

      <td>
        Link to the merchant's tracking page for the order
      </td>
    </tr>

    <tr>
      <td>
        **notification**
      </td>

      <td>
        **survey\_links**\
        object with 2 keys  ("satisfied" and "dissatisfied")
      </td>

      <td>
        Only available if the notification category is `package_delivered`.\
        The links will redirect the end-user to the survey platform as if the end-user had clicked on the "satisfied' or "dissatisfied" button in Shipup delivered notification.
      </td>
    </tr>

    <tr>
      <td>
        **order**
      </td>

      <td>
        **full\_name**\
        string
      </td>

      <td>
        Concatenation of the customer's `first_name` and `last_name`. Will consist of only last name or first name if the other one is missing
      </td>
    </tr>

    <tr>
      <td>
        **order**
      </td>

      <td>
        **tracker\_count**\
        integer
      </td>

      <td>
        Count of trackers for the linked order
      </td>
    </tr>

    <tr>
      <td>
        **order**
      </td>

      <td>
        **fulfillment\_count**\
        integer
      </td>

      <td>
        Count of fulfillments for the linked order
      </td>
    </tr>

    <tr>
      <td>
        **shipping\_address**
      </td>

      <td>
        **display\_address**\
        string
      </td>

      <td>
        Pre-formatted address in HTML format. The representation will vary depending on the destination country, in order to match local standards.
      </td>
    </tr>

    <tr>
      <td>
        **shipping\_address**
      </td>

      <td>
        **can\_be\_displayed**\
        boolean
      </td>

      <td>
        Will be true if the address is complete, i.e. if it contains a recipient, address line, zip code, and city.
      </td>
    </tr>

    <tr>
      <td>
        **tracker**
      </td>

      <td>
        **expected\_delivery\_date**\
        string, format is mm/dd/yyyy or mm/dd/yyyy depending on the destination country
      </td>

      <td>
        Corresponds to the tracker displayable\_expected\_delivery\_date attribute
      </td>
    </tr>

    <tr>
      <td>
        **tracker**
      </td>

      <td>
        **order\_shipment\_rank**\
        integer
      </td>

      <td>
        Shipment rank of the current tracker for its order.\
        e.g., if one package is already shipped, this rank will be 2 for the 2nd package when shipped. Value is `null` if the package is not shipped yet.\
        Will only be present if the `source` is `Tracker`
      </td>
    </tr>

    <tr>
      <td>
        **tracker**
      </td>

      <td>
        **carrier\_tracking\_url**\
        string
      </td>

      <td>
        Link to the carrier's tracking page for a specific tracker
      </td>
    </tr>

    <tr>
      <td>
        **tracker**
      </td>

      <td>
        **has\_pickup\_point**\
        boolean
      </td>

      <td>
        Will be true for trackers set to be delivered at a pickup point
      </td>
    </tr>

    <tr>
      <td>
        **tracker**
      </td>

      <td>
        **pickup\_changed**\
        boolean
      </td>

      <td>
        Will be true for trackers set to be delivered to a pickup point, and the initially chosen pickup point can't receive the package
      </td>
    </tr>

    <tr>
      <td>
        **tracker**
      </td>

      <td>
        **carrier**\
        object
      </td>

      <td>
        See the carrier field of [the tracker object](https://developers.shipup.co/reference/tracker-api-resource).\
        Will only be present if `source` is `Tracker`.
      </td>
    </tr>

    <tr>
      <td>
        **tracker**
      </td>

      <td>
        **pickup\_point**\
        object
      </td>

      <td>
        If the tracker is set to be delivered to a pickup\_point, will contain the address, phone and opening information for the pickup\_point, when available.\
        See the pickup point object in the table below.
      </td>
    </tr>
  </tbody>
</Table>

Here is the object reference for a pickup point:

<Table align={["left","left"]}>
  <thead>
    <tr>
      <th>
        FIELD
      </th>

      <th>
        DESCRIPTION
      </th>
    </tr>
  </thead>

  <tbody>
    <tr>
      <td>
        **opening\_hours**
        object
      </td>

      <td>
        Opening hours of a pickup point.\
        Example: `{  "mon": "14:00-16:00",  "sat": "",  "thu": "14:00-16:00" }`
      </td>
    </tr>

    <tr>
      <td>
        **closed\_dates**\
        object
      </td>

      <td>
        Closing days of a pickup point.\
        Example: `{ "01/08/2021": true, "02/07/2021": true }`
      </td>
    </tr>

    <tr>
      <td>
        **special\_openings**\
        object
      </td>

      <td>
        Days where a pickup point is exceptionally open.\
        Example: `{ "24/12/2021": true }`
      </td>
    </tr>

    <tr>
      <td>
        **phone**\
        string
      </td>

      <td>
        Phone number of the pickup point
      </td>
    </tr>

    <tr>
      <td>
        **address**\
        object
      </td>

      <td>
        Address of the pickup point.\
        See the [address object](https://developers.shipup.co/reference/address-api-resource).
      </td>
    </tr>

    <tr>
      <td>
        **map**\
        object
      </td>

      <td>
        Map of the pickup point. Has two attributes:  

        * **banner\_url**: URL to a map image of the pickup point's address
        * **google\_maps\_link**: URL that redirects to the Google Maps location\
          Example: `{"banner_url": "https://shipup.amazonaws.com/pickup_point/123.png", "google_maps_link": "https://www.google.com/maps/search/?api=1&query=123"}`
      </td>
    </tr>
  </tbody>
</Table>