Chủ Nhật, 16 tháng 8, 2020

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

NameRequiredDescription
siteYesThe 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

NameRequiredDescription
siteYesThe account owning the products to be returned.
typeNoThe 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

NameRequiredDescription
currencyYes

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

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

The initial price for the product.

siteYes

The account nickname that owns the new product.

titleYes

The title of the product.

categoriesRequired for product with digital componentThe 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
deliveryMethodRequired for product with physical component

The method of delivery for a physical product.

deliverySpeedRequired for product with physical component

The speed of delivery for a physical product.

descriptionRequired for product with physical or recurring componentA description of the product.
digitalAt 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
durationRequired for recurring productsThe rebill duration for a recurring product.
frequencyRequired for recurring productsThe rebill frequency for a recurring product. Valid values are:
  • WEEKLY
  • BI_WEEKLY
  • MONTHLY
  • QUARTERLY
  • YEARLY
pitchPageAt 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
rebillCommissionRequired for recurring products

The rebill commission rate for a recurring product.

rebillPriceRequired for recurring productsThe rebill price for a recurring product.
shippingProfileRequired for product with physical component

The shipping profile for a physical product.

thankYouPageAt least one thank you page is requiredYou 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
trialPeriodRequired 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.

imageNo

The ID of the image to associate with the product.

preRebillNotificationLeadTimeNo

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.

preRebillNotificationOverrideNo

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.

purchaseCommissionNo

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

rebillRefundDaysLimitNo

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

saleRefundDaysLimitNo

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

skipConfirmationPageNo

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

NameRequiredDescription
siteYesThe 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.

Related Articles

Không có nhận xét nào: