From 532fc78d19c6b7065e421824805215ef316994b5 Mon Sep 17 00:00:00 2001 From: Christian Weiske Date: Wed, 14 Apr 2021 22:18:07 +0200 Subject: [PATCH] First part of the setup process --- README.rst | 12 ++ api/doc-official.rst | 6 + api/google.clients3-generate_204.rst | 16 ++ api/headers.rst | 16 +- api/identifiers.rst | 28 ++++ api/mytolino-tolino-status.rst | 20 +++ ...eller-countries.response-nohardwareid.json | 8 + ...bosh-rest-reseller-countries.response.json | 145 ++++++++++++++++++ ...lace.bosh-bosh-rest-reseller-countries.rst | 57 +++++++ ...sh-rest-reseller-selection-report-post.rst | 32 ++++ ...eller-selection.response-missingparam.json | 8 + ...eller-selection.response-nohardwareid.json | 8 + ...bosh-rest-reseller-selection.response.json | 13 ++ ...lace.bosh-bosh-rest-reseller-selection.rst | 75 +++++++++ ...ellerconfig.response-ok-tolinovision1.json | 17 ++ ...ellerconfig.response-ok-tolinovision2.json | 101 ++++++++++++ ...place.bosh-bosh-rest-v2-resellerconfig.rst | 12 ++ api/usecase-setup.rst | 22 +++ 18 files changed, 594 insertions(+), 2 deletions(-) create mode 100644 api/doc-official.rst create mode 100644 api/google.clients3-generate_204.rst create mode 100644 api/identifiers.rst create mode 100644 api/mytolino-tolino-status.rst create mode 100644 api/pageplace.bosh-bosh-rest-reseller-countries.response-nohardwareid.json create mode 100644 api/pageplace.bosh-bosh-rest-reseller-countries.response.json create mode 100644 api/pageplace.bosh-bosh-rest-reseller-countries.rst create mode 100644 api/pageplace.bosh-bosh-rest-reseller-selection-report-post.rst create mode 100644 api/pageplace.bosh-bosh-rest-reseller-selection.response-missingparam.json create mode 100644 api/pageplace.bosh-bosh-rest-reseller-selection.response-nohardwareid.json create mode 100644 api/pageplace.bosh-bosh-rest-reseller-selection.response.json create mode 100644 api/pageplace.bosh-bosh-rest-reseller-selection.rst create mode 100644 api/pageplace.bosh-bosh-rest-v2-resellerconfig.response-ok-tolinovision1.json create mode 100644 api/pageplace.bosh-bosh-rest-v2-resellerconfig.response-ok-tolinovision2.json create mode 100644 api/usecase-setup.rst diff --git a/README.rst b/README.rst index 9f53f67..3d61c72 100644 --- a/README.rst +++ b/README.rst @@ -14,10 +14,13 @@ General information ******************* .. include:: api/headers.rst .. include:: api/domains.rst +.. include:: api/doc-official.rst +.. include:: api/identifiers.rst Use cases ********* +.. include:: api/usecase-setup.rst .. include:: api/usecase-login.rst .. include:: api/usecase-sync.rst .. include:: api/usecase-upload.rst @@ -35,6 +38,9 @@ API calls .. include:: api/pageplace.bosh-bosh-rest-inventory-count.rst .. include:: api/pageplace.bosh-bosh-rest-ping.rst .. include:: api/pageplace.bosh-bosh-rest-recommendation-xyz.rst +.. include:: api/pageplace.bosh-bosh-rest-reseller-countries.rst +.. include:: api/pageplace.bosh-bosh-rest-reseller-selection.rst +.. include:: api/pageplace.bosh-bosh-rest-reseller-selection-report-post.rst .. include:: api/pageplace.bosh-bosh-rest-sync-data.rst .. include:: api/pageplace.bosh-bosh-rest-time.rst .. include:: api/pageplace.bosh-bosh-rest-upload.rst @@ -54,6 +60,12 @@ API calls .. include:: api/thalia-auth-oauth2-token-post.rst +Other requests +************** +.. include:: api/google.clients3-generate_204.rst +.. include:: api/mytolino-tolino-status.rst + + About ***** This documentation has been written by Christian Weiske, diff --git a/api/doc-official.rst b/api/doc-official.rst new file mode 100644 index 0000000..13da48b --- /dev/null +++ b/api/doc-official.rst @@ -0,0 +1,6 @@ +====================== +Official documentation +====================== + +https://bosh.pageplace.de/bosh/doc + Needs HTTP basic auth username + password diff --git a/api/google.clients3-generate_204.rst b/api/google.clients3-generate_204.rst new file mode 100644 index 0000000..8818ad5 --- /dev/null +++ b/api/google.clients3-generate_204.rst @@ -0,0 +1,16 @@ +=============================================== +``GET http://clients3.google.com/generate_204`` +=============================================== + +Check if the internet is reachable. + +Request +======= +Header + ``User-Agent`` + Example: ``Dalvik/1.6.0 (Linux; U; Android 4.4.2; tolino Build/KOT49H)`` + + +Response +======== +HTTP 204 No Content diff --git a/api/headers.rst b/api/headers.rst index 80ab15c..dbccdc8 100644 --- a/api/headers.rst +++ b/api/headers.rst @@ -28,7 +28,12 @@ Headers common in all HTTP requests to ``https://bosh.pageplace.de/bosh/rest/... Example: ``3`` ``hardware_id`` - FIXME: Serial number of the ebook reader? + Serial number of the ebook reader. + + Second part of the serial number that can be obtained via shell:: + + $ getprop ro.serialno + 60239815,665fc389ef4e47258c5db9fa7821bd19 Example: ``665fc389ef4e47258c5db9fa7821bd19`` ``Content-Type`` @@ -56,11 +61,18 @@ family v1 header set Example: ``3`` ``Hardware-Id`` + Serial number of the ebook reader. + + Second part of the serial number that can be obtained via shell:: + + $ getprop ro.serialno + 60239815,665fc389ef4e47258c5db9fa7821bd19 + Example: ``665fc389ef4e47258c5db9fa7821bd19`` ``Content-Type`` ``application/json; charset=UTF-8`` - This is a lie; there is no request body. + Always set even if there is no request body. ``client_type`` Example: ``TOLINO_VISION_3`` ``client_version`` diff --git a/api/identifiers.rst b/api/identifiers.rst new file mode 100644 index 0000000..6ca2722 --- /dev/null +++ b/api/identifiers.rst @@ -0,0 +1,28 @@ +=========== +Identifiers +=========== + +Publication ID +============== +A book has an identifier, for example ``DT0400.9783641267575_A39529579``. + +The API uses ``publicationId`` and ``pubid`` as names. + +It consists of several parts: + +- Prefix ``DT`` +- four-letter order ID ``0400`` +- ISBN-13 ``9783641267575`` +- unknown suffix ``A39529579`` + + +Excerpt from `Analyse verbreiteter Anwendungen zum Lesen von elektronischen Büchern `_: + + Der Aufbau des Wertes der Variable ``path`` erläutern wir anhand eines Beispiels: + + ``/publications/DT./bookmark/`` + + Hierbei handelt es sich bei BESTELLUNG um eine vierstellige Zahl, + welche bei allen Büchern, die innerhalb des selben Bestellvorgangs gekauft + wurden, identisch ist. + Dies wurde mit mehreren Bestellungen von fünf, drei bzw. einem Buch nachvollzogen. diff --git a/api/mytolino-tolino-status.rst b/api/mytolino-tolino-status.rst new file mode 100644 index 0000000..ebf6ca4 --- /dev/null +++ b/api/mytolino-tolino-status.rst @@ -0,0 +1,20 @@ +================================================================= +``GET http://mytolino.com/tolino-status.html?responseStatus=204`` +================================================================= + +Check if the internet is reachable. + +Request +======= +Header + ``User-Agent`` + Example: ``Dalvik/1.6.0 (Linux; U; Android 4.4.2; tolino Build/KOT49H)`` + + +Response +======== +At the time of writing, a ``301 Moved Permanently`` is returned (2021-04) +with a location header to +https://mytolino.com/tolino-status.php?responseStatus=204 . + +That URL returns a ``204 No Content`` response. diff --git a/api/pageplace.bosh-bosh-rest-reseller-countries.response-nohardwareid.json b/api/pageplace.bosh-bosh-rest-reseller-countries.response-nohardwareid.json new file mode 100644 index 0000000..06f0a9b --- /dev/null +++ b/api/pageplace.bosh-bosh-rest-reseller-countries.response-nohardwareid.json @@ -0,0 +1,8 @@ +{ + "ResponseInfo": { + "serviceName": "reseller/countries[GET]", + "responseStatus": -90, + "message": "No hardware found for given id.", + "requestId": "e5a64229-5e64-4d14-aac6-8925be6af48e" + } +} diff --git a/api/pageplace.bosh-bosh-rest-reseller-countries.response.json b/api/pageplace.bosh-bosh-rest-reseller-countries.response.json new file mode 100644 index 0000000..79091d9 --- /dev/null +++ b/api/pageplace.bosh-bosh-rest-reseller-countries.response.json @@ -0,0 +1,145 @@ +{ + "resellerCountryResponse": { + "resellerCountryGroups": [ + { + "languageCode": "DE", + "resellerCountries": [ + { + "languageTag": "de-DE", + "language": "Deutsch", + "country": "Deutschland", + "countryCode": "DE" + }, + { + "languageTag": "de-CH", + "language": "Deutsch", + "country": "Schweiz", + "countryCode": "CH" + }, + { + "languageTag": "de-AT", + "language": "Deutsch", + "country": "Österreich", + "countryCode": "AT" + } + ] + }, + { + "languageCode": "EN", + "resellerCountries": [ + { + "languageTag": "de-AT", + "language": "German", + "country": "Austria", + "countryCode": "AT" + }, + { + "languageTag": "de-DE", + "language": "German", + "country": "Germany", + "countryCode": "DE" + }, + { + "languageTag": "de-CH", + "language": "German", + "country": "Switzerland", + "countryCode": "CH" + } + ] + }, + { + "languageCode": "FR", + "resellerCountries": [ + { + "languageTag": "de-DE", + "language": "allemand", + "country": "Allemagne", + "countryCode": "DE" + }, + { + "languageTag": "de-AT", + "language": "allemand", + "country": "Autriche", + "countryCode": "AT" + }, + { + "languageTag": "de-CH", + "language": "allemand", + "country": "Suisse", + "countryCode": "CH" + } + ] + }, + { + "languageCode": "ES", + "resellerCountries": [ + { + "languageTag": "de-DE", + "language": "alemán", + "country": "Alemania", + "countryCode": "DE" + }, + { + "languageTag": "de-AT", + "language": "alemán", + "country": "Austria", + "countryCode": "AT" + }, + { + "languageTag": "de-CH", + "language": "alemán", + "country": "Suiza", + "countryCode": "CH" + } + ] + }, + { + "languageCode": "IT", + "resellerCountries": [ + { + "languageTag": "de-AT", + "language": "tedesco", + "country": "Austria", + "countryCode": "AT" + }, + { + "languageTag": "de-DE", + "language": "tedesco", + "country": "Germania", + "countryCode": "DE" + }, + { + "languageTag": "de-CH", + "language": "tedesco", + "country": "Svizzera", + "countryCode": "CH" + } + ] + }, + { + "languageCode": "NL", + "resellerCountries": [ + { + "languageTag": "de-DE", + "language": "Duits", + "country": "Duitsland", + "countryCode": "DE" + }, + { + "languageTag": "de-AT", + "language": "Duits", + "country": "Oostenrijk", + "countryCode": "AT" + }, + { + "languageTag": "de-CH", + "language": "Duits", + "country": "Zwitserland", + "countryCode": "CH" + } + ] + } + ], + "rebrandable": false + } +} diff --git a/api/pageplace.bosh-bosh-rest-reseller-countries.rst b/api/pageplace.bosh-bosh-rest-reseller-countries.rst new file mode 100644 index 0000000..ba66ea5 --- /dev/null +++ b/api/pageplace.bosh-bosh-rest-reseller-countries.rst @@ -0,0 +1,57 @@ +============================================================== +``GET https://bosh.pageplace.de/bosh/rest/reseller/countries`` +============================================================== + +Fetch list of countries the e-reader can be used with. + +Step 1 of the `Setup process`_. + +``pageplace.de`` seems to have a list of hardware IDs and their +associated sellers. +E-reader devices sold by thalia.de can only choose thalia as book shop +when it is being setup. + +Only those countries are returned that the device seller is available in. + +Request +======= +Header + ``hardware_id`` + Required. + + Example: ``665fc389ef4e47258c5db9fa7821bd19`` + ``client_type`` + Example: ``TOLINO_VISION_3`` + ``client_version`` + Example: ``14.1.0`` + +GET parameters + ``languageCode`` + Two-letter e-reader interface language code. + + Does not seem to have any influence on the response. + + Example: ``en`` + +Response +======== + +Non-rebrandable device +---------------------- +HTTP status code ``200 OK``. + +Has ``rebrandable`` property set to ``false``. + +Example: + +.. include:: pageplace.bosh-bosh-rest-reseller-countries.response.json + :code: + + +Missing hardware_id header +-------------------------- +When no hardware_id is passed, a ``404 Not Found`` status code is returned +together with an error message: + +.. include:: pageplace.bosh-bosh-rest-reseller-countries.response-nohardwareid.json + :code: diff --git a/api/pageplace.bosh-bosh-rest-reseller-selection-report-post.rst b/api/pageplace.bosh-bosh-rest-reseller-selection-report-post.rst new file mode 100644 index 0000000..c6bb0af --- /dev/null +++ b/api/pageplace.bosh-bosh-rest-reseller-selection-report-post.rst @@ -0,0 +1,32 @@ +====================================================================== +``POST https://bosh.pageplace.de/bosh/rest/reseller/selection/report`` +====================================================================== + +Notify tolino which shop has been selected. + +This is probably used for tracking purposes since it is not required +function-wise for the e-reader. + + +Request +======= +Header + ``hardware_id`` + Required. + + Example: ``665fc389ef4e47258c5db9fa7821bd19`` + + It is not validated; it just must be non-empty. + ``client_type`` + Example: ``TOLINO_VISION_3`` + ``client_version`` + Example: ``14.1.0`` + +GET parameters + ``selectedShopId`` + Book shop ID, e.g. ``3`` for Thalia. + + +Response +======== +HTTP ``200 OK`` without content. diff --git a/api/pageplace.bosh-bosh-rest-reseller-selection.response-missingparam.json b/api/pageplace.bosh-bosh-rest-reseller-selection.response-missingparam.json new file mode 100644 index 0000000..6ef065e --- /dev/null +++ b/api/pageplace.bosh-bosh-rest-reseller-selection.response-missingparam.json @@ -0,0 +1,8 @@ +{ + "ResponseInfo": { + "serviceName": "", + "responseStatus": -1, + "message": "Required String parameter 'client_type' is not present", + "requestId": "b2e2aaaf-32a0-4584-ba74-23c3a7301f08" + } +} diff --git a/api/pageplace.bosh-bosh-rest-reseller-selection.response-nohardwareid.json b/api/pageplace.bosh-bosh-rest-reseller-selection.response-nohardwareid.json new file mode 100644 index 0000000..df06694 --- /dev/null +++ b/api/pageplace.bosh-bosh-rest-reseller-selection.response-nohardwareid.json @@ -0,0 +1,8 @@ +{ + "ResponseInfo": { + "serviceName": "reseller/selection[GET]", + "responseStatus": -90, + "message": "No hardware found for given id.", + "requestId": "baf7cd5d-93af-4000-a172-f7dfd6fd4493" + } +} diff --git a/api/pageplace.bosh-bosh-rest-reseller-selection.response.json b/api/pageplace.bosh-bosh-rest-reseller-selection.response.json new file mode 100644 index 0000000..208ebd2 --- /dev/null +++ b/api/pageplace.bosh-bosh-rest-reseller-selection.response.json @@ -0,0 +1,13 @@ +{ + "resellerSelectionResponse": { + "resellerSelection": [ + { + "resellerId": 3, + "resellerName": "Thalia.de", + "logo": "https://download.pageplace.de/partnerlogo/ereader/212ppi/3_resellerselectionlogo_212ppi.png", + "showPromotion": false, + "descriptions": [] + } + ] + } +} diff --git a/api/pageplace.bosh-bosh-rest-reseller-selection.rst b/api/pageplace.bosh-bosh-rest-reseller-selection.rst new file mode 100644 index 0000000..423991c --- /dev/null +++ b/api/pageplace.bosh-bosh-rest-reseller-selection.rst @@ -0,0 +1,75 @@ +============================================================== +``GET https://bosh.pageplace.de/bosh/rest/reseller/selection`` +============================================================== + +Fetch list of book sellers the e-reader can be used with. + +Step 2 of the `Setup process`_. + +``pageplace.de`` seems to have a list of hardware IDs and their +associated sellers. +E-reader devices sold by thalia.de can only choose thalia as book shop +when it is being setup. + +Only those book shops are returned that the device may be used with. + +Request +======= +Header + ``hardware_id`` + Required. + + Example: ``665fc389ef4e47258c5db9fa7821bd19`` + ``client_type`` + Example: ``TOLINO_VISION_3`` + ``client_version`` + Example: ``14.1.0`` + +GET parameters + ``client_type`` + Required. + + Example: ``TOLINOVISION3_14.1.0`` + ``countryCode`` + Required. + + The two-letter uppercase country code taken from `GET https://bosh.pageplace.de/bosh/rest/reseller/countries`_ + + Example: ``DE`` + ``languageCode`` + Two-letter e-reader interface language code. + + Does not seem to have any influence on the response. + + Example: ``en`` + +Response +======== + +Non-rebrandable device +---------------------- +HTTP status code ``200 OK``. + +Returns only one reseller. + +Example: + +.. include:: pageplace.bosh-bosh-rest-reseller-selection.response.json + :code: + + +Missing countryCode parameter +----------------------------- +Status Code: ``400 Bad Request`` + +.. include:: pageplace.bosh-bosh-rest-reseller-selection.response-missingparam.json + :code: + + +Missing hardware_id header +-------------------------- +When no or an unknown ``hardware_id`` header is passed, +a ``404 Not Found`` status code is returned together with an error message: + +.. include:: pageplace.bosh-bosh-rest-reseller-selection.response-nohardwareid.json + :code: diff --git a/api/pageplace.bosh-bosh-rest-v2-resellerconfig.response-ok-tolinovision1.json b/api/pageplace.bosh-bosh-rest-v2-resellerconfig.response-ok-tolinovision1.json new file mode 100644 index 0000000..696835d --- /dev/null +++ b/api/pageplace.bosh-bosh-rest-v2-resellerconfig.response-ok-tolinovision1.json @@ -0,0 +1,17 @@ +{ + "reseller_id": 3, + "client_type": "TOLINO_VISION_1", + "lastModified": 1603111725000, + "config": { + "URL_HANDSHAKE": "https://www.pageplace.de/media/client/handshake/index.html", + "STRING_BRAND_NAME": "Thalia.de", + "FAMILY_SHARING_ACTIVE": "true", + "IS_LCP_ACTIVATED": "false", + "URL_BOOKSHELF": "https://bosh.pageplace.de/bosh/rest/", + "ENABLE_DATA_RECOVERY": "true", + "URL_DEVICE_MANAGEMENT": "https://www.pageplace.de/media/client/handshake/index.html", + "ADVERTISING_REDIRECT_BASE": "redirect.mytolino.com", + "LCP_ACTIVATED": "true", + "SHOP_BASE": "https://ereader.thalia.de/de.thalia.ers.artikel/api/2004/artikel/details/?einsprung=reco" + } +} diff --git a/api/pageplace.bosh-bosh-rest-v2-resellerconfig.response-ok-tolinovision2.json b/api/pageplace.bosh-bosh-rest-v2-resellerconfig.response-ok-tolinovision2.json new file mode 100644 index 0000000..4aee95b --- /dev/null +++ b/api/pageplace.bosh-bosh-rest-v2-resellerconfig.response-ok-tolinovision2.json @@ -0,0 +1,101 @@ +{ + "reseller_id": 3, + "client_type": "TOLINO_VISION_2", + "version": "1.7.0", + "lastModified": 1603111725000, + "config": { + "STRING_SUPPORT_CONTACT": "E-Mail: info@thalia.de Rufnummer: +49 (0) 251 530 94 44 (Montag bis Freitag 9:00 Uhr - 18:00 Uhr)", + "STRING_BRAND_NAME": "Thalia.de", + "STRING_ARRAY_ACTIVATION_ADVANTAGES_ES": "{[\"Seleccione de entre más de un millo de libros electrónicos en la tienda de eBooks de Thalia su destacados personalizados.\",\"Lea de forma paralela con la aplicación de lectura digital de Thalia en su tableta o smartphone.\",\"Sincronice sus libros electrónicos de forma segura, cómoda y gratuita a través de la tolino Cloud en distintos dispositivos.\",\"Utilice con su dispositivo tolino de forma gratuita todos los HotSpots de la Deutsche Telekom.\"]}", + "SKIN_ID_VALUE_DE": "17", + "URL_REVOKETOKEN": "https://auth.buch.de/auth/oauth2/revoke", + "URL_SHOP_EBOOK_START_PAGE": "https://ereader.thalia.de/de.thalia.ers.sun/api/2004/sun/startseite?einsprung=firmware", + "STRING_ARRAY_ACTIVATION_ADVANTAGES_IT": "{[\"Scegli le tue letture preferite tra oltre un milione di eBook nell'eBook shop Thalia.\",\"Con l'app Thalia eReading, leggi in parallelo anche sul tablet o lo smartphone.\",\"Sincronizza i tuoi eBook in modo sicuro, comodo e gratuito su dispositivi diversi tramite tolino Cloud.\",\"Con il tuo tolino, sfrutta gratis tutti gli hot spot di Deutsche Telekom.\"]}", + "URL_HELP_EN": "https://ereader.thalia.de/ebooks/shop/faq.jsp?oid=4&lb_m=2004", + "ENABLE_DATA_RECOVERY": "true", + "OAUTH_CLIENT_ID": "treadervision2", + "SKIN_ID_KEY": "x_buchde.skin_id", + "URL_ACCESSTOKEN": "https://www.thalia.de/de.buch.appservices/api/2004/oauth2/token?client_secret=treaderapp_password", + "URL_OAUTH_AUTHORIZATION": "https://thalia.de/auth/oauth2/authorize?response_type=code&scope=SCOPE_BOSH SCOPE_BUCHDE SCOPE_MANDANT_ID.2004 SCOPE_LOGIN FAMILY&redirect_uri=epublishing://login&x_buchde.skin_id=17", + "STRING_ARRAY_ACTIVATION_ADVANTAGES_EN": "{[\"Browse through over 1,000,000 e-books in the Thalia shop.\", \"Use the Thalia eBooks app to read in parallel on your tablet, computer or smartphone.\",\"Synchronize your titles across various devices securely and free of charge via the tolino Cloud.\",\"Use all Deutsche Telekom HotSpots free of charge with your tolino.\"]}", + "BROWSER_START_PAGE": "https://www.google.de", + "URL_SHOP_EBOOK_SEARCH": "https://ereader.thalia.de/de.thalia.ers.sun/api/2004/sun/suche?einsprung=firmware&search_complex=", + "SKIN_ID_VALUE_EN": "17", + "SCOPE": "SCOPE_BOSH SCOPE_BUCHDE SCOPE_MANDANT_ID.2004", + "URL_HELP_DE": "https://ereader.thalia.de/ebooks/shop/faq.jsp?oid=4&lb_m=2004", + "APP_SHOP_SEARCH_TYPE": "WEBVIEW", + "LCP_ACTIVATED": "true", + "STRING_ARRAY_ACTIVATION_ADVANTAGES_DE": "{[\"Wählen Sie aus über einer Million eBooks im Thalia eBook-Shop Ihre persönlichen Highlights.\",\"Lesen Sie mit der Thalia eReading App auch parallel auf dem Tablet oder Smartphone.\",\"Synchronisieren Sie Ihre eBooks sicher, komfortabel und kostenlos über die tolino Cloud auf verschiedenen Geräten.\",\"Nutzen Sie mit Ihrem tolino alle HotSpots der Deutschen Telekom kostenlos.\"]}", + "STRING_SUPPORT_CONTACT_DE": "E-Mail: info@thalia.de Rufnummer: +49 (0) 251 530 94 44 (Montag bis Freitag 9:00 Uhr - 18:00 Uhr)", + "URL_DEVICE_MANAGEMENT": "https://management.mytolino.com/index.html?reseller=3&platform=eink", + "ADVERTISING_REDIRECT_BASE": "redirect.mytolino.com", + "URL_HANDSHAKE": "https://management.mytolino.com/index.html?reseller=3&platform=eink", + "STRING_SUPPORT_CONTACT_FR": "E-mail: info@thalia.de Hotline: +49 (0) 251 530 94 44 (Du lundi au vendredi de 9 h à 18 h)", + "SHOP_BASE": "https://ereader.thalia.de/de.thalia.ers.artikel/api/2004/artikel/details/?einsprung=reco", + "URL_OAUTH_ACCESSTOKEN_FAMILY": "https://thalia.de/auth/oauth2/token?client_secret=GPvCYjsNqZJkQsyZ9VUF", + "IS_EXTERNAL_LINK_ENABLED": "true", + "URL_RESELLER_LOGO": "http://www.tpereader.thalia.de/logos/Prod/thalia_de_sw_klein.png", + "IS_LCP_ACTIVATED": "false", + "WEBVIEW_SHOP_SEARCH_URL": "https://ereader.thalia.de/ebooks/shop/search.jsp?oid=4&lb_m=2004&appsearch=1&search_complex=", + "URL_FAMILY_SHARING_MANUAL": "https://mytolino.de/family-sharing-handbuch-ereader", + "URL_OAUTH_ACCESSTOKEN": "https://thalia.de/auth/oauth2/token?client_secret=GPvCYjsNqZJkQsyZ9VUF", + "BOOKSHELF_URL": "https://bosh.pageplace.de/bosh/rest", + "URL_OAUTH_REVOKETOKEN": "https://thalia.de/auth/oauth2/revoke", + "URL_AUTHORIZATION": "https://auth.buch.de/auth/oauth2/authorize", + "FAMILY_SHARING_ACTIVE": "true", + "STRING_SUPPORT_CONTACT_EN": "E-Mail: info@thalia.de Hotline: +49 (0)251 530 94 44 (German speaking customer care: Monday to Friday 9a.m. to 6p.m.)", + "CLIENT_ID": "treaderapp01", + "STRING_SUPPORT_CONTACT_ES": "E-Mail: info@thalia.de Línea directa: +49 (0) 251 530 94 44 (Lunes a viernes de 9:00 a 18:00 horas)", + "STRING_ARRAY_ACTIVATION_ADVANTAGES_NL": "{[\"Kies uit meer dan een miljoen ebooks in de Thalia eBook-Shop uw persoonlijke favorieten.\",\"Lees met de Thalia eReading-app ook parallel op de tablet of smartphone.\",\"Synchroniseer uw ebooks veilig, comfortabel en kosteloos via de tolino Cloud op verschillende apparaten.\",\"Maak met uw tolino gratis gebruik van alle HotSpots van de Deutsche Telekom.\"]}", + "STRING_SUPPORT_CONTACT_NL": "E-Mail: info@thalia.de Hotline: +49 (0) 251 530 94 44 (Maandag t/m vrijdag 9:00 uur - 18:00 uur)", + "STRING_SUPPORT_CONTACT_IT": "E-mail: info@thalia.de Hot line: +49 (0) 251 530 94 44 (da lunedì a venerdì, dalle ore 9 alle ore 18)", + "URL_BOOKSHELF": "https://bosh.pageplace.de/bosh/rest", + "STRING_ARRAY_ACTIVATION_ADVANTAGES_FR": "{[\"Choisissez vos coups de cœur personnels parmi plus d'un million d'ebooks dans l'ebook-shop de Thalia.\",\"Lisez parallèlement sur la tablette ou sur le smartphone avec l'appli eReading de Thalia.\",\"Synchronisez vos ebooks en sécurité, confortablement et gratuitement à travers le tolino Cloud sur plusieurs appareils.\",\"Avec votre tolino, utilisez gratuitement tous les hotspots de la Deutsche Telekom.\"]}", + "URL_BROWSER_START_PAGE": "https://www.google.de", + "RECOMMENDATIONS_IS_SHUFFLE_ENABLED": "false" + }, + "configLanguageSpecific": [ + { + "language": "FR", + "languageConfig": { + "STRING_ARRAY_ACTIVATION_ADVANTAGES": "Choisissez vos coups de cœur personnels parmi plus d'un million d'ebooks dans l'ebook-shop de Thalia.##Lisez parallèlement sur la tablette ou sur le smartphone avec l'appli eReading de Thalia.##Synchronisez vos ebooks en sécurité, confortablement et gratuitement à travers le tolino Cloud sur plusieurs appareils.##Avec votre tolino, utilisez gratuitement tous les hotspots de la Deutsche Telekom.", + "STRING_ARRAY_SUPPORT_CONTACT": "E-mail: info@thalia.de##Hotline: +49 (0) 251 530 94 44##(Du lundi au vendredi de 9 h à 18 h)" + } + }, + { + "language": "EN", + "languageConfig": { + "STRING_ARRAY_SUPPORT_CONTACT": "E-Mail: info@thalia.de##Hotline: +49 (0)251 530 94 44##(German speaking customer care:##Monday to Friday, 9 a.m. to 6 p.m.)", + "STRING_ARRAY_ACTIVATION_ADVANTAGES": "Browse through over 1,000,000 e-books in the Thalia shop.##Use the Thalia eBooks app to read in parallel on your tablet, computer or smartphone.##Synchronize your titles across various devices securely and free of charge via the tolino Cloud.##Use all Deutsche Telekom HotSpots free of charge with your tolino." + } + }, + { + "language": "ES", + "languageConfig": { + "STRING_ARRAY_ACTIVATION_ADVANTAGES": "Seleccione de entre más de un millo de libros electrónicos en la tienda de eBooks de Thalia su destacados personalizados.##Lea de forma paralela con la aplicación de lectura digital de Thalia en su tableta o smartphone.##Sincronice sus libros electrónicos de forma segura, cómoda y gratuita a través de la tolino Cloud en distintos dispositivos.##Utilice con su dispositivo tolino de forma gratuita todos los HotSpots de la Deutsche Telekom.", + "STRING_ARRAY_SUPPORT_CONTACT": "E-Mail: info@thalia.de##Línea directa: +49 (0) 251 530 94 44##(Lunes a viernes de 9:00 a 18:00 horas)" + } + }, + { + "language": "NL", + "languageConfig": { + "STRING_ARRAY_SUPPORT_CONTACT": "E-Mail: info@thalia.de##Hotline: +49 (0) 251 530 94 44##(Maandag t/m vrijdag 9:00 Uhr - 18:00 Uhr)", + "STRING_ARRAY_ACTIVATION_ADVANTAGES": "Kies uit meer dan een miljoen ebooks in de Thalia eBook-Shop uw persoonlijke favorieten.##Lees met de Thalia eReading-app ook parallel op de tablet of smartphone.##Synchroniseer uw ebooks veilig, comfortabel en kosteloos via de tolino Cloud op verschillende apparaten.##Maak met uw tolino gratis gebruik van alle HotSpots van de Deutsche Telekom." + } + }, + { + "language": "DE", + "languageConfig": { + "STRING_ARRAY_SUPPORT_CONTACT": "E-Mail: info@thalia.de##Rufnummer: 0251 5309 444##(Montag bis Freitag 9 - 18 Uhr, Samstag 9:30 - 18 Uhr)", + "STRING_ARRAY_ACTIVATION_ADVANTAGES": "Wählen Sie aus über einer Million eBooks im Thalia eBook-Shop Ihre persönlichen Highlights.##Lesen Sie mit der Thalia eReading App auch parallel auf dem Tablet oder Smartphone.##Synchronisieren Sie Ihre eBooks sicher, komfortabel und kostenlos über die tolino Cloud auf verschiedenen Geräten.##Nutzen Sie mit Ihrem tolino alle HotSpots der Deutschen Telekom kostenlos." + } + }, + { + "language": "IT", + "languageConfig": { + "STRING_ARRAY_ACTIVATION_ADVANTAGES": "Scegli le tue letture preferite tra oltre un milione di eBook nell'eBook shop Thalia.##Con l'app Thalia eReading, leggi in parallelo anche sul tablet o lo smartphone.##Sincronizza i tuoi eBook in modo sicuro, comodo e gratuito su dispositivi diversi tramite tolino Cloud.##Con il tuo tolino, sfrutta gratis tutti gli hot spot di Deutsche Telekom.", + "STRING_ARRAY_SUPPORT_CONTACT": "E-mail: info@thalia.de##Hot line: +49 (0) 251 530 94 44##(da lunedì a venerdì, dalle ore 9 alle ore 18)" + } + } + ] +} diff --git a/api/pageplace.bosh-bosh-rest-v2-resellerconfig.rst b/api/pageplace.bosh-bosh-rest-v2-resellerconfig.rst index d5944e7..28ea661 100644 --- a/api/pageplace.bosh-bosh-rest-v2-resellerconfig.rst +++ b/api/pageplace.bosh-bosh-rest-v2-resellerconfig.rst @@ -58,3 +58,15 @@ Example for headers ``reseller_id:3`` and ``client_type:TOLINO_VISION_3``: .. include:: pageplace.bosh-bosh-rest-v2-resellerconfig.response-ok.json :code: + + +Example for headers ``reseller_id:3`` and ``client_type:TOLINO_VISION_2``: + +.. include:: pageplace.bosh-bosh-rest-v2-resellerconfig.response-ok-tolinovision2.json + :code: + + +Example for headers ``reseller_id:3`` and ``client_type:TOLINO_VISION_1``: + +.. include:: pageplace.bosh-bosh-rest-v2-resellerconfig.response-ok-tolinovision1.json + :code: diff --git a/api/usecase-setup.rst b/api/usecase-setup.rst new file mode 100644 index 0000000..e2cc5c1 --- /dev/null +++ b/api/usecase-setup.rst @@ -0,0 +1,22 @@ +============= +Setup process +============= + +Initial setup of a factory-reset e-reader. + + +Prelude +======= +1. Check if the internet is reachable: `GET http://clients3.google.com/generate_204`_ +2. Check if the internet is really reachable: `GET http://mytolino.com/tolino-status.html?responseStatus=204`_ +3. Check if the internet is really really reachable: `GET http://bosh.pageplace.de/bosh/rest/ping`_ +4. Check if the internet is really really reachable a second time, just in case: `GET http://bosh.pageplace.de/bosh/rest/ping`_ + + +Actual requests +=============== +1. Get list of allowed countries for the reader: `GET https://bosh.pageplace.de/bosh/rest/reseller/countries`_ +2. Get list of selectable book shops: `GET https://bosh.pageplace.de/bosh/rest/reseller/selection`_ +3. Notify tolino about the selected shop: `POST https://bosh.pageplace.de/bosh/rest/reseller/selection/report`_ +4. Fetch the tolino configuration for the shop: `GET https://bosh.pageplace.de/bosh/rest/v2/resellerconfig`_ +5. FIXME -- 2.30.2