Naše služba Reporting API umožňuje extrahovat data a metriky z vašeho ContentKing účtu. Mezi její typická využití patří například sjednocení reportingových úloh při propojování několika softwarových řešení nebo integrace vašeho ContentKing účtu do portálu klienta.

Podmínky používání služby Reporting API

Používáním služby Reporting API souhlasíte s Podmínkami používání služby Reporting API.

Získání Reporting API tokenu

Abyste službu Reporting API mohli začít používat, je nutné nejprve získat Reporting API token vašeho ContentKing účtu. Najdete ho v sekci Účet pod záložkou Nastavení účtu.

Hlavičky API požadavků

Při odesílání požadavků je nutné dodržet následující formát hlaviček:

Authorization: token <place-your-API-token-here> Content-Type: application/json

Poznámka: Za textovým řetězcem “token” musí následovat mezera a váš skutečný API token.

URL adresa služby Reporting API

ContentKing Reporting API je dostupné na následující URL adrese:

https://api.contentkingapp.com/

Získání seznamu webů ve vašem účtu

Pokud chcete získat seznam webů ve svém účtu, odešlete následující požadavek:

GET /v1/websites

Odpověď bude vypadat takto:

200 OK [ { "id": "1-234", "app_url": "https://app.contentkingapp.com/websites/1-234/dashboard", "domain": "https://www.contentkingapp.com", "name": null, "page_capacity": 1000 }, { "id": "1-2345", "app_url": "https://app.contentkingapp.com/websites/1-2345/dashboard", "domain": "https://www.contentkingapp.de", "name": "ContentKing - DE", "page_capacity": 500 } ]

Získání seznamu upozornění u jednotlivých webů

Pokud chcete získat seznam upozornění pro konkrétní web ve svém účtu, odešlete následující požadavek:

GET /v1/websites/<website_id>/alerts

Odpověď bude vypadat takto:

200 OK [ { "id": "1", "app_url": "https://app.contentkingapp.com/websites/1-234/events?event=1", "date_last_updated": "2018-05-10T12:59:21+02:00", "date_opened": "2018-05-10T12:59:21+02:00", "name": "robots_txt_changed", "scope": "platform", "type": "warning" }, { "id": "2", "app_url": "https://app.contentkingapp.com/websites/1-234/events?event=2", "date_last_updated": "2018-07-21T03:21:46+02:00", "date_opened": "2018-07-16T14:33:43+02:00", "name": "issue_opened.meta_information/title_missing", "scope": "pages", "type": "alert" } ]

Získání seznamu problémů u jednotlivých webů

Pokud chcete získat seznam problémů konkrétního webu ve svém účtu, odešlete následující požadavek:

GET /v1/websites/<website_id>/issues

Odpověď bude vypadat takto:

200 OK [ { "name": "content_headings/h1_duplicate", "points_gained": 24, "points_to_gain": 0, "scope": "pages" }, { "name": "xml_sitemap/missing", "points_gained": 10, "points_to_gain": 0, "scope": "platform" } ]

Získání seznamu segmentů u jednotlivých webů

Pokud chcete získat seznam segmentů u konkrétního webu ve svém účtu, odešlete následující požadavek:

GET /v1/websites/<website_id>/segments

Odpověď bude vypadat takto:

200 OK [ { "id": "1", "color": "72c035", "label": "Indexable", "shortcode": "I" }, { "id": "2", "color": "9ea6af", "label": "Non-indexable", "shortcode": null } ]

Získání statistik o webu nebo jeho segmentech

Pokud chcete získat statistiky konkrétního webu ve svém účtu, odešlete následující požadavek:

GET /v1/websites/<website_id>/statistics/website

Nebo můžete poslat následující požadavek pro získání statistik konkrétního segmentu v rámci daného webu:

GET /v1/websites/<website_id>/statistics/segment:<segment_id>

Odpověď bude vypadat takto:

200 OK { "health": 969, "number_of_issues": 15, "number_of_urls": { "missing": 2, "page": 9, "redirect": 4, "server_error": 0, "unreachable": 0 } }

Specifické chyby při požadování statistik

404 Not found { "error": "No statistics found for given scope" }

Tato odpověď znamená, že statistiky pro daný rámec (web nebo segment) nejsou v této chvíli dostupné. Tato situace se později může, nebo také nemusí změnit.

Získání dat o konkrétní stránce v rámci webu

Pokud chcete získat data o konkrétní stránce v rámci jednoho z webů ve svém účtu, odešlete následující požadavek:

GET /v1/websites/<website_id>/pages?url=<url>

Odpověď pro stránku

Odpověď v případě existující stránky (URL vrátí HTTP status 200) bude vypadat takto:

200 OK { "url": "https://www.contentkingapp.com/", "is_https": true, "ga_average_time": 10, "ga_bounce_rate": 5, "ga_date_range": { "since": "2018-05-09", "until": "2018-08-07" }, "ga_page_value": 0, "ga_page_views": 1, "ga_unique_page_views": 2, "gsc_clicks": 0, "gsc_ctr": 0, "gsc_date_range": { "since": "2018-05-09", "until": "2018-08-07" }, "gsc_impressions": 4, "gsc_position": 5, "health": 935, "is_disallowed_in_robots_txt": false, "is_indexable": true, "is_indexable_due_to_meta_robots": "yes", "is_indexable_due_to_x_robots_tag": "yes", "relevance": 8.72, "status_code": 200, "time_document_download": 183, "type": "page", "content": [ { "type": "canonical", "content": null }, { "type": "title", "content": "Blog" }, { "type": "meta_description", "content": "some meta description" }, { "type": "h1", "content": "ContentKing" }, { "type": "h2", "content": "Pricing" } { "type": "meta_robots", "content": null }, { "type": "open_graph_description", "content": null }, { "type": "open_graph_image", "content": null }, { "type": "open_graph_title", "content": null }, { "type": "open_graph_type", "content": null }, { "type": "open_graph_url", "content": null }, { "type": "twitter_card", "content": null }, { "type": "twitter_site", "content": null }, { "type": "google_analytics", "content": "UA-XXXXXX-X" } ], "schema_org": [], "segments": [ "1", "3" ], "app_url": "https://app.contentkingapp.com/websites/1-234/pages/3", "open_issues": [ { "name": "open_graph/missing" }, { "name": "twitter_cards/missing" }, { "name": "meta_information/meta_description_incorrect_length" }, { "name": "meta_information/title_incorrect_length" } ] }

Odpověď pro přesměrování

Odpověď v případě přesměrování (URL vrátí HTTP status 3xx) bude vypadat takto:

200 OK { "url": "https://www.contentkingapp.com/this-redirects", "is_https": true, "gsc_clicks": 9, "gsc_ctr": 5, "gsc_date_range": { "since": "2018-05-09", "until": "2018-08-07" }, "gsc_impressions": 1, "gsc_position": 4, "is_disallowed_in_robots_txt": false, "is_indexable": false, "is_indexable_due_to_meta_robots": "not_applicable", "is_indexable_due_to_x_robots_tag": "not_applicable", "redirect": { "location": "https://www.contentkingapp.com/", "url": "https://www.contentkingapp.com/", }, "status_code": 302, "time_document_download": 149, "type": "redirect", "segments": [ "1" ], "app_url": "https://app.contentkingapp.com/websites/1-234/pages/4", }

Odpověď pro nenalezení

Odpověď v případě chybějící stránky (URL vrátí HTTP status 4xx) bude vypadat takto:

200 OK { "url": "https://www.contentkingapp.com/this-does-not-exist", "is_https": true, "is_disallowed_in_robots_txt": false, "is_indexable": false, "is_indexable_due_to_meta_robots": "not_applicable", "is_indexable_due_to_x_robots_tag": "not_applicable", "status_code": 404, "time_document_download": 218, "type": "missing", "segments": [ "2" ], "app_url": "https://app.contentkingapp.com/websites/1-234/pages/5", }

Specifické chyby při požadování dat o stránce

404 Not found { "error": "Requested URL was not found" }

Tato odpověď znamená, že URL adresa odeslaná v požadavku není monitorovaná ContentKingem.

404 Not found { "error": "Requested URL cannot be provided via Reporting API" }

Tato odpověď znamená, že data o URL adrese odeslané v požadavku nejsou dostupná prostřednictvím služby Reporting API.

Získání seznamu stránek jednoho webu

Pokud chcete získat seznam stránek konkrétního webu, odešlete následující požadavek:

GET /v1/websites/<website_id>/pages/list?page=1&per_page=100&sort=url&direction=desc GET /v1/websites/<website_id>/pages/list?page=1&per_page=100&sort=url&direction=desc&filter%5Bsegment%5D=18

Stránkování

Parametry "per_page" a "page" umožňují stránkovat výsledek s mnoha záznamy.

  • Hodnota parametru "per_page" může být od 1 do 500
  • Hodnota parametru "page" může být od 1 do "ceil(total / per_page)". Pokud je hodnota "page" vyšší než maximální hodnota, pole “urls” bude prázdné.

Odpověď pro stránku

Každá API odpověď obsahuje 2 hlavní pole:

  • "total" - udává počet url adres v sadě výsledků pro daný dotaz
  • "urls" - výčet url adres na základě parametrů “per_page” a “page”
200 OK { "total": 1, "urls": [ { "app_url": "https://app.contentkingapp.com/websites/1-2/pages/3", "analytics_services": [ "google_analytics" ], "canonical_type": "internal_self", "ga_average_time": 5.788, "ga_bounce_rate": 48, "ga_page_value": 0, "ga_page_views": 248, "ga_unique_page_views": 214, "gsc_clicks": 3, "gsc_ctr": 0.183, "gsc_impressions": 1635, "gsc_position": 41.021, "health": 950, "h1": "H1 page header", "hreflang_language": "en", "is_disallowed_in_robots_txt": false, "is_indexable": true, "is_indexable_due_to_meta_robots": true, "is_indexable_due_to_x_robots_tag": null, "is_linked": true, "link_amp": null, "link_next": null, "link_prev": null, "meta_description": "ContentKing keeps track of your website 24/7 so that you can catch unexpected changes and issues before search engines and visitors do. Try it today!", "mobile_variant": null, "number_of_hreflangs": 6, "number_of_incoming_internal_canonicals": 1, "number_of_incoming_internal_links": 314, "number_of_incoming_internal_redirects": 0, "number_of_outgoing_external_links": 10, "number_of_outgoing_internal_links": 65, "open_graph_description": "Get more visitors and increase conversions with ContentKing. Monitor your website and catch problems before search engines and visitors do. Try now!", "open_graph_image": "https://www.contentkingapp.com/wp-content/uploads/2017/12/%5B600x314%5D%20Facebook%20Open%20Graph%20-%[email protected]", "open_graph_title": "Content Optimization and Monitoring service ContentKing", "open_graph_type": "website", "open_graph_url": "https://www.contentkingapp.com/", "relevance": 5.97, "schema_org_number_of_types": 1, "schema_org_types": [ "Website" ], "segments": [ "18" ], "status_code": 200, "tag_managers": [ "google_tag_manager" ], "time_document_download": 947, "title": "Real-time SEO Auditing and Content Change Tracking - ContentKing", "twitter_card": "summary_large_image", "twitter_description": "Get more visitors and increase conversions with ContentKing. Catch problems before search engines and visitors do. Try it today!", "twitter_image": "https://www.contentkingapp.com/wp-content/uploads/2017/12/%5B600x314%5D%20Facebook%20Open%20Graph%20-%20ContentK[email protected]", "twitter_site": "@contentking", "twitter_title": "Content Optimization service ContentKing", "type": "page", "url": "https://www.contentkingapp.com/", "url_depth": 0, "visual_analytics_services": [ "mouseflow" ] } ] }

Získání seznamu stránek se stejným upozorněním

Pokud chcete získat seznam stránek napříč weby ve svém účtu, u kterých se vyskytuje stejné upozornění, odešlete následující požadavek:

GET /v1/websites/<website_id>/alerts/<alert_id>/pages?page=1&per_page=100

Stránkování

Parametry "per_page" a "page" umožňují stránkovat výsledek s mnoha záznamy.

  • Hodnota parametru "per_page" může být od 1 do 500
  • Hodnota parametru "page" může být od 1 do "ceil(total / per_page)". Pokud je hodnota "page" vyšší než maximální hodnota, pole “urls” bude prázdné.

Odpověď pro stránku

Každá API odpověď obsahuje 2 hlavní pole:

  • "total" - počet url adres v sadě výsledků pro daný dotaz
  • "urls" - výčet url adres na základě parametrů “per_page” a “page”
200 OK { "total": 1, "urls": [ { "app_url": "https://app.contentkingapp.com/websites/1-2/pages/3", "relevance": 5.97, "segments": [ "18" ], "url": "https://www.contentkingapp.com/" } ] }

Získání seznamu stránek se stejným problémem

Pokud chcete získat seznam stránek napříč weby ve svém účtu, u kterých se vyskytuje stejný problém, odešlete následující požadavek:

GET /v1/websites/<website_id>/issues/<issue>/pages?page=1&per_page=100

Stránkování

Parametry "per_page" a "page" umožňují stránkovat výsledek s mnoha záznamy.

Hodnota parametru "per_page" může být od 1 do 500

Hodnota parametru "page" může být od 1 do "ceil(total / per_page)". Pokud je hodnota "page" vyšší než maximální hodnota, pole “urls” bude prázdné.

Odpověď pro stránku

Každá API odpověď obsahuje 2 hlavní pole:

  • "total" - počet url adres v sadě výsledků pro daný dotaz
  • "urls" -  výčet url adres na základě parametrů “per_page” a “page”
200 OK { "total": 1, "urls": [ { "app_url": "https://app.contentkingapp.com/websites/1-2/pages/3", "relevance": 5.97, "segments": [ "18" ], "url": "https://www.contentkingapp.com/" } ] }

Seznam problémů

Problém Popis

Analytika

analytics/analytics_missing Není nainstalován žádný analytický nástroj
analytics/visual_analytics_missing Není nainstalován žádný nástroj pro vizuální analytiku

Nadpisy v obsahu

content_headings/h1_duplicate Nadpis H1 není unikátní
content_headings/h1_incorrect_length Nadpis H1 má nesprávnou délku
content_headings/h1_missing Nadpis H1 chybí
content_headings/h1_too_many Více než jeden nadpis H1

Kanonický odkaz

canonical_link/incorrectly_canonicalized Kanonický odkaz na jinou stránku se nachází na neindexovatelné stránce.
canonical_link/missing Kanonický odkaz chybí.
canonical_link/points_to_unindexable Kanonický odkaz odkazuje na neindexovatelnou stránku.
canonical_link/too_many Více než jeden kanonický odkaz
Obrázky
images/alt_attribute U obrázků chybí atribut alt
images/title_attribute U obrázků chybí atribut title

Odkazy

links/broken Stránka obsahuje nefunkční odkazy
links/redirected Stránka obsahuje odkazy na přesměrování
links/to_canonicalized Stránka obsahuje odkazy na kanonické URL

Meta informace

meta_information/meta_description_duplicate Meta description není unikátní
meta_information/meta_description_incorrect_length Meta description má nesprávnou délku
meta_information/meta_description_missing Meta description chybí
meta_information/meta_description_too_many Meta description je na stránce obsažen více než jednou
meta_information/title_duplicate Název stránky (Page title) není unikátní
meta_information/title_incorrect_length Název stránky má nesprávnou délku
meta_information/title_missing Název stránky chybí
meta_information/title_too_many Stránky mají více názvů

Strukturovaná data Open Graph

open_graph/description_incorrect_length Open Graph description má nesprávnou délku
open_graph/missing Nejsou přítomny všechny vyžadované Open Graph elementy
open_graph/title_incorrect_length Open Graph title má nesprávnou délku

Strukturovaná data Twitter Cards

twitter_cards/description_incorrect_length Twitter Cards description má nesprávnou délku
twitter_cards/missing Nejsou přítomny všechny vyžadované Twitter Card elementy
twitter_cards/title_incorrect_length Twitter Cards title má nesprávnou délku

XML Sitemap

xml_sitemap/incorrectly_missing Stránka není obsažena v souboru XML sitemap
xml_sitemap/incorrectly_present Stránka je v souboru XML sitemap zavedena chybně

Nejčastější chyby v API

Chybějící autorizace

401 Unauthorized { "code": "auth_missing_token", "message": "Authentication token must be passed in Authorization HTTP header.", "errors": [] }

Tato odpověď znamená, že požadavek byl přijat, avšak chybí mu autorizační token, kvůli čemuž nemůže být zpracován. Ujistěte se, že máte správně nastavenou hlavičku Autorizace (Authorization).

Autorizace selhala

401 Unauthorized { "code": "auth_failed", "message": "Authentication token is expired or invalid.", "errors": [] }

Pokud dostanete tuto odpověď, znamená to, že požadavek nemohl být zpracován, protože příslušný API token je neplatný či prošlý.

Nepřijetí Podmínek používání služby Reporting API

403 Forbidden { "code": "terms_of_use_not_accepted", "message": "Reporting API Terms of Use have not been accepted yet. Please accept Terms of Use in Account Settings.", "errors": [] }

Tato odpověď znamená, že jste dosud nepřijali Podmínky používání služby Reporting API. Tyto podmínky je nutné přijmout v sekci Účet pod záložkou Nastavení účtu předtím, než službu začnete využívat.

Web nenalezen

404 Not found { "error": "Requested website ID was not found" }

Tato odpověď znamená, že web s vámi uvedeným ID ve vašem účtu nelze nalézt.

Chybný formát autorizace

422 Unprocessable Entity { "code": "auth_malformed", "message": "Authorization HTTP header must conform to format described in docs.", "errors": [] }

Tato odpověď znamená, že váš požadavek byl přijat, avšak autorizace byla nesprávně naformátována. Ujistěte se, že máte správně nastavenou hlavičku Autorizace.

Získejte zkušební verzi na 14 dní zdarma

Začněte během 20 vteřin

Vložte platnou doménu, prosím (www.priklad.cz).
  • Platební karta není potřeba
  • Není třeba žádná instalace
  • Bez závazků