OTR
Grundlegendes
Die API ist nicht für den privaten Gebrauch gedacht.


Jedes Programm erhält eine eigene ID die zur Prüfsummenberechnung benötigt wird, ohne die ein Zugriff auf die API nicht möglich ist.
Eine ID darf nur für ein Programm verwendet werden! Wie dies Berechnung genau aussieht, wird Ihnen auf Anfrage per Email an otrsupport@googlemail.com mitgeteilt.

Momentan werden keine neuen API-Berechtigungen ausgegeben.

Da das Auslesen unserer Daten zusätzlichen Aufwand für die Server bedeutet, bitten wir Sie, in alle folgenden Punkte einzuwilligen, bevor Sie mit Ihrem Programm auf unsere API zugreifen:
• Sie stellen nicht mehr Requests an unsere Server als unbedingt nötig sind
• Ihr Programm enthält aktuelle Banner der Werbepartner von onlinetvrecorder.com an eine prominenten*1 Stelle Ihrer Programmoberfläche, mit dem Hinweis, dass onlinetvrecorder.com durch Werbeeinahmen finaziert wird
• Sie halten die Prüfsummenberechnung geheim und geben sie auch nicht an Andere zum testen weiter
• In Ihrer GUI (zB. im About-Dialog, falls vorhanden) ist Ihre Programm-ID für jeden sichtbar

*1 Banner sollten sofort zu sehen sein und nicht auf einem Unterformular versteckt werden

Die API-Aufrufe Ihres Programms werden geloggt. Sollte sich hierbei ein Mißverhältnis zeigen (zB. ebensoviele Dateiaufrufe wie Listenabrufe), wird Ihr Programm gesperrt.
Sollte sich herausstellen, das Ihre ID auch von anderen Programmen verwendet wird, wird Ihre ID ebenfalls gesperrt. Da dies aber nur passieren kann, wenn Sie die Prüfsummenberechnung weitergeben, ist es sicher in Ihrem eigenen Interesse, diese nicht weiterzugeben.
API-Beschreibung
Der Platzhalter [otr] steht für http://www.onlinetvrecorder.com

An jede Datei müssen evtl. zusätzliche Parameter angehängt werden, die nachfolgend erklärt werden.
Login

[otr]/
downloader/api/login.php

?email= Email-Adresse
&pass= Passwort als MD5-Hash
&did= Programm-Id
&checksum= Checksumme

Nach erfolgreichem Login wird die SessionId zurückgegeben.

Es ist Ihnen ausdrücklich untersagt, eingegebene Logindaten auszulesen, auszuwerten, zu speichern, zu veröffentlichen oder weiterzugeben!

Konto erstellen

[otr]/downloader/api/signup.php

&email= E-Mail, urlencoded
&did= Programm-Id
&checksum= Checksumme


Zurückgegeben wird eine XML-Datei mit folgenden Werten:
<NEWACCOUNT>
  <OK>bool</OK>
  <MESSAGE>[ACCOUNT_CREATED, ERROR, ACCOUNT_ALREADY_EXISTS, EMAIL_NOT_VALID]</MESSAGE>
  <PASSWORD>[string]</PASSWORD>
</NEWACCOUNT>
Aufnahmeliste anzeigen

[otr]/
downloader/api/request_list2.php

?showonly= [recordings, scheduled, archive]
&orderby= [genre, genre_desc, station, station_desc, time, time_desc, title, title_desc]
&did= Programm-Id
&checksum= Checksumme

Optionale Parameter
&maxitems= [1..100]  
&status_scheduled= [false] blendet den 'scheduled'-Status aus
&status_recording= [false] blendet den 'recording'-Status aus
&status_ready= [false] blendet den 'ready for download'-Status aus
&status_downloaded= [false] ~
&status_decoded= [false] ~
&status_paid= [false] ~
&status_bad= [false] ~
&status_pending= [false] ~
&status_expected= [false] ~
&unsupportedstation= [false] ~
&status_unknownstation= [false] ~
&status_removed= [false] ~

Zurückgegeben wird eine XML-Datei mit folgendem Aufbau:
<FILE>
  <ID>12</ID>
  <EPGID>34</EPGID>
  <DOWNLOADCOUNT>0</DOWNLOADCOUNT>
  <DECODECOUNT>0</DECODECOUNT>
  <PAID>[ja/nein]</PAID>
  <STATION>w</STATION>
  <TITLE>x</TITLE>
  <GENRE>y</GENRE>
  <BEGIN>56</BEGIN>
  <END>78</END>
  <STATUS>z</STATUS>
  <FORMATS>x</FORMATS>
  <FILENAME>fn</FILENAME>
  <DURATION>12 Minuten</DURATION>
  <FILEREQUEST>http://www.onlinetvrecorder.com/downloader/api/request_file2.php</FILEREQUEST>
</FILE>


Informationen zu einer Datei

[otr]/downloader/api/request_file2.php

?id= ist vorgegeben
&epgid= ist vorgegeben
&file= ist vorgegeben
&did= Programm-Id
&checksum= Checksumme

Zurückgegeben wird eine XML-Datei mit folgenden Werten:
< [AVI|HQ|MP4....] > // Format
  <FILENAME></FILENAME>
  <SIZE></SIZE>
  <FREE>http://downloadlink...</FREE>
  <PRIO>http://downloadlink...</PRIO>
  <PAID>http://downloadlink...</PAID>
  <IPHONE>http://downloadlink...</IPHONE>
  <MOBILE>http://playerlink...</MOBILE>
  <TORRENT>
    <FREE>http://downloadlink...</FREE>
    <DIRECT>http://downloadlink...</DIRECT>
    <PRIO>http://downloadlink...</PRIO>
    <PAID>http://downloadlink...</PAID>
    <COMBI>http://downloadlink...</COMBI>
  </TORRENT>
  <GWPCOSTS>
    <FREE></FREE>
    <PRIO></PRIO>
    <PAID></PAID>
  </GWPCOSTS>
  <MIRROR>http://mirrorlink...</MIRROR>
  <INFOTEXT></INFOTEXT>
< /[AVI|HQ|MP4] >

Wenn es mehrere Formate zu einer Aufnahme gibt, wird dieser Block pro Aufnahme mehrfach aufgerufen.

Bitte rufen Sie diese Datei nur auf, wenn die entsprechende Datei auch heruntergeladen werden soll.


Benutzerinformationen abfragen

[otr]/downloader/api/userinfo.php

&did= Programm-Id
&checksum= Checksumme
&email= E-Mail, Base64-encoded

Zurückgegeben wird eine XML-Datei mit folgenden Werten:
<USER>
  <ID></ID>
  <EMAIL></EMAIL>
  <STATUS></STATUS>
  <UNTIL>Ablaufdatum vom Status als Unix Timestamp</UNTIL>
  <UNTILNICE></UNTILNICE>
  <GWP></GWP>
</USER>


Sendungen suchen

[otr]/index.php

&did= Programm-Id
&checksum= Checksumme
&aktion=search  
&api=true  
&future=true  
&searchterm= Suchwort

Zurückgegeben wird eine XML-Datei mit folgenden Werten:
<SHOW>
  <EPGID></EPGID>
  <STATION></STATION>
  <BEGIN></BEGIN>
  <NICEBEGIN></NICEBEGIN>
  <END></END>
  <NICEEND></NICEEND>
  <TITLE></TITLE>
  <PROGRAMLINK></PROGRAMLINK>
</SHOW>


Senderliste auslesen

[otr]/downloader/api/stations.php

Zurückgegeben wird eine XML-Datei mit folgenden Werten:
<ITEM>
  <TITLE></TITLE>
  <COUNTRY></COUNTRY>
  <LANGUAGE></LANGUAGE>
</ITEM>


Banner anzeigen

[otr]/downloader/api/request_banner.php

&did= Programm-Id
&checksum= Checksumme


Dekodieren (OnTheFlyDecoding)

[otr]/index.php

&aktion=testdecoding  
&email= E-Mail-Adresse vom OTR-User
&password= Passwort vom OTR-User (Hier ist das Mirror-Passwort gemeint, was der User zusätzlich in seinem Profil hinterlegen kann und welches eine Gültigkeit von 30 Tagen hat)
&filename= Original Dateiname, inklusive der Endung .otrkey
&mirror= URL Ihrer Mirror-Homepage

Wenn der angegebene User die angegebene Datei dekodieren darf, wird "OK" zurückgegeben, ansonsten "Error".

Es ist Ihnen ausdrücklich untersagt, eingegebene Logindaten auszulesen, auszuwerten, zu speichern, zu veröffentlichen oder weiterzugeben!
Es ist ebenfalls untersagt, den User nach seinem Haupt-Passwort von OTR zu fragen
.

Bitte weisen Sie Ihre Benutzer darauf hin, das durch diese Abfrage - im Erfolgsfall - eine Dekodierung angerechnet wird!


Programmierung anlegen

Um eine Aufnahme zu prgrammieren gibt es 2 Möglichkeiten.

[otr]/
index.php

&aktion=createJob  
&api=true  
&email= E-Mail-Adresse vom OTR-User
&pass= Passwort vom OTR-User
&tvStation= Sendername
&startDate_day= Start-Tag der Aufnahme, Format TT
&startDate_month= Start-Monat der Aufnahme, Format MM
&startDate_year= Start-Jahr der Aufnahme, Format YYYY
&startTime_hour= Start-Stunde der Aufnahme, Format SS
&startTime_minute= Start-Minute der Aufnahme, Format MM
&endTime_hour= End-Stunde der Aufnahme, Format SS
&endTime_minute= End-Minute der Aufnahme, Format MM
&titleName= Titel der Aufnahme


  - oder -

[otr]/index.php

&aktion=createJob  
&api=true  
&email= E-Mail-Adresse vom OTR-User
&pass= Passwort vom OTR-User
&byid=true  
&epgid= EPG-Id, base64-encoded


Programmierung löschen

[otr]/index.php

&aktion=deleteJob  
&uid= E-Mail-Adresse oder die Id vom OTR-User, base64-encoded
&epgid= EPG-Id der Aufnahme, base64-encoded


EPG-Liste exportieren

[otr]/index.php

&aktion=epg_export  
&format=xml  
&btn_ok=OK  
&stations= Sendertitel laut Sender-XML, mehrere mit Komma trennen
&from= Startdatum, Format: dd.mm.YYYY
&to= Enddatum, Format: dd.mm.YYYY

Zurückgegeben wird eine XML-Datei mit folgenden Werten:
<ITEM>
  <Id>[EPG-Id]</Id>
  <BEGINN></BEGINN>
  <ENDE></ENDE>
  <DAUER></DAUER>
  <SENDER></SENDER>
  <TITEL></TITEL>
  <TYP>[Genre]</TYP>
  <TEXT>[ggf. Infotexte]</TEXT>
  <HIGHLIGHT></HIGHLIGHT>
  <FSK></FSK>
  <WEEKDAY></WEEKDAY>
  <WDH>0</WDH>
  <NICEDATE></NICEDATE>
  <DOWNLOADLINK></DOWNLOADLINK>
  <INFOLINK></INFOLINK>
  <PROGRAMLINK></PROGRAMLINK>
</ITEM>


EPG-Daten zu einer Sendung anzeigen

[otr]/downloader/api/epg.php

&epg_id= EPG-Id
&did= Programm-Id
&checksum= Checksumme

Zurückgegeben wird eine XML-Datei mit folgenden Werten:
<ITEM>
  <ID>[EPG-Id]</ID>
  <BEGIN></BEGIN>
  <NICEBEGIN></NICEBEGIN>
  <END></END>
  <NICEEND></NICEEND>
  <DURATION></DURATION>
  <STATION></STATION>
  <TITLE></TITLE>
  <TYP></TYP>
  <TEXT></TEXT>
  <HIGHLIGHT></HIGHLIGHT>
  <FSK></FSK>
  <WEEKDAY></WEEKDAY>
  <WDH></WDH>
  <PROGRAMINGS></PROGRAMINGS>
  <DOWNLOADLINK></DOWNLOADLINK>
  <PROGRAMLINK></PROGRAMLINK>
</ITEM>



Infotexte anhand des Dateinamens anzeigen

[otr]/downloader/api/infotext_from_filename.php

&filename= Dateiname bis einschl. 'TVOON_DE'
&did= Programm-Id
&checksum= Checksumme

Zurückgegeben wird eine XML-Datei mit folgenden Werten:
<ITEM>
  <TXT1></TXT1>
  <TXT2></TXT2>
  <TXT3></TXT3>
  <EPGID></EPGID>
</ITEM>



FTP-Push-Auftrag anlegen

[otr]/downloader/api/ftppush.php

&filename= Vollständiger Dateiname
&host= Host
&port= Port
&username= Login-Benutzername
&password= Login-Passwort
&directory= Upload-Verzeichnis, muss mit "/" beginnen
&did= Programm-Id
&checksum= Checksumme

Zurückgegeben wird eine XML-Datei mit folgenden Werten:
<ITEM>
  <FTPPUSH_ID></FTPPUSH_ID>
  <RESULT>"DOUBLE", "ERROR" oder "ADDED"</RESULT>
  <CHECKLINK></CHECKLINK>
  <DELETELINK></DELETELINK>
</ITEM>



FTP-Push-Auftrag löschen

[otr]/downloader/api/deleteftppush.php

&ftppush_id= ID vom FTP-Push-Auftrag
&did= Programm-Id
&checksum= Checksumme

Zurückgegeben wird eine XML-Datei mit folgenden Werten:
<ITEM>
  <RESULT>"OK" oder "ERROR"</RESULT>
</ITEM>



FTP-Push-Aufträge anzeigen

[otr]/downloader/api/ftppushs.php

&ftppush_id= Optional. Ohne diesen Parameter werden alle Aufträge angezeigt
&did= Programm-Id
&checksum= Checksumme

Zurückgegeben wird eine XML-Datei mit folgenden Werten:
<ITEM>
  <FTPPUSH_ID></FTPPUSH_ID>
  <FILENAME></FILENAME>
  <HOST></HOST>
  <MESSAGE></MESSAGE>
  <ADDED></ADDED>
  <ADDED_NICE></ADDED_NICE>
  <LASTTRY></LASTTRY>
  <LASTTRY_NICE></LASTTRY_NICE>
  <RETRIES></RETRIES>
  <DELETELINK></DELETELINK>
  <SUCCESS>[1=OK, 0=Fehler]</SUCCESS>
</ITEM>



Beliebte Sendungen in der Zukunft anzeigen

[otr]/rss/highlights_germany.xml
[otr]/rss/highlights_usa.xml
[otr]/rss/toprecordings_germany.xml
[otr]/rss/toprecordings_usa.xml

Zurückgegeben wird immer eine XML-Datei mit folgenden Werten:
<ITEM>
  <EPGID></EPGID>
  <BEGIN></BEGIN>
  <NICEBEGIN></NICEBEGIN>
  <END></END>
  <NICEEND></NICEEND>
  <STATION></STATION>
  <TITLE></TITLE>
</ITEM>