Welcome to the PartnerStack Integration Docs

Here you can find guides, documentation, support and FAQs to get you setup on PartnerStack.

Chat with us by clicking the message bubble in the bottom right if you are having any trouble!

Get Started

Universal Importer

Importing data into your channel program

Overview

The PartnerStack importer allows company users to create or update objects in PartnerStack by uploading a csv (comma separated value) file into PartnerStack via their program dashboard or through the REST API.

Importing Data is a simple, secure way to bring data into PartnerStack:

  • Only users with elevated permission can access the importer
  • All objects follow the same patterns of import
  • Alerts prevent you from importing incorrect headers
  • Post import reports provide a detailed breakdown of imported and skipped rows
  • All importer activity is captured in the audit log

Supported Objects

The importer currently supports these objects:

  • Partners
  • Customers
  • Transactions
  • Deals (if applicable)
  • Orders (if applicable)
  • Assets (if applicable)
  • Bills (if applicable)
  • Product Catalog and Price Rules (if applicable)

These objects cannot currently be imported:

  • Leads
  • PartnerTeams
  • Subscriptions
  • Rewards
  • Actions

📘

Company only feature

At this time, only Company users can import data. Partner users cannot import data.

Importing Data

To import data into PartnerStack, follow these steps:

  1. Ensure you have permission to access the Importer
  2. Understand your business use case
  3. Know your data and program configuration
  4. Select your object type
  5. Follow the guide for the object type you’re importing

1. Import Permissions

A user's access to the importer is controlled by their permission configurations. By default ‘Admin' and ‘Technical Teammates’ have access to the importer.

Access to the importer can be provided as needed to individual teammates by using a ‘custom’ permission configuration.

Once a user has access to the importer page, that user has access to all import types available to the program. In other words, you cannot limit importer access to a subset of objects so please ensure to only grant import permissions to teammates who need them.

2. Understand your business use case

The importer can be used to complete a variety of tasks within your partner program. Before you import any data, it is important to understand how your program functions and what your business process is. Importing certain data types such as transactions and orders have the potential to generate financial rewards for partners.

To provide your partners the best possible experience we recommend double checking the expected outcome of your import with your teammate who setup your program Triggers, or PartnerStack support.

Common use cases and important notes:

Use caseImportant NotesRelated objects
Importing new partnersDouble check the user of ‘send invite emails'. Toggling this option on will send all imported partners an email to ‘claim their account’. If you’re not ready for partners to login to the portal, ensure this is toggled off.Partnership
Backfilling transactionsBackfilling Transaction due to an integration outage, or a migration from another platform, ensure that you have first uploaded all relevant customer objects into PartnerStack. Transaction without a corresponding customer record will not be imported.Customer Transaction
Updating Catalog and Price RulesCatalog must be uploaded to completion first, then the Price Rules can be imported.Uploading a catalog will increment the version and replace the current catalog. If you’re looking to ADD new product, ensure you’re uploading the entire catalog with the new items, rather than just the new items.Product Catalog
Price Rules

3. Know your data and program configuration

Now that you know what you want to accomplish and the relevant objects, you’ll need to ensure you have the proper data for those objects. For instance, a Transactions import will require you to have access to the customer identifier and the net sales amount for each transaction line. You should also double check and field level requirements you might have setup in PartnerStack.

A simple way to check the needed data is to select the object of interest in the Importer object drop down and then view the required fields.

4. Select your object type

Navigate to the importer tool in your company dashboard, and select a data type from the dropdown.

Hover over “View Headers” to see a list of required and optional fields, or simply download a CSV template that includes all the headers.

Partner Import

Field NameTypeexampleRequired?
partner_firststring“Bryn”yes
partner_laststring“Jones”yes
partner_emailstring[email protected]yes
partner_groupstring“Affiliates”no
partner_tierstring“tier_xyz”no
partner_joined_datestring (ISO 8601 YYYY-MM-DD)“2020-12-25”no
partner_keystring“PartnerBryn”no
partner_phone_numberstring“1112223333”no
shipping_address_citystring“Toronto”no
shipping_address_countrystring“Canada”no
shipping_address_line1string“123 Spadina ave”no
shipping_address_line2string“Unit 12”no
shipping_address_postalstring“L5C3S9” or “32154”no
shipping_address_statestring“New York”no
TagsString"tag1, tag2, tag3"no

Customer Import

Field NameTypeexampleRequired?
customer_key ⚠️string“cus_123xyz”yes
emailstring[email protected]yes
partner_keystring“PartnerBryn”yes
namestring“Marlie the Dog”no
created_atstring (ISO 8601 YYYY-MM-DD)“2020-12-25”no
company_namestring“Marlie Co”no
provider_keystring"cus_123xyz"no
statestring“New York”no
citystring“Toronto”no
unitstring“Unit 12”no
regionstring“Americas”no
primarybooleanTRUEno
postalstring“L5C3S9” or “32154”no

Transaction Import

Field NameTypeexampleRequired?
customer_keystring“customer_123”yes
amount_in_cents
or
amount_in_dollars
integer40000yes (one of)
created_atstring (ISO 8601 YYYY-MM-DD)“2020-12-25”no
currencystring“USD”no
keystring“transaction_123”no
product_keystring“product_123'no

Product Catalog Import

Field NameTypeexampleRequired?
base_product_namestring“Product ABC”yes
product_family_namestring“Premium”yes
product_idstring“LPP-1234”yes
product_namestring“Beginner Product Premium”yes
base_product_typestringone of [“base”, “price”, “discount”, “addon”, “product”]no
default_price_amountinteger100000no
default_price_currencystring“USD”no

Product Price Rules Import

Field NameTypeexampleRequired?
amountinteger100000yes
amount_typestring“flat” or “percent”yes
currencystring“USD”yes
per_unitbooleanTRUEyes
product_idstring“LPP-1234”yes
group_idinteger1no
max_seatsinteger1no
min_seatsinteger2no
tier_idinteger1no

Asset Import

Field NameTypeexampleRequired?
created_atepoch (UTC)1587479311076yes
customer_keystring“customer_123”yes
external_keystring“asset_123”yes
product_namestring“Beginner Product Premium”yes
product_skustring“SKU-123445”yes
statusstringone of [“suspended”, “active”, “renewed”, “cancelled”, “active”]yes
attributesobject{”key1”:”val1”,”key2”:”val2”}no
customer_canstring“customer_can_123”no
customer_company_idstring“company_1234”no
license_keystring“license_123'no
parent_external_keystring“asset_123”no
partnership_keystring“partner_123”no
trigger_eligiblebooleanTRUEno
metaobject{“custom_property”: “custom_value”}no

Order Import

Field NameTypeexampleRequired?
asset_keystring“asset_123”yes
attribute_linestringyes
billing_freqstringone of [“One-time”, “Monthly”, “Quarterly”, “Annual”, “Usage”]yes
created_atepoch (UTC)1587479311076yes
customer_keystring“customer_123”yes
item_amountnumber12yes
item_external_keystring“item_123”yes
item_statusSTRINGone of [“open”, “cancelled”, “complete”, “pending”]yes
order_external_keystring“order_123”yes
order_statusstringone of [“draft”, “created”, “approved”, “declined”, “cancelled”, “paid”, “fulfilled”, “returned”]yes
quantitynumber13yes
sequenceinteger1yes
type_stringone of [“Data Migration”, “Registration”, “Renewal”, “Retail Bill Activation”, “Sales Order”, “Termination Order”, “Version Protection”, “Web Order”, “Add Request”, “Update Request”]yes
item_typestringone of [“add”, “delete”, “resume”, “suspend”, “update”]no
partnership_keystring“partner_123”no
product_namestring“Beginner Product Premium”no
product_skustring“SKU-123”no
metaobject{“custom_property”: “custom_value”}no

Bill Import

Field NameTypeexampleRequired?
asset_external_keystring“asset_123”yes
created_atepoch (UTC)1587479311076yes
currencystring“USD”yes
customer_keystring“customer_123”yes
external_keystring“bill_123”yes
offering_typestringone of [“base”, “promotion”, “proration”, “shipping”]yes
order_item_external_keystring“order_item_12”yes
partnership_keystring“partner_123”yes
statusstringone of [“paid”, “refunded”, “unpaid”yes
subtotalinteger123445yes
taxesinteger100yes
totalinteger100000yes
type_stringone of [“adjustment”, “purchase”, “renewal”]yes
trigger_eligiblebooleanTRUEno
metaobject{“custom_property”: “custom_value”}no

Updated 27 days ago

Universal Importer


Importing data into your channel program

Suggested Edits are limited on API Reference Pages

You can only suggest edits to Markdown body content, but not to the API spec.