Python

Introduction

Scroll down for code samples, example requests and responses. Select a language for code samples from the tabs above or the mobile navigation menu.

Welcome to the API documentation for our platform!

Our API allows business partners to perform various actions, such as creating catalogs, offers, and deals on offers, as well as generating additional materials to provide comprehensive information about products. Furthermore, business partners can create personal promo codes for selected users to increase customer engagement and loyalty. In this documentation, we will guide you through the process of using our API and provide examples of authorized requests to help you get started. Let's dive in!

Guide for Integration

To successfully integrate, you need to create a catalog and attach offers to it. Then you need to create a landing page for the catalog. Once the catalog is published and has offers with a landing page, it will be displayed in the list of available catalogs, and users will be able to see it and gain access. Next, you will need to set up integration on your side to create and complete deals. You can receive information about where the customer came from either through a promo code or through an ID myshare, which will be in the parameters of the final link through which the customer came to you.

Here's a guide to the documentation for successful integration:

1. Create a catalog.

2. Attach offers to the catalog.

3. Create a landing page for the catalog.

4. Publish the catalog with offers and a landing page.

5. Set up integration on your side to create and complete deals.

6. Receive information about where the customer came from through a promo code or an ID myshare in the parameters of the final link through which the customer came to you.

Authentication

Authorized request example

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': '<Your API Token>'
}

r = requests.get('https://api.myshare.systems/catalog/', headers=headers)

print(r.json())

After registration and approval as a Business Partner, you will be issued a Token that you will use to make requests to the API.

To make a request, you need to insert the Token into the Authorization header. An example of an authorized request can be seen below.

Catalog

Catalog is a product or service that you want to sell using the capabilities of the affiliate system. For example, it can be an educational course or an automobile repair service.

Create Catalog

Code samples

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': '<Your API Token>'
}
data = {
  "title": "SuperCatalog",
  "catalog_code": "super_catalog",
  "description": "some_text",
  "moderation_type": "FREE_ENTRY",
  "hold_duration": "30 00:00:00",
  "canceled_duration": "14 00:00:00",
  "is_promocode_allowed": True,
  "is_published": True
}

r = requests.post('https://api.myshare.systems/catalog/', headers=headers, json=data)

print(r.json())

POST /catalog/

Creating a catalog:

hold_duration - The duration of the payment delay to protect against fraud. By default, it is set to 30 days.

canceled_duration - The duration of the transfer of a created deal from the "Created" status to "Canceled". By default, it is set to 14 days.

is_published=false makes your catalog and the offers contained within it unavailable for partners to work with.

Setting is_promocode_allowed=false makes your catalog and the offers contained within it unavailable for promo codes.

Disabling and setting as non-promo only removes your catalog from our user interface, but you must restrict the sale of your product yourself.

We will inform offer participants about the suspension of the catalog, but we cannot stop their traffic immediately. Please make your request in advance.

Body parameter

{
  "title": "SuperCatalog",
  "catalog_code": "super_catalog",
  "description": "some_text",
  "moderation_type": "FREE_ENTRY",
  "hold_duration": "30 00:00:00",
  "canceled_duration": "14 00:00:00",
  "is_promocode_allowed": true,
  "is_published": true
}

Parameters

Name In Type Required Description
body body CatalogCreate true none

Example responses

{
  "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  "title": "Catalog title",
  "catalog_code": "catalog_code",
  "offers": [],
  "icon": "http://example.com/icon.png",
  "hold_duration": "30 00:00:00",
  "canceled_duration": "14 00:00:00",
  "is_promocode_allowed": true,
  "category": "86d23d13-9dbb-46f3-82d0-25253c7750c3",
  "business_partner_id": "86d23d13-9dbb-46f3-82d0-25253c7750c3",
  "offer_geo": [
    "AW"
  ],
  "catalog_id": "HN3W8",
  "description": "Catalog description",
  "reward_type": "RevShare",
  "localizations": [
    "AA"
  ],
  "devices": "All",
  "cookies_storage_days": 30,
  "moderation_type": "FREE_ENTRY",
  "max_promo_code_percent": 5.0,
  "min_promo_code_percent": 5.0,
  "is_published": true,
  "created_at": "2023-04-06T08:02:46.807490",
}

Responses

Status Meaning Description Schema
200 OK Successful Response CatalogCreateResponse
400 Bad Request Bad Request Error None

Get Catalog

Code samples

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': '<Your API Token>'
}

r = requests.get('https://api.myshare.systems/catalog/{id}/', headers=headers)

print(r.json())

GET /catalog/{id}/

The Catalog retrieve endpoint allows you to retrieve information about a specific catalog by its ID. In addition to the basic catalog information, this endpoint also returns additional data about the catalog, such as landing, text_rule, rules, and promo_materials.

Parameters

Name In Type Required Description
id path string(uuid) true A UUID string identifying this Catalog.

Example responses

200 Response

{
  "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  "title": "SuperCatalog",
  "approval_rate": "b/d",
  "catalog_code": "super_catalog",
  "offers": [
    {
      "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
      "catalog_id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
      "name": "Offer name",
      "is_promocode_allowed": true,
      "is_active": true,
      "prices": [
        {
          "cost": 50.0,
          "currency": "USD"
        }
      ],
      "description": "Offer description"
      "reward_percent": 5.0,
      "fix_remuneration": null,
    }
  ],
  "hold_duration": "30 00:00:00",
  "company_logo": "https://example.com/logo.png",
  "company_name": "CompanyName",
  "is_confirmed": false,
  "modified_at": "2023-04-06T08:02:46.808085",
  "promo_materials": [],
  "reward": {
    "from": 1.0, 
    "to": 5.0,
    "type": None
  },
  "rules": [],
  "text_rule": [],
  "canceled_duration": "14 00:00:00",
  "is_promocode_allowed": true,
  "is_published": true,
  "category": "Education",
  "offer_geo": [
    "AW"
  ],
  "catalog_id": "4ZBP8",
  "preview_image": "https://example.com/image.jpg",
  "description": "Catalog description",
  "reward_type": "RevShare",
  "max_promo_code_percent": 5.0,
  "min_promo_code_percent": 5.0,
  "landings": [],
  "localizations": [
    "AA"
  ],
  "devices": "All",
  "cookies_storage_days": 30,
}

Responses

Status Meaning Description Schema
200 OK Successful Response CatalogResponse

Update Catalog

Code samples

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': '<Your API Token>'
}
data = {
  "title": "Catalog Different Name",
}

r = requests.patch('https://api.myshare.systems/catalog/{id}/', headers=headers, json=data)

print(r.json())

PUT/PATCH /catalog/{id}/

Full or partial catalog update.

hold_duration - The duration of the payment delay to protect against fraud. By default, it is set to 30 days.

canceled_duration - The duration of the transfer of a created deal from the "Created" status to "Canceled". By default, it is set to 14 days.

is_published=false makes your catalog and the offers contained within it unavailable for partners to work with.

Setting is_promocode_allowed=false makes your catalog and the offers contained within it unavailable for promo codes.

Disabling and setting as non-promo only removes your catalog from our user interface, but you must restrict the sale of your product yourself.

We will inform offer participants about the suspension of the catalog, but we cannot stop their traffic immediately. Please make your request in advance.

Body parameter

{
  "title": "Different Catalog Name",
}

Parameters

Name In Type Required Description
id path string(uuid) true A UUID string identifying this Product.
body body CatalogCreate true none

Example responses

{
  "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08"
  "title": "Different Catalog Name",
  "catalog_code": "catalog_code",
  "offers": [],
  "icon": "http://example.com/icon.png",
  "hold_duration": "30 00:00:00",
  "canceled_duration": "14 00:00:00",
  "is_promocode_allowed": true,
  "category": "86d23d13-9dbb-46f3-82d0-25253c7750c3",
  "business_partner_id": "86d23d13-9dbb-46f3-82d0-25253c7750c3",
  "offer_geo": [
    "AW"
  ],
  "catalog_id": "HN3W8",
  "description": "Catalog description",
  "reward_type": "RevShare",
  "localizations": [
    "AA"
  ],
  "devices": "All",
  "cookies_storage_days": 30,
  "moderation_type": "FREE_ENTRY",
  "max_promo_code_percent": 5.0,
  "min_promo_code_percent": 5.0,
  "is_published": true,
  "created_at": "2023-04-06T08:02:46.807490",
}

Responses

Status Meaning Description Schema
200 OK Successful Response CatalogCreateResponse
400 Bad Request Bad Request Error none

Offer

Offer is a type of product or service. For example, if your catalog is a Course, then an offer is a course rate (Beginner, Intermediate, Advanced). If your catalog is a service (such as car repair), then an offer is a type of service (engine repair, body repair, tire replacement).

Create Offer

Code samples

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': '<Your API Token>'
}
data = {
  "name": "Offer name",
  "catalog_id": "ea862999-ae2b-4cb0-bc0a-c71fc9748493",
  "is_promocode_allowed": False,
  "is_active": True,
  "prices": [
    {
      "cost": 100,
      "currency": "USD"
    }
  ],
  "description": "Offer description",
  "reward_percent": 5,
}

r = requests.post('https://api.myshare.systems/offer/', headers=headers, json=data)

print(r.json())

POST /offer/

The Create Offer endpoint allows you to create a new offer within our platform. To create an offer, you will need to provide a name, options, reward type, pricing, and associated catalog ID.

Once created, the offer will be available within the associated catalog and can be used to track and manage sales of your products and services.

Body parameter

{
  "name": "Offer name",
  "catalog_id": "ea862999-ae2b-4cb0-bc0a-c71fc9748493",
  "is_promocode_allowed": false,
  "is_active": true,
  "prices": [
    {
      "cost": 100,
      "currency": "USD"
    }
  ],
  "description": "Offer description",
  "reward_percent": 5.0,
  "fix_remuneration": null,
}

Parameters

Name In Type Required Description
body body OfferCreate true none

Example responses

{
  "id": "47774d8c-d4dd-451e-a709-b407a4dac427",
  "name": "Offer name",
  "is_promocode_allowed": true,
  "catalog_id": "310b9e84-b157-4ad2-ae6a-391746bb6bc4",
  "is_active": true,
  "fix_remuneration": null,
  "reward_percent": 5.0,
  "prices": [
    {
      "cost": 100,
      "currency": "USD"
    }
  ],
  "description": "Offer description"
}

Responses

Status Meaning Description Schema
201 Created none OfferResponse

Get Offer

Code samples

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': '<Your API Token>'
}

r = requests.get('https://api.myshare.systems/offer/{id}/', headers=headers)

print(r.json())

GET /offer/{id}/

The Get Offer endpoint allows you to retrieve information about a specific offer by its ID. In addition to the basic offer information, this endpoint also returns additional data about the offer, such as the associated catalog ID, reward type, options.

Parameters

Name In Type Required Description
id path string(uuid) true A UUID string identifying this Offer.

Example responses

{
  "id": "47774d8c-d4dd-451e-a709-b407a4dac427",
  "name": "Offer name",
  "is_promocode_allowed": true,
  "catalog_id": "310b9e84-b157-4ad2-ae6a-391746bb6bc4",
  "is_active": true,
  "fix_remuneration": null,
  "reward_percent": 5.0,
  "prices": [
    {
      "cost": 100,
      "currency": "USD"
    }
  ],
  "description": "Offer description"
}

Responses

Status Meaning Description Schema
200 OK Successful Response OfferResponse

Update Offer

Code samples

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': '<Your API Token>'
}
data = {
  "name": "Another offer name",
}

r = requests.patch('https://api.myshare.systems/offer/{id}/', headers=headers, json=data)

print(r.json())

PUT/PATCH /offer/{id}/

The Update Offer endpoint allows you to update an existing offer within our platform.

In addition to the basic offer information, you can provide additional data to update the offer's details. Once updated, the offer will reflect the changes made and be available within the associated catalog.

Using the Update Offer endpoint, you can modify the offer to ensure it meets your business needs and goals.

Body parameter

{
  "name": "Differ offer name",
}

Parameters

Name In Type Required Description
id path string(uuid) true A UUID string identifying this Product grid.
body body OfferCreate true Offer Update Payload

Example responses

{
  "id": "47774d8c-d4dd-451e-a709-b407a4dac427",
  "name": "Different offer name",
  "is_promocode_allowed": true,
  "catalog_id": "310b9e84-b157-4ad2-ae6a-391746bb6bc4",
  "is_active": true,
  "fix_remuneration": null,
  "reward_percent": 5.0,
  "prices": [
    {
      "cost": 100,
      "currency": "USD"
    }
  ],
  "description": "Offer description"
}

Responses

Status Meaning Description Schema
200 OK Successful Response OfferResponse
400 Bad Request Bad Request Error none

Deal

Deal is a conversion action taken by customers brought in by your partners.

Create Deal

Code samples

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': '<Your API Token>'
}
data = {
  "status": "Created",
  "offer": "Offer name",
  "cost": 100.0,
  "currency": "USD",
  "is_returned": false,
  "promo_code": "Promo",
  "another_data": "myshare=BDGSYEHVX",
  "deal_id": "Custom Deal ID",
  "catalog_code": "Catalog code"
}

r = requests.post('https://api.myshare.systems/deal/', headers=headers, json=data)

print(r.json())

POST /deal/

Creating a deal:

status - Can be ["Created", "Paid"]. When opening the payment gateway, send the deal with the status "Created". When the gateway is paid, send the status "Paid".

catalog_code - Catalog code from the Catalog model.

offer - Offer name from the Offer model.

cost - Purchase cost.

currency - Payment currency.

promo_code - Partner program promo code through which the customer purchased the offer.

another_data - The buyer can follow the partner link (https://google.com/?uid=JU8KDCYF), and we need to use the data through which the user came (uid=JU8KDCYF) to work with the purchase.

The seller can also insert not only their own uid(uid=JU8KDCYF) there, but also third-party data like (subid=Product1), which also needs to be passed inside another_data.

For example: uid=JU8KDCYF&subid=Product1.

The purchase can be made through both traffic sources, but another_data is considered a priority since the partner link does more work with the buyer.

deal_id - User identifier for determining a specific deal.

Only the deal status can be edited. To change the status, all deal parameters and the new status must be sent.

Body parameter

{
  "status": "Created",
  "offer": "Offer name",
  "cost": 100.0,
  "currency": "USD",
  "is_returned": false,
  "promo_code": "Promo",
  "another_data": "myshare=BDGSYEHVX",
  "deal_id": "Custom Deal ID",
  "catalog_code": "Catalog code"
}

Parameters

Name In Type Required Description
body body DealCreate true Create Deal Payload

Example responses

{
  "another_data": "myshare=B5AKT8PS",
  "cost": 100,
  "is_returned": false,
  "promo_code": null,
  "currency": "USD",
  "status": "Created",
  "offer": "Offer name",
  "deal_id": "Custom Deal ID"
}

Responses

Status Meaning Description Schema
200 OK Successful Response DealCreateResponse
400 Bad Request Bad Request Error none

Get Deal

Code samples

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': '<Your API Token>'
}

r = requests.get('https://api.myshare.systems/deal/{id}/', headers=headers)

print(r.json())

GET /deal/{id}/

The Get Deal endpoint allows business partners to retrieve information about a specific deal by its ID. This endpoint returns the associated offer, discount amount or percentage, and all applicable parameters.

To use this endpoint, partners must provide the ID of the deal they wish to retrieve.

Parameters

Name In Type Required Description
id path string true Deal ID

Example responses

{
  "offer": {
    "name": "Offer name",
    "catalog": {
      "title": "Catalog name",
      "catalog_code": "Catalog code"
    }
  },
  "cost": 100.0,
  "payment_sum": 20.0,
  "is_returned": false,
  "conversion_time": "2019-08-24T14:15:22Z",
  "promo": {
    "code": "Deal's promocode"
  },
  "currency": "USD",
  "status": "Paid",
  "id": "Deal's system ID",
  "modified_at": "2019-08-24T14:15:22Z",
  "paid_at": "2019-08-24T14:15:22Z",
  "approved_at": "2019-08-24T14:15:22Z",
  "canceled_at": "2019-08-24T14:15:22Z"
}

Responses

Status Meaning Description Schema
200 OK Successful Response DealResponse

Update Deal

Code samples

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': '<Your API Token>'
}
data = {
  "status": "Paid",
}

r = requests.patch('https://api.myshare.systems/deal/{id}/', headers=headers, json=data)

print(r.json())

PATCH /deal/{id}/

Updating a deal:

status - Can be ["Paid", "Canceled"]. When the gateway is paid, send the status "Paid". When canceling the deal, send the status "Canceled". Also, once the status is set to Canceled, the deal cannot be changed to any other status.

is_returned=True. When returning funds for a purchase, you can cancel the deal and send is_returned=True. By default, is_returned=False. is_returned=True can be sent together with the "Canceled" status.

Body parameter

{
  "status": "Paid",
  "cost": 50.0,
  "is_returned": true,
  "comment": "Deal's comment"
}

Parameters

Name In Type Required Description
id path string true Deal ID
body body DealUpdate false Deal Update Payload

Example responses

{
  "status": "Paid",
  "cost": "50.00",
  "is_returned": false,
  "comment": "Some comment"
}

Responses

Status Meaning Description Schema
200 OK Successful Response DealUpdateResponse
400 Bad Request Bad Request Error none

Landing

Landing page is a sales website that interested partners will go to in order to advertise your catalog.

Create Landing

Code samples

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': '<Your API Token>'
}
data = {
  "url": "http://example.com",
  "adaptability": "All",
  "title": "Landing title",
  "catalog_id": "310b9e84-b157-4ad2-ae6a-391746bb6bc4",
  "image_url": "http://example.com/image.png"
}

r = requests.post('https://api.myshare.systems/landing/', headers=headers, json=data)

print(r.json())

POST /landing/

The Create Landing endpoint in the platform's API documentation allows business partners to create a new landing page.

Body parameter

{
  "url": "http://example.com",
  "adaptability": "All",
  "title": "Landing title",
  "catalog_id": "310b9e84-b157-4ad2-ae6a-391746bb6bc4",
  "image_url": "http://example.com/image.jpg"
}
Name In Type Required Description
body body LandingCreate true Landing Create Payload

Example responses

{
  "id": "7ZTOYA",
  "url": "http://example.com",
  "modified_at": "2019-08-24T14:15:22Z",
  "adaptability": "All",
  "title": "Landing's title",
  "catalog_id": "310b9e84-b157-4ad2-ae6a-391746bb6bc4",
  "image_url": "http://example.com/image.jpg"
}
Status Meaning Description Schema
201 Created Successful Response LandingResponse

Update Landing

Code samples

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': '<Your API Token>'
}
data = {
  "url": "http://example.com"
}

r = requests.patch('https://api.myshare.systems/landing/{id}/', headers=headers, json=data)

print(r.json())

PUT/PATCH /landing/{id}/

The Update Landing endpoint in the platform's API documentation allows business partners to update an existing landing page.

Body parameter

{
  "url": "http://example.com"
}

Parameters

Name In Type Required Description
id path string true A unique value identifying this landing.
body body LandingCreate true Landing Update Payload

Example responses

{
  "id": "7ZTOYA",
  "url": "http://example.com",
  "modified_at": "2019-08-24T14:15:22Z",
  "adaptability": "All",
  "title": "Landing's title",
  "catalog_id": "310b9e84-b157-4ad2-ae6a-391746bb6bc4",
  "image_url": "http://example.com/image.jpg"
}

Responses

Status Meaning Description Schema
200 OK Successful Response LandingResponse

Delete Landing

Code samples

import requests
headers = {
  'Authorization': '<Your API Token>'
}

r = requests.delete('https://api.myshare.systems/landing/{id}/', headers=headers)

print(r.json())

DELETE /landing/{id}/

The Delete Landing endpoint in the platform's API documentation allows business partners to delete an existing landing page.

Parameters

Name In Type Required Description
id path string true A unique value identifying this Landing.

Responses

Status Meaning Description Schema
204 No Content No Response Body None

Promo

Promo endpoints are necessary to verify whether customers who came to you from partners really came through the correct links or used the correct promo codes.

Check Promo

Code samples

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': '<Your API Token>'
}

r = requests.get('https://api.myshare.systems/promo/check_promo/?code=promocode&catalog_id=5DTZB', headers=headers)

print(r.json())

GET /promo/check_promo/

Checking the validity and parameters of the promo code.

Parameters

Name In Type Required Description
catalog_id query string false "catalog_id" from the entity "Catalog".
code query string false The field of the validated promo code.

Example responses

{
  "percent_discounts": 5.0
}

Responses

Status Meaning Description Schema
200 OK Successful Response check_promo

Check UID User

Code samples

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': '<Your API Token>'
}

r = requests.get('https://api.myshare.systems/promo/check_uuid/?code=SYEHFNBFHD', headers=headers)

print(r.json())

GET /promo/check_uuid/

Checking for the presence of such UID in the partner system.

Parameters

Name In Type Required Description
code query string false The field of the validated user UID.

Example responses

{
  "percent_discounts": 0
}

Responses

Status Meaning Description Schema
200 OK Successful Response check_uuid

Schemas

AdaptabilityEnum

"All"

Properties

Name Type Description
AdaptabilityEnum string Adaptability

Enumerated Values

Value
All
Desktop
Mobile

CatalogCreate

{
  "title": "SuperCatalog",
  "catalog_code": "super_catalog",
  "description": "some_text",
  "moderation_type": "FREE_ENTRY",
  "hold_duration": "30 00:00:00",
  "canceled_duration": "14 00:00:00",
  "is_promocode_allowed": true,
  "is_published": true
}

CatalogCreate Schema

Properties

Name Type Required Description
title string true Catalog name
catalog_code string true Unique code for accessing the catalog
reward_percent string false The main percentage of payout to offer sellers.

The minimum payout percentage is 0.05.

The maximum payout percentage is 95.
description string false Description
icon string(uri) false Link to images for display in the affiliate program account
preview_image string(uri) false Link to image for display in the affiliate program account
hold_duration string false The duration of the payout delay to protect against fraud.

The time is set in the format: Days Hours:Minutes:Seconds.

For example: 30 00:00:00.
canceled_duration string false The duration of transferring a created deal from the 'Created' status to 'Canceled'

The time is set in the format: Days Hours:Minutes:Seconds.

For example: 14 00:00:00.
is_promocode_allowed boolean false Allow the use of promo codes in this catalog. By default, promo codes are prohibited (False).
is_published boolean false Allow the sale of this catalog. By default, sales are allowed (True).

CatalogCreateResponse

{
  "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  "title": "Catalog title",
  "catalog_code": "catalog_code",
  "offers": [],
  "icon": "http://example.com/icon.png",
  "hold_duration": "30 00:00:00",
  "canceled_duration": "14 00:00:00",
  "is_promocode_allowed": true,
  "category": "86d23d13-9dbb-46f3-82d0-25253c7750c3",
  "business_partner_id": "86d23d13-9dbb-46f3-82d0-25253c7750c3",
  "offer_geo": [
    "AW"
  ],
  "catalog_id": "HN3W8",
  "description": "Catalog description",
  "reward_type": "RevShare",
  "localizations": [
    "AA"
  ],
  "devices": "All",
  "cookies_storage_days": 30,
  "moderation_type": "FREE_ENTRY",
  "max_promo_code_percent": 5.0,
  "min_promo_code_percent": 5.0,
  "is_published": true,
  "created_at": "2023-04-06T08:02:46.807490",
}

CatalogCreateResponse Schema

Properties

Name Type Description
id string(uuid) A UUID string identifying this Catalog.
title string Catalog name
catalog_code string Unique code for accessing the catalog
offers [OfferCreate] Catalog offers
icon string(uri) Link to images for display in the affiliate program account
hold_duration string The duration of the payout delay to protect against fraud.

The time is set in the format: Days Hours:Minutes:Seconds.

For example: 30 00:00:00.
canceled_duration string The duration of transferring a created deal from the 'Created' status to 'Canceled'

The time is set in the format: Days Hours:Minutes:Seconds.

For example: 14 00:00:00.
is_promocode_allowed boolean Allow the use of promo codes in this catalog. By default, promo codes are prohibited (False).
is_published boolean Allow the sale of this catalog. By default, sales are allowed (True).
category string(uuid) Catalog category ID
business_partner_id string Catalog business partner ID
offer_geo [OfferGeoEnum] The list of countries where your product is distributed, using the format ISO_3166-1_alpha-2
catalog_id string Special ID for simplifying work with website support
description string Description
reward_type RewardTypeEnum Catalog's reward type
max_promo_code_percent float business partner can install max size promo code for optimize cost
min_promo_code_percent float business partner can install min size promo code for optimize cost
moderation_type ModerationTypeEnum none
localizations [LocalizationEnum] none
devices DevicesEnum none
cookies_storage_days integer none
created_at string Time of creating

CatalogResponse

{
  "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  "title": "SuperCatalog",
  "approval_rate": "b/d",
  "catalog_code": "super_catalog",
  "offers": [
    {
      "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
      "catalog_id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
      "name": "Offer name",
      "is_promocode_allowed": true,
      "is_active": true,
      "prices": [
        {
          "cost": 50.0,
          "currency": "USD"
        }
      ],
      "description": "Offer description"
      "reward_percent": 5.0,
      "fix_remuneration": null,
    }
  ],
  "hold_duration": "30 00:00:00",
  "company_logo": "https://example.com/logo.png",
  "company_name": "CompanyName",
  "is_confirmed": false,
  "modified_at": "2023-04-06T08:02:46.808085",
  "promo_materials": [],
  "reward": {
    "from": 1.0, 
    "to": 5.0,
    "type": None
  },
  "rules": [],
  "text_rule": [],
  "canceled_duration": "14 00:00:00",
  "is_promocode_allowed": true,
  "is_published": true,
  "category": "Education",
  "offer_geo": [
    "AW"
  ],
  "catalog_id": "4ZBP8",
  "preview_image": "https://example.com/image.jpg",
  "description": "Catalog description",
  "reward_type": "RevShare",
  "max_promo_code_percent": 5.0,
  "min_promo_code_percent": 5.0,
  "landings": [],
  "localizations": [
    "AA"
  ],
  "devices": "All",
  "cookies_storage_days": 30,
}

CatalogResponse Schema

Properties

Name Type Description
id string(uuid) A UUID string identifying this Catalog.
title string Catalog name
catalog_code string Unique code for accessing the catalog
offer [OfferCreate] Catalog offers
remuneration_percent string The main percentage of payout to offer sellers.

The minimum payout percentage is 0.05.

The maximum payout percentage is 95.
icon string(uri) Link to images for display in the affiliate program account
hold_duration string The duration of the payout delay to protect against fraud.

The time is set in the format: Days Hours:Minutes:Seconds.

For example: 30 00:00:00.
canceled_duration string The duration of transferring a created deal from the 'Created' status to 'Canceled'

The time is set in the format: Days Hours:Minutes:Seconds.

For example: 14 00:00:00.
is_promo boolean Allow the use of promo codes in this catalog. By default, promo codes are prohibited (False).
category string Catalog category name
offer_geo [OfferGeoEnum] The list of countries where your product is distributed, using the format ISO_3166-1_alpha-2
catalog_id string Special ID for simplifying work with website support
preview_image string(uri) Link to image for display in the affiliate program account
description string Description
reward_type RewardTypeEnum Catalog's reward type
max_size_promo_code string(decimal) business partner can install max size promo code for optimize cost
min_size_promo_code string(decimal) business partner can install min size promo code for optimize cost
moderation_type ModerationTypeEnum none
localization [LocalizationEnum] none
devices DevicesEnum none
cookies_storage_days integer none
is_published boolean Allow the sale of this catalog. By default, sales are allowed (True).

CatalogForDeal

{
  "title": "string",
  "catalog_code": "string"
}

CatalogForDealSerializer return special params for OfferForDealSerializer for correct view to users

Properties

Name Type Required Description
title string true none
catalog_code string true catalog_code is parameter that combines all offers with each other

CreateDealStatusEnum

"Paid"

Properties

Name Type Description
Deal Status string Available deal statuses

Enumerated Values

Property Value
Paid
Created

CurrencyEnum

"USD"

Properties

Name Type Description
Currency string Available currencies

Enumerated Values

Value
USD
RUB

DealCreate

{
  "status": "Created",
  "offer": "Offer name",
  "cost": 100.0,
  "currency": "USD",
  "is_returned": false,
  "promo_code": "Promo",
  "another_data": "myshare=BDGSYEHVX",
  "deal_id": "Custom Deal ID",
  "catalog_code": "Catalog code"
}

Deal Create Schema

Properties

Name Type Required Description
status CreateDealStatusEnum true Deal's Status
offer string true Offer name
cost float true Deal's price
currency CurrencyEnum true Deal's currency
is_returned boolean false Is deal returned
promo_code string false Deal's promocode
another_data string false Deal's data from url params
deal_id string true Deal's custom ID
catalog_code string true Catalog code

DealCreateResponse

{
  "another_data": "myshare=B5AKT8PS",
  "cost": 100,
  "is_returned": false,
  "promo_code": null,
  "currency": "USD",
  "status": "Created",
  "offer": "Offer name",
  "deal_id": "Custom Deal ID"
}

Deal Create Response Schema

Properties

Name Type Description
cost integer Deal's price
is_returned boolean Is Deal was refunded
promo_code string Promocode used for this Deal
currency CurrencyEnum Deal's currency
status string Deal's status
offer string Deal's offer name
deal_id string Deal's custom ID
another_data string Deal's data from url params

DealResponse

{
  "offer": {
    "name": "Offer name",
    "catalog": {
      "title": "Catalog name",
      "catalog_code": "Catalog code"
    }
  },
  "cost": 100.0,
  "payment_sum": 20.0,
  "is_returned": false,
  "conversion_time": "2019-08-24T14:15:22Z",
  "promo": {
    "code": "Deal's promocode"
  },
  "currency": "USD",
  "status": "Paid",
  "id": "Deal's system ID",
  "modified_at": "2019-08-24T14:15:22Z",
  "paid_at": "2019-08-24T14:15:22Z",
  "approved_at": "2019-08-24T14:15:22Z",
  "canceled_at": "2019-08-24T14:15:22Z"
}

Deal Response Schema

Properties

Name Type Description
conversion_time string(date-time) Time of deal's conversion
cost integer Deal's price
currency CurrencyEnum Deal's currency
id string Deal's system ID
is_returned boolean Is Deal was refunded
modified_at string(date-time) Deal's last modified time
paid_at string(date-time) Deal's paid time
approved_at string(date-time) Deal's approved time
canceled_at string(date-time) Deal's canceled time
offer OfferForDeal Deal's offer
payment_sum float Deal's payment sum
promo PromoCodeForDeal Deal's promocode
status string Deal's status

DealUpdate

{
  "status": "Paid",
  "cost": 50.0,
  "is_returned": true,
  "comment": "Deal's comment"
}

Deal Update Schema

Properties

Name Type Required Description
status UpdateDealStatusEnum false Deal status
cost float false Deal's price
is_returned boolean false Is deal returned
comment string false Deal's comment

DealUpdateResponse

{
  "status": "Paid",
  "cost": 50.0,
  "is_returned": true,
  "comment": "Deal's comment"
}

Deal Update Response Schema

Properties

Name Type Description
status UpdateDealStatusEnum Deal status
cost float Deal's price
is_returned boolean Is deal returned
comment string Deal's comment

DevicesEnum

"All"

Properties

Name Type Description
Devices string Available devices

Enumerated Values

Value
All
Desktop
Mobile

LandingCreate

{
  "url": "http://example.com",
  "adaptability": "All",
  "title": "Landing title",
  "catalog_id": "310b9e84-b157-4ad2-ae6a-391746bb6bc4",
  "image": "http://example.com/image.jpg"
}

Properties

Name Type Required Description
url string(uri) true Landing's url
adaptability AdaptabilityEnum false Landing's adatpability to devices
title string false Landing's title
catalog_id string(uuid) true Landing's catalog Id
image string(uri) false Link to images for display in the partner program account

LandingResponse

{
  "id": "7ZTOYA",
  "url": "http://example.com",
  "modified_at": "2019-08-24T14:15:22Z",
  "adaptability": "All",
  "title": "Landing's title",
  "catalog_id": "310b9e84-b157-4ad2-ae6a-391746bb6bc4",
  "image": "http://example.com/image.jpg"
}

Properties

Name Type Description
id string Landing's System ID
modified_at string(date-time) Landing's last modified time
url string(uri) Landing's url
adaptability AdaptabilityEnum Landing's adatpability to devices
title string Landing's title
catalog_id string(uuid) Landing's catalog Id
image string(uri) Link to images for display in the partner program account

LanguageEnum

"RU"

Properties

Name Type Description
Language string Available languages

Enumerated Values

Value
RU
EN

LocalizationEnum

"AA"

Properties

Name Type Description
Localization string Available localizations

Enumerated Values

Value
AA
AB
AE
AF
AK
AM
AN
AR
AS
AV
AY
AZ
BA
BE
BG
BH
BI
BM
BN
BO
BR
BS
CA
CE
CH
CO
CR
CS
CU
CV
CY
DA
DE
DV
DZ
EE
EL
EN
EO
ES
ET
EU
FA
FF
FI
FJ
FO
FR
FY
GA
GD
GL
GN
GU
GV
HA
HE
HI
HO
HR
HT
HU
HY
HZ
IA
ID
IE
IG
II
IK
IO
IS
IT
IU
JA
JV
KA
KG
KI
KJ
KK
KL
KM
KN
KO
KR
KS
KU
KV
KW
KY
LA
LB
LG
LI
LN
LO
LT
LU
LV
MG
MH
MI
MK
ML
MN
MR
MS
MT
MY
NA
NB
ND
NE
NG
NL
NN
NO
NR
NV
NY
OC
OJ
OM
OR
OS
PA
PI
PL
PS
PT
QU
RM
RN
RO
RU
RW
SA
SC
SD
SE
SG
SI
SK
SL
SM
SN
SO
SQ
SR
SS
ST
SU
SV
SW
TA
TE
TG
TH
TI
TK
TL
TN
TO
TR
TS
TT
TW
TY
UG
UK
UR
UZ
VE
VI
VO
WA
WO
XH
YI
YO
ZA
ZH
ZU

ModerationTypeEnum

"FREE_ENTRY"

Properties

Name Type Description
Moderation string Moderation Types

Enumerated Values

Value
FREE_ENTRY
AUTO_MODERATION
MANUAL_MODERATION

OfferCreate

{
  "name": "Offer name",
  "is_promocode_allowed": true,
  "catalog_id": "310b9e84-b157-4ad2-ae6a-391746bb6bc4",
  "is_active": true,
  "prices": [
    {
      "cost": 100,
      "currency": "USD"
    }
  ],
  "description": "string",
  "fix_remuneration": null,
  "reward_percent": 5.0,
}

Properties

Name Type Required Description
name string true Offer name
is_promocode_allowed boolean true Allow the use of promo codes in this offer. By default, promo codes are prohibited (False).
is_active boolean true Allow the sale of this offer. By default, sales are allowed (True).
prices [PriceSerializers] true Prices in diffefent currencies
description string false Offer description
fix_remuneration string true if not reward_percent Fixed remuneration sum
reward_percent string true if not fix_remuneration Reward percentage

OfferResponse

{
  "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  "name": "Offer name",
  "catalog_id": "310b9e84-b157-4ad2-ae6a-391746bb6bc4",
  "is_promo": true,
  "disable": true,
  "fix_remuneration": null,
  "remuneration_percent": 5.0,
  "prices": [
    {
      "cost": 100,
      "currency": "USD"
    }
  ],
  "description": "string"
}

Properties

Name Type Description
id string(uuid) A UUID string identifying this Offer.
name string Offer name
catalog_id string(uuid) Catalog Id
fix_remuneration string Fixed reward sum
remuneration_percent string(uuid) Reward percentage
is_promocode_allowed boolean Allow the use of promo codes in this offer. By default, promo codes are prohibited (False).
is_active boolean Allow the sale of this offer. By default, sales are allowed (True).
prices [PriceSerializers] Prices in different currencies
description string Offer description

OfferForDeal

{
  "name": "Offer name",
  "catalog": {
    "title": "Catalog Title",
    "catalog_code": "catalog_code"
  }
}

Offer For Deal Schema

Properties

Name Type Description
name string Offer name
catalog CatalogForDeal Deal's Catalog

OfferGeoEnum

"AW"

Properties

Name Type Description
OfferGeo string Available countries for offers

Enumerated Values

Value
AW
AF
AO
AI
AX
AL
AD
AE
AR
AM
AS
AQ
TF
AG
AU
AT
AZ
BI
BE
BJ
BQ
BF
BD
BG
BH
BS
BA
BL
BY
BZ
BM
BO
BR
BB
BN
BT
BV
BW
CF
CA
CC
CH
CL
CN
CI
CM
CD
CG
CK
CO
KM
CV
CR
CU
CW
CX
KY
CY
CZ
DE
DJ
DM
DK
DO
DZ
EC
EG
ER
EH
ES
EE
ET
FI
FJ
FK
FR
FO
FM
GA
GB
GE
GG
GH
GI
GN
GP
GM
GW
GQ
GR
GD
GL
GT
GF
GU
GY
HK
HM
HN
HR
HT
HU
ID
IM
IN
IO
IE
IR
IQ
IS
IL
IT
JM
JE
JO
JP
KZ
KE
KG
KH
KI
KN
KR
KW
LA
LB
LR
LY
LC
LI
LK
LS
LT
LU
LV
MO
MF
MA
MC
MD
MG
MV
MX
MH
MK
ML
MT
MM
ME
MN
MP
MZ
MR
MS
MQ
MU
MW
MY
YT
NA
NC
NE
NF
NG
NI
NU
NL
NO
NP
NR
NZ
OM
PK
PA
PN
PE
PH
PW
PG
PL
PR
KP
PT
PY
PS
PF
QA
RE
RO
RU
RW
SA
SD
SN
SG
GS
SH
SJ
SB
SL
SV
SM
SO
PM
RS
SS
ST
SR
SK
SI
SE
SZ
SX
SC
SY
TC
TD
TG
TH
TJ
TK
TM
TL
TO
TT
TN
TR
TV
TW
TZ
UG
UA
UM
UY
US
UZ
VA
VC
VE
VG
VI
VN
VU
WF
WS
YE
ZA
ZM
ZW
WW

PriceSerializers

{
  "cost": 100,
  "currency": "USD"
}

Properties

Name Type Description
cost integer Cost
currency CurrencyEnum Currency

PromoCodeForDeal

{
  "code": "string"
}

PromoCodeForDealSerializer using in DealSerializer

Properties

Name Type Required Restrictions Description
code string false none none

RewardTypeEnum

"RevShare"

Properties

Name Type Description
Reward string Reward Type

Enumerated Values

Value
RevShare
CPA
CPS
CPL
COD
CPV
CPO
CPC

UpdateDealStatusEnum

"Paid"

Properties

Name Type Description
DealStatus string Available deal statuses

Enumerated Values

Value
Paid
Canceled
Created

check_promo

{
  "percent_discounts": "string"
}

Properties

Name Type Required Restrictions Description
percent_discounts string(decimal) true none none

check_uuid

{
  "percent_discounts": 0
}

Properties

Name Type Required Restrictions Description
percent_discounts integer true none none