Products API

The Products API lets you perform CRUD product management operations.

URL

URL: https://api.clickbank.com/rest/1.3/products

Methods

This section provides details about the methods available within the Products API, including required keys and roles, output types, and supported and required parameters.

The following methods are covered in this section:

GET  /1.3/products/schema

This method returns the XML schema for product results.

Required Keys and Roles

  • None

Return Type

XML schema for Product Information

Supported Output Types

  • application/xml

GET  /1.3/products/{sku}

This method returns the product with the specified SKU.

Request Parameters

Name Required Description
site Yes The account owning the product.

Required Keys and Roles

  • Developer Key
  • Clerk Key
    • API Products Client Role

Return Type

Product Information

Supported Output Types

  • application/xml
  • application/json

GET  /1.3/products/list

This method returns a list of all products associated with an account.

Request Parameters

Name Required Description
site Yes The account owning the products to be returned.
type No The product types to return. Must be either STANDARD or RECURRING. If you do not specify a type, all types are returned.

Required Keys and Roles

  • Developer Key
  • Clerk Key
    • API Products Client Role

Return Type

Product Information

Supported Output Types

  • application/xml
  • application/json

PUT /1.3/products/{sku}

This method creates a product with the specified parameters.

Request Parameters

Name Required Description
currency Yes

The currency the product is sold in, in three-character format. See the Currencies ClickBank Accepts article for a full list.

language Yes The language of the product. The valid values are:
  • DE – German
  • EN – English
  • ES – Spanish
  • FR – French
  • IT – Italian
  • PT – Portuguese
price Yes

The initial price for the product.

site Yes

The account nickname that owns the new product.

title Yes

The title of the product.

categories Required for product with digital component The categories for a product with a digital component. One or more categories can be specified. Valid values are:
  • EBOOK
  • SOFTWARE
  • GAMES
  • AUDIO
  • VIDEO
  • MEMBER_SITE
deliveryMethod Required for product with physical component

The method of delivery for a physical product.

deliverySpeed Required for product with physical component

The speed of delivery for a physical product.

description Required for product with physical component A description of the product.
digital At least one component is required

Components specify one or more pieces of the product. For example, a one-time physical product would have a physical component, while a physical product with recurring digital would have a physical component and a digitalRecurring component.

You must specify one or more components for the product:

  • digital – The product includes a one-time digital component.
  • digitalRecurring – The product includes a recurring digital component.
  • physical – The product includes a one-time physical component.
  • physicalRecurring – The product includes a recurring physical component.
digitalRecurring
physical
physicalRecurring
duration Required for recurring products The rebill duration for a recurring product.
frequency Required for recurring products The rebill frequency for a recurring product. Valid values are:
  • WEEKLY
  • BI_WEEKLY
  • MONTHLY
  • QUARTERLY
  • YEARLY
pitchPage At least one pitch page is required

You must specify at least one URL for the product's pitch page. This can be the same as the HopLink Target URL. You can specify a generic pitch page URL, a mobile-friendly pitch page URL, or both.

mobilePitchPage
rebillPrice Required for recurring products The rebill price for a recurring product.
shippingProfile Required for product with physical component

The shipping profile for a physical product.

thankYouPage At least one thank you page is required You must specify at least one thank you page for the product. You can specify a generic thank you page, a thank you page designed for mobile devices, or both.
mobileThankYouPage
trialPeriod Required for recurring products

The trial period for a recurring product, in days. The valid values are either 0 (meaning no trial period) or a whole number between 3 and 31.

image No

The ID of the image to associate with the product.

preRebillNotificationLeadTime No

The lead time for pre-rebill notifications, in days. If pre-rebill notifications are enabled, a reminder message is sent to customers prior to each rebill.

preRebillNotificationOverride No

When this parameter is set, pre-rebill notifications are sent regardless of the product's rebill cycle. If this parameter is not set, pre-rebill notifications are not sent for products that are rebilled every month or more frequently.

purchaseCommission No

The commission rate for the product. If unspecified, the account's default commission rate is used.

rebillCommission No

The rebill commission for a recurring product.

rebillRefundDaysLimit No

The number of days within which a rebill can be refunded.

saleRefundDaysLimit No

The number of days within which a sale can be refunded.

skipConfirmationPage No

Specifies whether the confirmation page is skipped. Valid values are true or false.

This parameter is role restricted. If you do not have the role, it will not be honored.

Required Keys and Roles

  • Developer Key
  • Clerk Key
    • API Products Client Role

Return Type

A product SKU.

Supported Output Types

  • application/xml
  • application/json

DELETE /1.3/products/{sku}

This method deletes the product with the specified SKU.

Request Parameters

Name Required Description
site Yes The account owning the product to be deleted.

Required Keys and Roles

  • Developer Key
  • Clerk Key
    • API Products Client Role

Return Type

Nothing.

Supported Output Types

  • application/xml
  • application/json

Return Types

This section details the return types used by the Products API.

The following return types are covered in this section:

Product Information

Product InformationResult returns use the following format:

<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" version="1.0">
<xs:element name="Image" type="imageBean"/>
<xs:element name="commission" type="productCommission"/>
<xs:element name="contractBean" type="contractBean"/>
<xs:element name="physical" type="physicalPricing"/>
<xs:element name="pitch_pages" type="pitchPages"/>
<xs:element name="price" type="price"/>
<xs:element name="pricing" type="pricing"/>
<xs:element name="product" type="productBean"/>
<xs:element name="product_approval_status" type="productApprovalStatus"/>
<xs:element name="recurring" type="recurringPricing"/>
<xs:element name="standard" type="standardPricing"/>
<xs:element name="thank_you_pages" type="thankYouPages"/>
<xs:complexType name="productBean">
<xs:sequence>
<xs:element name="id" type="xs:int" minOccurs="0"/>
<xs:element name="status" type="activeStatus" minOccurs="0"/>
<xs:element name="digital" type="xs:boolean"/>
<xs:element name="physical" type="xs:boolean"/>
<xs:element name="digitalRecurring" type="xs:boolean"/>
<xs:element name="physicalRecurring" type="xs:boolean"/>
<xs:element name="site" type="xs:string" minOccurs="0"/>
<xs:element name="created" type="xs:string" minOccurs="0"/>
<xs:element name="updated" type="xs:string" minOccurs="0"/>
<xs:element name="approval_status" type="productApprovalStatus" minOccurs="0"/>
<xs:element name="language" type="xs:string" minOccurs="0"/>
<xs:element name="title" type="xs:string" minOccurs="0"/>
<xs:element name="description" type="xs:string" minOccurs="0"/>
<xs:element name="image" type="imageBean" minOccurs="0"/>
<xs:element ref="thank_you_pages" minOccurs="0"/>
<xs:element ref="pitch_pages" minOccurs="0"/>
<xs:element ref="commission" minOccurs="0"/>
<xs:element name="pricings" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element ref="pricing" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="contracts" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="contract" type="contractBean" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="categories" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="category" type="productCategory" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="disable_geo_currency" type="xs:boolean" minOccurs="0"/>
<xs:element name="allow_currency_change" type="xs:boolean" minOccurs="0"/>
<xs:element name="us_tax_exempt" type="xs:boolean" minOccurs="0"/>
<xs:element name="revenue_recognition" type="revRec" minOccurs="0"/>
<xs:element name="reduced_upsell_markup" type="xs:boolean" minOccurs="0"/>
<xs:element name="skip_confirmation_page" type="xs:boolean" minOccurs="0"/>
<xs:element name="admin_download_url" type="xs:string" minOccurs="0"/>
<xs:element name="admin_mobile_download_url" type="xs:string" minOccurs="0"/>
<xs:element name="no_commission" type="xs:boolean"/>
<xs:element name="sale_refund_days_limit" type="xs:int" minOccurs="0"/>
<xs:element name="rebill_refund_days_limit" type="xs:int" minOccurs="0"/>
<xs:element name="admin_restrict_flexible_refund" type="xs:boolean" minOccurs="0"/>
<xs:element name="commission_tier_override" type="xs:boolean"/>
<xs:element name="deliveryMethod" type="xs:string" minOccurs="0"/>
<xs:element name="deliverySpeed" type="xs:string" minOccurs="0"/>
<xs:element name="maxQuantity" type="xs:int" minOccurs="0"/>
<xs:element name="isPartOfOrderBump" type="xs:boolean"/>
<xs:element name="isInitialOfOrderBump" type="xs:boolean"/>
<xs:element name="isProductOfOrderBump" type="xs:boolean"/>
</xs:sequence>
<xs:attribute name="sku" type="xs:string"/>
</xs:complexType>
<xs:complexType name="productApprovalStatus">
<xs:sequence>
<xs:element name="ticket_id" type="xs:int" minOccurs="0"/>
<xs:element name="status" type="status" minOccurs="0"/>
<xs:element name="last_action_performed_by" type="role" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="imageBean">
<xs:sequence>
<xs:element name="id" type="xs:int" minOccurs="0"/>
<xs:element name="title" type="xs:string" minOccurs="0"/>
<xs:element name="type" type="imageType" minOccurs="0"/>
<xs:element name="approved" type="xs:boolean" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="thankYouPages">
<xs:sequence>
<xs:element name="desktop" type="xs:string" minOccurs="0"/>
<xs:element name="mobile" type="xs:string" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="pitchPages">
<xs:sequence>
<xs:element name="desktop" type="xs:string" minOccurs="0"/>
<xs:element name="mobile" type="xs:string" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="productCommission">
<xs:sequence>
<xs:element name="purchase" type="xs:decimal" minOccurs="0"/>
<xs:element name="rebill" type="xs:decimal" minOccurs="0"/>
<xs:element name="no_rebill_commission" type="xs:boolean"/>
<xs:element name="commission_tier_override" type="xs:boolean"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="pricing">
<xs:sequence>
<xs:element ref="standard" minOccurs="0"/>
<xs:element ref="recurring" minOccurs="0"/>
<xs:element ref="physical" minOccurs="0"/>
</xs:sequence>
<xs:attribute name="currency" type="xs:string"/>
</xs:complexType>
<xs:complexType name="standardPricing">
<xs:sequence>
<xs:element ref="price" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="price">
<xs:sequence>
<xs:element name="native_price" type="xs:decimal" minOccurs="0"/>
<xs:element name="usd" type="xs:decimal" minOccurs="0"/>
<xs:element name="usd_with_fees" type="xs:decimal" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="recurringPricing">
<xs:sequence>
<xs:element ref="price" minOccurs="0"/>
<xs:element name="frequency" type="recurringFrequency" minOccurs="0"/>
<xs:element name="duration" type="xs:int" minOccurs="0"/>
<xs:element name="trial_days" type="xs:int" minOccurs="0"/>
<xs:element name="pre_rebill_override" type="xs:boolean"/>
<xs:element name="pre_rebill_leadtime" type="xs:int" minOccurs="0"/>
<xs:element name="recurringTitle" type="xs:string" minOccurs="0"/>
<xs:element name="recurringDescription" type="xs:string" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="physicalPricing">
<xs:sequence>
<xs:element name="shipping_profile" type="xs:string" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="contractBean">
<xs:sequence>
<xs:element name="productId" type="xs:int" minOccurs="0"/>
<xs:element name="name" type="xs:string" minOccurs="0"/>
<xs:element name="owner" type="xs:string" minOccurs="0"/>
<xs:element name="partner" type="xs:string" minOccurs="0"/>
</xs:sequence>
<xs:attribute name="id" type="xs:int"/>
<xs:attribute name="status" type="contractStatus"/>
</xs:complexType>
<xs:simpleType name="activeStatus">
<xs:restriction base="xs:string">
<xs:enumeration value="ACTIVE"/>
<xs:enumeration value="INACTIVE"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="status">
<xs:restriction base="xs:string">
<xs:enumeration value="APPROVAL_REQUIRED"/>
<xs:enumeration value="PENDING_APPROVAL"/>
<xs:enumeration value="APPROVED"/>
<xs:enumeration value="DISAPPROVED"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="role">
<xs:restriction base="xs:string">
<xs:enumeration value="VENDOR"/>
<xs:enumeration value="CUSTOMER"/>
<xs:enumeration value="CBCSR"/>
<xs:enumeration value="CBSYSTEM"/>
<xs:enumeration value="USER"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="imageType">
<xs:restriction base="xs:string">
<xs:enumeration value="PRODUCT"/>
<xs:enumeration value="BANNER"/>
<xs:enumeration value="BANNER_BG"/>
<xs:enumeration value="CUSTOM_BANNER"/>
<xs:enumeration value="CUSTOM_BANNER_BG"/>
<xs:enumeration value="CUSTOM_ORDERFORM"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="recurringFrequency">
<xs:restriction base="xs:string">
<xs:enumeration value="WEEKLY"/>
<xs:enumeration value="BI_WEEKLY"/>
<xs:enumeration value="MONTHLY"/>
<xs:enumeration value="QUARTERLY"/>
<xs:enumeration value="HALF_YEARLY"/>
<xs:enumeration value="YEARLY"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="contractStatus">
<xs:restriction base="xs:string">
<xs:enumeration value="PENDING_START"/>
<xs:enumeration value="PENDING_APPROVAL"/>
<xs:enumeration value="ACTIVE"/>
<xs:enumeration value="TERMINATED"/>
<xs:enumeration value="TERMINATION_REQUESTED"/>
<xs:enumeration value="EXPIRED"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="productCategory">
<xs:restriction base="xs:string">
<xs:enumeration value="EBOOK"/>
<xs:enumeration value="SOFTWARE"/>
<xs:enumeration value="GAMES"/>
<xs:enumeration value="AUDIO"/>
<xs:enumeration value="VIDEO"/>
<xs:enumeration value="MEMBER_SITE"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="revRec">
<xs:restriction base="xs:string">
<xs:enumeration value="LD"/>
<xs:enumeration value="VD"/>
<xs:enumeration value="LM"/>
<xs:enumeration value="LMA"/>
<xs:enumeration value="LMID"/>
<xs:enumeration value="VM"/>
<xs:enumeration value="I"/>
</xs:restriction>
</xs:simpleType>
</xs:schema>

Usage Information

For additional information about using the Products API, see the ClickBank APIs article.

Have more questions? Submit a request

0 Comments

Please sign in to leave a comment.
Powered by Zendesk