Die Basis-URL für alle CAPI-Request lautet https://capi.channelpilot.com/
Über die CAPI können verschiedene Funktionen - im Weiteren als Requests bezeichnet - genutzt werden, um Produktdaten zu manipulieren.
PUT
PATCH
DELETE
Beachte: Folgende Information ist Shop-spezifisch.
Es gibt ein Maximum an Requests, die gesendet werden können. Dieses liegt bei 60 Requests pro Minute, wobei jeder Request nicht mehr als 10.000 Artikel (SKU) beinhalten darf.
Es ist nicht möglich, 600.000 SKU zu senden und diese dann nach und nach abarbeiten zu lassen. In diesem Fall wird der Request direkt abgelehnt.
Zusätzliche Funktionen ermöglichen die Authentifizierung für den Zugriff auf die CAPI sowie verschiedene Informationen über das Setup.
POST - AUTHENTICATION/LOGIN
GET - FEEDS/SETUP
GET - DATAFIELDS/SETUP
GET - JOBS/ID
POST / AUTHENTICATION - Generierung eines Token
Alle Requests benötigen einen gültigen "BearerToken", der über eine Authentifizierung generiert werden kann.
Dieser Schritt sollte unbedingt zuerst durchgeführt werden, da alle anderen Requests die gesendet werden, auf einen gültigen BearerToken angewiesen sind!
Dieser Token ist maximal 1 Stunde gültig und muss dann über die Authentifizierung erneuert werden.
Dafür sind folgende Daten notwendig:
API-Merchant-ID
API-Token
Beide Information können in Channel Pilot Pro im jeweiligen Shop abgerufen werden.
Ein generierter "BearerToken" ist 1 Stunde gültig und muss danach erneuert werden.
Request-/Result-Body:
{
"apiMerchantId": "DummyMerchantId",
"apiToken": "DummyApiToken"
}
{
"expiredAt": "TIMESTAMP",
"access_token": "SAMPLE-TOKEN",
"tokenType": "Bearer"
}
Pflichtangaben: apiMerchantId, apiToken
GET / SETUP - Liefert verschiedene Informationen über das Setup und Requests
Es ist jederzeit möglich das Setup zu überprüfen und per Request abzufragen. Dabei gibt es verschiedene Abfragen die durchgeführt werden können:
Feed-Setup (Request = feeds)
Datenfeld-Setup (Request = datafields)
Doku: FEEDS-Request / DATAFIELD-Request
Request-URL: https://capi.channelpilot.com/REQUEST/setup
Request-/Result-Body:
{ "type": "setup_feeds",
"result": {
"setups": [
{
"globalFeedId": "fe-3v",
"title": "Masterfeed",
"sourceType": "http",
"identifier": "MASTER",
"maxDuplicatedCustomerArticlesIds": 0,
"lastUpdate": "2018-03-01T12:00:00+01:00",
"lastDownload": "2018-03-01T12:00:00+01:00",
"lastImport": "2018-03-01T12:03:14+01:00",
"numberOfArticles": 1299,
"combineDataFields": true,
"dataSource": {
"sourceType": "http",
"url": "http://myexample.shop/feed.csv",
"userName": "http",
"encoding": "UTF-8",
"compression": "gzip",
"incremental": false,
"bypassCaches": false
},
"dataFormat": {
"format": "csv",
"separator": ",",
"delimiter": "\\",
"maxErrorRowCount": 0,
"headerIncluded": true
}
}
]
}
{ "type": "setup_datafields",
"result": {
"setups": [
{
"globalId": "d-ev",
"title": "My Datafield 123",
"category": "feed",
"globalFeedId": "f-eV"
}
]
}
Pflichtangaben: Für orders -> BearerToken, CanalId
PUT - Ersetzen von Daten
PUT kann nicht zum Löschen von nicht mehr verwendeten Datenfeldern verwendet werden, sondern nur zum Leeren dieser Felder.
Dieser Request wird genutzt, um Daten von Artikeln zu ersetzen und die bestehenden Daten zu überschreiben. Werden Daten nicht mehr mit gesendet, werden diese gelöscht und sind für den Artikel nicht mehr verfügbar, bis diese erneut übermittelt werden.
Die Anlage von Artikeln oder neuen Attributen ist standardmäßig nicht möglich, kann aber aktiviert werden!
Doku: PUT-Request
Request-URL: https://capi.channelpilot.com/feeds/globalFeedId/data
Request-/Result-Body:
[
{
"sku": "MYARTICLE-123/B",
"stock": "2",
"price": "12.32",
"category": "cat1 > cat2 > cat3",
"details": {
"description": "loremp ipsum"
}
}
]
{
"id": "REQUEST/JOB-ID",
"status": "DONE",
"received": "TIMESTAMP",
"started": "TIMESTAMP",
"finished": "TIMESTAMP",
"articles": 500,
"successful": 499,
"message": ""
}
Pflichtangaben: sku
PATCH - Ergänzen von Daten
Dieser Request kann genutzt werden, um partiell Daten an einem Artikel zu verändern oder zu ergänzen. Information die nicht mit gesendet werden gehen dabei nicht verloren sondern werden lediglich ignoriert.
Die Anlage von Artikeln oder neuen Attributen ist standardmäßig nicht möglich, kann aber aktiviert werden!
Doku: PATCH-Request
Request-URL: https://capi.channelpilot.com/feeds/globalFeedId/data
Request-/Result-Body:
[
{
"sku": "MYARTICLE-123/B",
"stock": "2",
"price": "12.32",
"category": "cat1 > cat2 > cat3",
"details": {
"description": "loremp ipsum"
}
}
]
{
"id": "REQUEST/JOB-ID",
"status": "DONE",
"received": "TIMESTAMP",
"started": "TIMESTAMP",
"finished": "TIMESTAMP",
"articles": 500,
"successful": 499,
"message": ""
}
Pflichtangaben: sku
DELETE - Entfernen von Artikeln
Dieser Request kann verwendet werden, um Artikel aus einem Shop zu löschen. Dabei wird der gesamte Artikel entfernt und alle dazugehörigen Daten im selektierten Shop.
Diese Funktion ist standardmäßig nicht möglich, kann aber aktiviert werden!
Doku: DELETE-Request
Request-URL: https://capi.channelpilot.com/feeds/globalFeedId/data
Request-/Result-Body:
[
{
"sku": "MYARTICLE-123/B",
"stock": "2",
"price": "12.32",
"category": "cat1 > cat2 > cat3",
"details": {
"description": "loremp ipsum"
}
}
]
{
"id": "REQUEST/JOB-ID",
"status": "DONE",
"received": "TIMESTAMP",
"started": "TIMESTAMP",
"finished": "TIMESTAMP",
"articles": 500,
"successful": 499,
"message": ""
}
Pflichtangaben: sku
GET / JOBS - Liefert alle Informationen über einen Request zurück
Um zu prüfen ob ein Request / Job erfolgreich durchgelaufen ist und ob Fehlermeldungen bei der Ausführung vorliegen, kann jeder Request der letzten 14 Tage, anhand der Job-ID, erneut abgefragt werden. Diese ID wird übermittelt sobald ein Request an die CAPI gesendet wird.
Doku: JOBS-Request
Request-URL: https://capi.channelpilot.com/jobs/JOB-ID
Request-Sample-Body:
{
"type": "job",
"result": {
"id": "REQUEST/JOB-ID",
"jobStatusType": "DONE",
"globalFeedId": "FEED-ID",
"created": "TIMESTAMP",
"modified": "TIMESTAMP",
"articles": 500,
"successful": 499
"message": "POTENTIAL-ERRORMESSAGE"
},
"success": true
}
Pflichtangaben: Job-id

