Admin API - Documentation

Basket API Documentation

The Basket API is used for exporting and analyzing shopping cart data recorded via the partner program system. It allows you to retrieve detailed information on individual basket items in a structured CSV format for further processing.

The API can be accessed within the user interface under the Data API menu item.


API Call

https://www.domain.de/api//ACCESS-TOKEN/admin/ID/get-orders_baskets.csv

Value Description
www.domain.de Partner program system domain
ACCESS-TOKEN User's Access Token
ID User ID
.csv Download file format

Basket API Filtering

Various parameters can be used as filters for the Basket API. Below is an overview of all available parameters:

Parameter Value / Example Description
condition[period][from] 01.01.2025 Defines the start date of the time period
condition[period][to] 31.01.2025 Defines the end date of the time period
condition[l:campaigns] 1 Filters all baskets assigned to a specific campaign. Multiple values allowed.
condition[datemode]

processing


payout


incoming

Determines the type of date period:


processing: Baskets validated within the period


payout: Baskets paid out within the period


incoming: Baskets recorded within the period (transaction date)

Example:

condition[period][from]=01.01.2025&condition[period][to]=31.01.2025&condition[datemode]=processing


Field Definitions in the Basket API

The downloaded transactions (e.g., as a .csv file) contain the following columns:

Field Name Description
id Unique ID of the basket item
orderid Internal ID of the associated transaction
timestamp Timestamp of the transaction
ordertoken Order number of the transaction
trigger_id ID of the trigger assigned to the transaction
is_basket Indicates if it is a basket item (true / false)
basket_item_id Unique ID of the basket item
category Category provided by the shop
productid Product ID in the shop
productname Name of the product in the shop
amount Number of products purchased
price Unit price of the product
original_price Original unit price before changes
status Status of the basket item
total Total price (Quantity × Price)
commission Commission the publisher receives for the basket item
currency_rate Conversion rate for foreign currencies
currency Currency of the transaction
is_attributed Indicates whether attribution applies (true / false)
attribution Type of attribution per basket item
attributed_price Attributed price per basket item
attributed_total Attributed price × Quantity
trigger_value Commission amount per basket item
original_turnover Tracked revenue
price_brutto Gross price of the basket item

Transaction API Documentation

The Transaction API enables the structured export and analysis of transactions recorded within the partner program system. It provides detailed insights into individual transaction processes and assists with billing, performance measurement, and integration into internal or external systems.

The API can be accessed within the user interface under the Data API menu item.


API Call

https://www.domain.de/api//ACCESS-TOKEN/admin/ID/get-orders.csv

Value Description
www.domain.de System domain
ACCESS-TOKEN User's Access Token
ID User ID
.csv Download file format

Transaction API Filtering

Various parameters can be used as filters for the Transaction API. Below is an overview of all available parameters:

Transaction Status

Parameter Value Example Description
condition[l:status] open condition[l:status]=open All transactions defined as "Open" in the system
  confirmed condition[l:status]=confirmed All transactions defined as "Confirmed" in the system
  paid condition[l:status]=paid All transactions defined as "Paid" in the system
  canceled condition[l:status]=canceled All transactions defined as "Canceled" in the system

Note: A combination of multiple statuses is possible. For example: condition[l:status]=confirmed,paid

General Filters

Parameter Value / Example Description
condition[period][from] 01.01.2025 Defines the start date of the time period
condition[period][to] 31.01.2025 Defines the end date of the time period
condition[l:campaigns] 1 Filters all baskets assigned to a specific campaign. Multiple values allowed.
condition[datemode]

processing


payout


incoming

Determines the type of date period:


processing: Baskets validated within the period


payout: Baskets paid out within the period


incoming: Baskets recorded within the period (transaction date)

Example:

condition[period][from]=01.01.2025&condition[period][to]=31.01.2025&condition[datemode]=processing


Field Definitions in the Transaction API

The downloaded transactions (e.g., as a .csv file) contain the following columns:

Field Name Description
id Unique ID of the transaction
status

Status of the transaction

0 - open

1 - confirmed

2 - cancelled

3 - paid

timestamp Timestamp of the transaction
campaign_id Campaign to which the transaction was assigned
attribution Amount of the paid attribution
delivered_tagcode_count Number of executed tags
delivered_tagcode_serversided_url Transmitted server-side tracking call
ordertoken Order number transmitted by the advertiser
source Source of the transaction
project_id ID of the project to which the transaction was assigned
admedia_id Ad media ID through which the transaction was generated
type Type of transaction (e.g., Sale, Lead, View)
commission Commission assigned to the publisher (will be updated when the order is changed)
source_commission First commission value assigned to the publisher (will not be updated)
commission_group_id Commission group the publisher belonged to when the transaction was generated
trigger_id Trigger ID assigned to the transaction
description Description transmitted with the transaction
trigger_value Remuneration rate defined in the corresponding trigger ID at the time of the transaction
trigger_type Type of trigger (fixed remuneration or percentage remuneration)
turnover Commission-relevant order value
attributed_turnover
Attributed turnover (if attribution model is active)
original_turnover Order value in the advertiser's currency
action_id Action ID transmitted with the transaction
salary_id ID of the payout process in which the transaction was settled
session_id Session ID transmitted with the transaction
order_currency Currency of the order
status_change_date Date of the last status change
cancel_reason Reason for cancellation, if the transaction was canceled
source_turnover Order value transmitted by the advertiser (will not be updated) 
last_change Timestamp of the last change to the transaction
user_agent Client information of the user who triggered the transaction
order_actions_id Internal reference to the commission-relevant click or post-view
bonus_id ID of a bonus run
customer_journey_status Internal key figure for the customer journey
ebestid Hashed order number displayed to the publisher
order_timestamp Timestamp of the order call
action_timestamp Timestamp of the action that led to the order
trigger_title Name of the trigger
payoutdate Payout date
campaign_group_title Title of the commission group
project_title Name of the project to which the transaction was assigned
campaign_title Name of the campaign assigned to the transaction
advertiser_id ID of the advertiser to whom the transaction was assigned
advertiser_title
Name of the advertiser to whom the transaction was assigned
publisher_id ID of the publisher to whom the transaction was assigned
referrer Page where the click-triggering event occurred
country Country where the transaction was generated
subid Sub-ID transmitted with the transaction
publisher_prename First name of the publisher (from system data)
publisher_surname Last name of the publisher (from system data)
publisher_searchtitle Search title of the publisher (from system data)
basket_items Number of items in the shopping cart
sub_status Advertiser's internal status for managing the transaction
visibility Visibility for the publisher
external_sources_entity_id
(Account) Id of the external source
external_sources_currency_code
Currency Code imported from the external source
external_sources_currency_rate
Currency Rate according to the external sources currency code and internal currency code
external_sources_turnover
Turnover imported from the external source
source_project_id
Publisher/Project id  imported from the external source
source_project_title
Publisher/Project title imported from the external source
turnover_brutto
Turnover including tax

Statistics API Documentation

The Statistics API enables the export and evaluation of aggregated performance data within the partner program system. It provides different types of statistics, such as evaluations by day, campaign, project, or ad media, thereby supporting performance analysis and optimization.

All APIs can be accessed within the user interface under the Data API menu item.


API Call

https://www.domain.de/api//ACCESS-TOKEN/admin/ID/get-statistic_daily.csv

Value Description
www.domain.de Partner program system domain
ACCESS-TOKEN User's Access Token
ID User ID
get-statistic_{Statistics-Type} Type of statistics (e.g., daily-based, etc.)
.csv Download file format

Statistics API Filtering

Various parameters can be used as filters for the Statistics API. Below is an overview of all available parameters:

Statistics Types

Statistics Type Parameter
Statistics by day get-statistic_daily
Statistics by advertiser get-statistic_advertiser
Statistics by campaigns get-statistic_campaign
Statistics by ad media get-statistic_media
Statistics by publisher get-statistic_publisher
Statistics by project get-statistic_project
Statistics by SubID get-statistic_subid
Statistics by referrer get-statistic_referrer
Statistics by channel get-statistic_channel
Statistics by commission group get-statistic_provisionsgroup
Statistics by trigger get-statistic_trigger
Statistics by journey get-statistic_journey
Statistics by A/B test get-statistic_abtest
Statistics by device type get-statistic_devicetype
Statistics by device get-statistic_device
Statistics by browser get-statistic_browser
Statistics by operating system get-statistic_os
Statistics by country get-statistic_geocountry
Manual statistics get-statistic_manualstatistics

General Filter Parameters

Parameter Value / Example Description
condition[period][from] 01.01.2025 Start date of the statistics
condition[period][to] 31.01.2025 End date of the statistics
condition[paymentstatus]

all = all


0 = unpaid


1 = paid

Filters by payout status
condition[dynamicdate]

currentmonth = current month


lastmonth = previous month


currentweek = current week


last10d = last 10 days

Dynamic time periods
condition[l:publisher] 1234,5678 Filters by publisher IDs
condition[project_id] 12345 Filters by project IDs
condition[bruttodata] true Returns gross figures (e.g., clicks/views)
condition[l:mandant] 1 Filters by client (tenant) IDs
condition[l:advertiser] 2,3 Filters by advertiser IDs
condition[l:campaigns] 1,3 Filters by campaign IDs

Breakdown by Additional Criteria (Dynamic Statistics)

The statistics can additionally be broken down (segmented) by further criteria. The parameter condition[l:criterions] is used for this purpose.

Parameter Value Description Example
condition[l:criterions] day Breakdown by day condition[l:criterions]=day
  publisher Breakdown by publisher condition[l:criterions]=publisher
  media Breakdown by ad media condition[l:criterions]=media
  advertiser Breakdown by advertiser condition[l:criterions]=advertiser
  campaign Breakdown by campaign name condition[l:criterions]=campaign
  campaign_id Breakdown by campaign ID condition[l:criterions]=campaign_id
Combination e.g., day,publisher,media


Multi-dimensional breakdown

condition[l:criterions]=day,publisher,media

Adding KPIs

You can add additional Key Performance Indicators (KPIs) to the statistics via the condition[l:additional_parameters] parameter.

 

Parameter Value Description Example
condition[l:additional_parameters] all Adds all available KPIs condition[l:additional_parameters]=all

 

Definition of Fields in the Statistics API

The column names of the downloaded file contain the following parameters:

fieldname

description

criterion

The criterion selected for the statistics. For example, if the statistics are grouped by day, this field displays the respective days. If the statistics are grouped by campaign, the corresponding campaign IDs are displayed here. Generally, this field outputs the ID.

title

The name of the corresponding selected criterion (e.g., the name of the campaign or project).

leads_open_count

Number of open leads.

leads_confirmed_count

Number of confirmed leads.

leads_canceled_count

Number of canceled leads.

sales_open_count

Number of open sales.

sales_confirmed_count

Number of confirmed sales.

sales_canceled_count

Number of canceled sales.

all_open_count

Total number of open leads and sales combined.

all_confirmed_count

Total number of confirmed leads and sales combined.

all_canceled_count

Total number of canceled leads and sales combined.

leads_open_provision

Commission total for open leads.

leads_confirmed_provision

Commission total for confirmed leads.

leads_canceled_provision

Commission total for canceled leads.

sales_open_provision

Commission total for open sales.

sales_confirmed_provision

Commission total for confirmed sales.

sales_canceled_provision

Commission total for canceled sales.

all_open_provision

Total commission for open leads and sales combined.

all_confirmed_provision

Total commission for confirmed leads and sales combined.

all_canceled_provision

Total commission for canceled leads and sales combined.

views

Number of views.

clicks

Number of clicks.

epc

The calculated average earnings per click.

ctr

This value indicates how many users actually clicked on the advertising material after seeing it (Click-Through Rate).

leads_canceled_turnover

Total shopping cart value of canceled leads.

leads_open_turnover

Total shopping cart value of open leads.

leads_confirmed_turnover

Total shopping cart value of confirmed leads.

sales_canceled_turnover

Total shopping cart value of canceled sales.

sales_open_turnover

Total shopping cart value of open sales.

sales_confirmed_turnover

Total shopping cart value of confirmed sales.

Touchpoints / Customer Journey API Documentation

The Customer Journey Orders API is used for exporting and analyzing customer journey data recorded via the partner program system. It allows you to retrieve detailed information on individual touchpoints (actions) of an order in a structured CSV format, enabling precise tracking of user paths leading up to a conversion.

The API can be accessed within the user interface under the Data API menu item.


API Call

https://DOMAIN/api/ACCESS-TOKEN/admin/ID/get-customerjourney_orders.csv

Value Description
DOMAIN Partner program system domain
ACCESS-TOKEN User's Access Token
ID User ID
.csv Download file format

Customer Journey API Filtering

Various parameters can be used as filters for the Customer Journey API. Below is an overview of the available parameters:

Parameter Value / Example Description
condition[period][from] 2026-02-04 Defines the start date of the time period (order date).
condition[period][to] 2026-02-04 Defines the end date of the time period (order date).
condition[dynamicdate] currentmonth, lastmonth, last10d, currentweek

Defines a dynamic time period.


Note: Cannot be used in conjunction with period[from] or period[to].

condition[l:campaigns] 1 Filters all data assigned to a specific campaign. Multiple values allowed.
condition[l:projects] 1234 Filters all transactions recorded under the corresponding project ID of the program. Multiple values allowed.

Examples of Filtered API Calls:


Field Definitions (Columns)

The downloaded transactions contain the following columns:

Field Name Description
order_id Internal ID of the associated transaction / order
ordertoken Order number of the transaction from the shop system
campaign_id ID of the campaign to which the order is assigned
order_timestamp Timestamp of the order receipt (Format: YYYY-MM-DD HH:MM:SS+TZ)
trigger_id ID of the trigger assigned to the order
project_id ID of the project (Attribution Target)
admedia_id ID of the ad media used for the order
action_timestamp Timestamp of the click or impression (Touchpoint)
type Type of touchpoint (e.g., click)
action_campaign_id Campaign ID of the specific touchpoint within the journey
action_project_id Project ID of the specific touchpoint
action_admedia_id Ad media ID of the specific touchpoint
referrer The URL from which the user was redirected to the shop (including tracking parameters)

Order Webservice

Order Webservice

Create / easy.affiliate REST-API (Orders)

📝 Introduction

A REST-compliant web service is available to automatically create new orders within the easy.affiliate system. New transactions can be transmitted using the HTTP POST method. For this purpose, each user receives an authentication token and a login ID, which can be viewed in the frontend.


🔐 Authentication

The following headers are required to access the API:

Header Description Type
Content-Type Must be set to application/json String
X-Network-ID Network ID: typically -1 for cross-client (multi-tenant) API Integer
X-Auth-Token Your API token (visible in the frontend) String
X-Auth-ID Your login ID (visible in the frontend) Integer

📩 Endpoints


🧪 Example (cURL)

Bash
curl -X POST \
  -H "Content-Type: application/json" \
  -H "X-Network-ID: -1" \
  -H "X-Auth-Token: ADMIN_APIUSER_TOKEN" \
  -H "X-Auth-ID: ADMIN_APIUSER_LOGIN_ID" \
  -d '[{
    "ordertoken": "testorder001",
    "campaign_id": 1,
    "trigger_id": 2,
    "status": 1,
    "turnover": 199.99,
    "commission": 20.00
  }]' \
  https://SUBDOMAIN.de/ws/V6/admin/JSON/Orders

🧾 Body Parameters

Parameter Description Data Type Required
ordertoken Unique identifier for the order. Must be system-wide unique. String ✅ Yes
campaign_id ID of the campaign to which the order is assigned. Integer ✅ Yes
trigger_id ID of the trigger, which is mandatory when using ordertoken. Integer ✅ Yes
status Status of the order: 0 = open, 1 = confirmed, 2 = canceled Integer ✅ Yes
turnover Order value in campaign currency Float ✅ Yes
original_turnover Order value in foreign currency Float No
commission Commission value in campaign currency. Can be passed if calculated manually. Float No
cancel_reason Specifies a reason for cancellation if status = 2 (canceled) String No

📘 Notes

Important implementation details:

Order Webservice

Update / easy.affiliate REST-API (Orders)

📝 Introduction

To enable the automated processing of orders within the easy.affiliate system, easy Marketing GmbH provides a web service API. This allows you to modify existing orders after they have been created, as soon as they go through the validation process.

Each user has an Authentication Token and a Login ID available, which can be retrieved via the frontend.


📩 Endpoints

Target Group URL
Admin https://SUBDOMAIN.de/ws/V6/admin/JSON/Orders
Advertiser https://SUBDOMAIN.de/ws/V6/advertiser/JSON/Orders

🧪 Examples

Example with cURL

Bash
curl -X PUT \
  -H "Content-Type: application/json" \
  -H "X-Network-ID: -1" \
  -H "X-Auth-Token: ADMIN_APIUSER_TOKEN" \
  -H "X-Auth-ID: ADMIN_APIUSER_LOGIN_ID" \
  -d '[{ "campaign_id": 1, "id": 12345, "status": 1, "turnover":100.00, "commission":12.34 },{ "campaign_id": 1, "ordertoken":"123a456b", "status": 2, "turnover": 0.00 }]' \
  https://DOMAIN/ws/V6/admin/JSON/Orders

Code Example

Multiple orders can be updated at once using the following format. An example request looks like this:

Headers:

Variable Value / Meaning
Content-Type application/json
X-Network-ID -1
X-Auth-Token ADMIN_APIUSER_TOKEN
X-Auth-ID ADMIN_APIUSER_LOGIN_ID

Body:

JSON
[
    {
        "id": "12345",
        "campaign_id": 1,
        "status": 1,
        "turnover": 10.00,
        "commission": 0.99
    },
    {
        "ordertoken": "123a456b",
        "campaign_id": 1,
        "trigger_id": 1,              
        "status": 2,
        "turnover": 9.99,
        "cancel_reason": "Cancellation Reason"
    }
]

🧾 Parameter Explanations

Headers

Variable Meaning Data Type
Content-Type The Content-Type of the request String
X-NETWORKID The client (tenant) ID is entered here. If only one client exists or you are working across all clients, the value -1 must be entered. Integer
X-AUTH-TOKEN The API authentication token of the admin user is stored here. String
X-AUTH-ID The ID of the admin user is stored here. Integer

Body

The standard parameters are listed below. However, it is possible to update any available parameter via the API.

Parameter Explanation Data Type Required
id

The transaction ID.


Format: "id":"ID"

String Yes (or ordertoken)
ordertoken

The order token.


Format: "ordertoken":"ORDERTOKEN"

String Yes (or id)*
campaign_id

The campaign ID.


Format: "campaign_id":CAMPAIGN_ID

Integer Yes
trigger_id

The trigger ID.


Format: "trigger_id":TRIGGER_ID

Integer No, only if ordertoken is used.*
status

The status of the order.


Values: -5 (pending inquiry), 0 (open), 1 (confirmed), 2 (canceled)

Integer No
turnover

The order value of the transaction in campaign currency.


Format: "turnover":TURNOVER

Float No
original_turnover

The order value of the transaction in foreign currency.


Format: "original_turnover":FOREIGN_CURRENCY_TURNOVER

Float No
commission The commission amount in campaign currency, if you prefer to calculate the commission yourself. Float No

cancel_reason

Provide the reason for cancellation.


Format: "cancel_reason":"Cancellation Reason"

String No

*) Note: If the ordertoken is used, the trigger_id becomes a mandatory field in addition to the campaign_id.

Publisher Webservice

Publisher Webservice

Project Management via the V6 REST-API

Introduction

The V6 REST-API provides administrators with the ability to manage projects efficiently. Using the /Projects endpoint, projects can be created, retrieved, updated, and deleted. Additionally, projects can be filtered using various parameters.

Endpoint


Parameters & Filters

Required Parameters (for POST and PUT)

Parameter Type Description
title String Title of the project (Mandatory)
status Integer Status of the project (Mandatory)
url String URL of the project (Mandatory)

Filter Options (for GET)

Filtering can be applied to any column in the publisher.projects table, such as:

Example of a GET request with filters:

Bash
curl -X GET -H "Content-Type: application/json" -H "X-Network-ID: -1" -H "X-Auth-Token: ADMIN_APIUSER_TOKEN" -H "X-Auth-ID: ADMIN_APIUSER_LOGIN_ID" "https://SUBDOMAIN.de/ws/V6/admin/JSON/Projects?status=1&publisher_id=10"


CRUD Operations

GET: Retrieve Projects

Retrieve a list of projects or a specific project by its id.

Bash
curl -X GET -H "Content-Type: application/json" -H "X-Network-ID: -1" -H "X-Auth-Token: ADMIN_APIUSER_TOKEN" -H "X-Auth-ID: ADMIN_APIUSER_LOGIN_ID" "https://SUBDOMAIN.de/ws/V6/admin/JSON/Projects?id=5"

POST: Create a New Project

Bash
curl -X POST -H "Content-Type: application/json" -H "X-Network-ID: -1" -H "X-Auth-Token: ADMIN_APIUSER_TOKEN" -H "X-Auth-ID: ADMIN_APIUSER_LOGIN_ID" -d '{
  "title": "New Project",
  "status": 1,
  "url": "https://example.com"
}' "https://SUBDOMAIN.de/ws/V6/admin/JSON/Projects"

PUT: Update an Existing Project

Bash
curl -X PUT -H "Content-Type: application/json" -H "X-Network-ID: -1" -H "X-Auth-Token: ADMIN_APIUSER_TOKEN" -H "X-Auth-ID: ADMIN_APIUSER_LOGIN_ID" -d '{
  "id": 5,
  "title": "Modified Project",
  "status": 2,
  "url": "https://updated-example.com"
}' "https://SUBDOMAIN.de/ws/V6/admin/JSON/Projects"

DELETE: Delete a Project

Delete a project by its id.

Bash
curl -X DELETE -H "Content-Type: application/json" -H "X-Network-ID: -1" -H "X-Auth-Token: ADMIN_APIUSER_TOKEN" -H "X-Auth-ID: ADMIN_APIUSER_LOGIN_ID" "https://SUBDOMAIN.de/ws/V6/admin/JSON/Projects?id=5"


Responses

Successful Response

JSON
{
  "id": 5,
  "status": 1,
  "publisher_id": 10,
  "projecttype": "page",
  "title": "Project Example",
  "description": "Description of the project",
  "url": "https://example.com",
  "channel_id": 2,
  "project_identifier_string": "abc123",
  "reach": "1000",
  "statistic_type": "internal",
  "external_sources_entity_id": "-1",
  "trackingtemplate": "template",
  "kpi_whitelist": "kpi1,kpi2",
  "hidden": false,
  "login_type": "pub",
  "exclude_from_salary": 0,
  "default_project": false,
  "insert_timestamp": "2025-01-27T12:00:00"
}

Bad Request

JSON
{
  "error": "Missing required field: title"
}


📘 Error Handling Notes

Publisher Webservice

Publisher Management via the V6 REST-API

Introduction

The V6 REST-API allows administrators to create publishers and retrieve their details. This functionality is currently limited to CREATE and READ operations.

Endpoint


CRUD Operations

POST: Create Publisher (CREATE)

Creates a new publisher and inserts the corresponding data into the global.logins and global.login_settings tables.

Required Parameters:
Parameter Type Description
email String Mandatory, max. 255 characters
salutation String Mandatory, values: mr or mrs
prename String Mandatory, max. 255 characters
surname String Mandatory, max. 255 characters
Example Request:

Bash
curl -X POST -H "Content-Type: application/json" -H "X-Network-ID: -1" -H "X-Auth-Token: ADMIN_APIUSER_TOKEN" -H "X-Auth-ID: ADMIN_APIUSER_LOGIN_ID" -d '{
  "email": "max.mustermann@example.com",
  "salutation": "mr",
  "prename": "Max",
  "surname": "Mustermann",
  "company": "Musterfirma",
  "street": "Musterstraße 1",
  "zip": "12345",
  "city": "Musterstadt",
  "country": "DEU",
  "billing_sepa_owner": "Max Mustermann",
  "billing_sepa_iban": "DE12345678901234567890",
  "billing_sepa_bic": "GENODEF1M01",
  "language_interface": "DEU",
  "billing_mode": 1,
  "billing_media": 1,
  "country_billing": "DEU",
  "country_publisher": "DEU",
  "billing_limit": 50
}' "https://SUBDOMAIN.de/ws/V6/admin/JSON/Publisher"

Expected Response:

JSON
{
  "id": 123,
  "name": "Max Mustermann",
  "email": "max.mustermann@example.com"
}


GET: Retrieve Publisher (READ)

Returns the details of a specific publisher or a list of publishers.

Example Request (Specific ID):

Bash
curl -X GET -H "Content-Type: application/json" -H "X-Network-ID: -1" -H "X-Auth-Token: ADMIN_APIUSER_TOKEN" -H "X-Auth-ID: ADMIN_APIUSER_LOGIN_ID" "https://SUBDOMAIN.de/ws/V6/admin/JSON/Publisher?id=123"

Example Request with Filters:

Bash
curl -X GET -H "Content-Type: application/json" -H "X-Network-ID: -1" -H "X-Auth-Token: ADMIN_APIUSER_TOKEN" -H "X-Auth-ID: ADMIN_APIUSER_LOGIN_ID" "https://SUBDOMAIN.de/ws/V6/admin/JSON/Publisher?status=1&prename=Max"


Error Handling

Missing Required Fields (POST):

JSON
{ 
  "error": "Missing required field: email" 
}

Publisher Not Found (GET):

JSON
{
  "error": "Publisher not found"
}

Connecting an External API

It is possible to integrate an external API into the system for any external program. These APIs must be activated by our support team. To request activation, please send an email to support@easy-m.de. We will then verify whether the API is already available or if it can be newly integrated.

Preparation

Before you can configure an API for a campaign, the campaign must first be created in the system.

Execution

To assign an API to a campaign, navigate to the Campaign Control Center. From there, proceed to the "mappings" section:

image.png

All APIs currently available for the campaign will be displayed there.

image.png

Finally, click the "create new mapping" button to enter the credentials and data required for the API.

External API Credentials

To communicate with the API of an external service provider, corresponding login or access credentials are required. Where to find these credentials within the provider's respective platforms is explained in the individual integration guides.

Admedia Webservice


Admedia Webservice

Admedia API (V6) - POST (Create)

Einleitung

To create ad media via an automated process rather than manually in the easy.affiliate system, easy Marketing GmbH provides a web service API. For this purpose, each user has an Authentication Token and a Login ID available, which are provided via the frontend.

Endpoints


Example with cURL

Bash
curl -X POST -H "Content-Type: application/json" -H "X-Network-ID: -1" -H "X-Auth-Token: ADMIN_APIUSER_TOKEN" -H "X-Auth-ID: ADMIN_APIUSER_LOGIN_ID" -d "$EXAMPLE_JSON_DATA" https://DOMAIN/ws/V6/admin/JSON/Admedia

Code Example

Ad media can be created using the following format. An example request looks like this:

Headers:

HTTP
Content-Type: application/json
X-Network-ID: -1
X-Auth-Token: ADMIN_APIUSER_TOKEN
X-Auth-ID: ADMIN_APIUSER_LOGIN_ID

Body:

JSON
{
    "campaign_id": 1,
    "project_ids": [50012],
    "title": "Ad Media Title",
    "deeplink": "https://example.de/link",
    "category_id": 5,
    "mediatype": "text",
    "linktext": "Click here",
    "status": 1
}


Parameter Explanations

Headers

Variable Meaning Data Type
Content-Type The Content-Type of the request String
X-Network-ID The client (tenant) ID or -1 Integer
X-Auth-Token The API authentication token of the admin user String
X-Auth-ID The ID of the admin user Integer

Body

Parameter Explanation Data Type Required
campaign_id ID of the campaign Integer Yes
project_ids Whitelist of project IDs JSON Array No
title Title of the ad media String Yes
deeplink Deeplink of the ad media String Yes
category_id ID of the category Integer Yes
click_tracking_getparameter Click tracking parameters String No
valid_from "Valid from" date String No
valid_until "Valid until" date String No
mediatype Type of ad media (e.g., text, banner) String Yes
linktext Link text String Yes, if type is text
imageurl Image URL String Yes, if type is banner
size_width Width of the banner String Yes, if type is banner
size_height Height of the banner String Yes, if type is banner
status Status of the ad media Integer Yes

Response

Upon successful creation, the API returns the following information as JSON:

Admedia Webservice

Admedia API (V6) - GET (Read)

Querying Generated Ad Media via the V6 REST-API

To ensure simple and efficient management of generated ad media, the V6 REST-API provides a query function. This feature allows users to retrieve relevant data regarding the ad media and their corresponding tracking links.

Endpoint

Required Parameters


Example Request with cURL

Bash
curl -X GET -H "Content-Type: application/json" -H "X-Network-ID: -1" -H "X-Auth-Token: ADMIN_APIUSER_TOKEN" -H "X-Auth-ID: ADMIN_APIUSER_LOGIN_ID" https://DOMAIN/ws/V6/admin/JSON/Admedia?campaign_id=1&project_id=50001

Expected Response

Upon a successful request, the API returns the following information about the ad media in JSON format:


📘 Error Handling

Basket Webservice / Update API

📝 Introduction

We offer a web service API for the automated processing of shopping carts. This allows for the subsequent adjustment of already existing baskets. For access, each user receives an Access Token and a User ID, which are provided via the frontend.


🔐 Authentication

The following headers are required to access the API:

Header Description Type
Content-Type The Content-Type of the request String
X-Network-ID Network ID: typically -1 for cross-client (multi-tenant) API Integer
X-Auth-Token Your Access Token (visible in the frontend) String
X-Auth-ID Your User ID (visible in the frontend) Integer

📩 Endpoints


🧪 Example (cURL)

curl -X PUT -H "Content-Type: application/json" -H "X-Network-ID: -1" -H "X-Auth-Token: AUTH-TOKEN" -H "X-Auth-ID: USER-ID" -d '[{"basket_item_id": 76041, "amount": 2, "status": "0", "additional": {"variable1": "text", "variable2": 1}}]' https://SUB.DOMAIN.DE/ws/V6/admin/JSON/Baskets

🧾 Body Parameters

Parameter Description Data Type Required
basket_item_id Unique ID of the basket item Integer ✅ Yes
amount Quantity of the basket item Integer No
price Net price of the basket item Float No
status Status of the order: 0 = open, 1 = confirmed, 2 = canceled Integer ✅ Yes
turnover Order value in campaign currency Float ✅ Yes
additional Additional information regarding the basket item JSON No

Example Request

Headers:

HTTP
Content-Type: application/json
X-Network-ID: -1
X-Auth-Token: ACCESS-TOKEN
X-Auth-ID: USER-ID

Body:

JSON
[
    {
        "basket_item_id": 76041, 
        "amount": 1, 
        "status": "1", 
        "additional": {
            "variable1": "text", 
            "variable2": 1
        }
    }
]