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"
}
Parameters
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"
}
Responses
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 |