Abonnieren von Daten mit asmaster (v2)

Aktualisierte

Überblick

asmaster wird zum Abonnieren von Daten verwendet, die sich auf in der Cloud gespeicherte Konten und Geräte beziehen. Durch das Abonnieren von Konten oder Geräten werden Kunden automatisch neue Daten übermittelt, sobald diese verfügbar sind, und zwar über einen Kanal .

Ein typischer Anforderungsablauf bei asmaster könnte sein:

  • Vergewissern Sie sich, dass die erforderlichen Dienste mit list-services verfügbar sind
  • Stellen Sie sicher, dass das Konto eines potenziellen neuen Benutzers noch nicht mit list-subscriptions
  • Abonnieren Sie ein Konto mit subscribe-account
  • perform-2fa-challenge Schritte mit " perform-2fa-challenge und " submit-2fa-challenge
  • Wenn Gerätedaten wichtig sind, rufen Sie list-devices auf, um die zugeordneten Geräte abzurufen
  • Abonnieren Sie ein Gerät mit subscribe-device
  • Wenn aschannel meldet, dass das Token des Kontos abgelaufen ist oder fast abgelaufen ist, resubscribe-account den Benutzer an, resubscribe-account zu resubscribe-account
  • Wenn der Benutzer die Überwachung seines Geräts oder Kontos einstellen möchte, rufen Sie das unsubscribe-device unsubscribe-account oder das Konto unsubscribe-account

Während dieses Anforderungsflusses sollte der Client prozessaufwendige Daten von einem Kanal verwalten .

Methoden auf einen Blick

Service Management und Reporting

list-services

Die Methode list-services gibt Informationen zu den Diensten zurück, die für das angegebene Authentifizierungstoken verfügbar sind.

Anfordern

$ curl \
    -X POST \
    -H 'Authorization: Token <TOKEN>' \
    https://asmaster.reincubate.com/list-services/ -D -

Parameter:

  • Keiner

Antwort

  • HTTP 200 Ein JSON-Wörterbuch mit verfügbaren Dienstinformationen
{ "services": [{
    "name": "iCloud",
    "actions": [{
      "description": "",
      "parameters": [{
        "type": "string",
        "description": "",
        "optional": false,
        "name": "Device",
        "slug": "device"
      }, {
        "type": "date",
        "description": "",
        "optional": true,
        "name": "Since",
        "slug": "since"
      }],
      "name": "Fetch Data",
      "execution": "Asynchronous",
      "slug": "fetch-data",
      "permissions": {
        "data": ["sms"]
      }
    }],
    "slug": "icloud"
  }],
  "stream_endpoints": [{
    "host": "aschannel.reincubate.com",
    "protocol": "https",
    "uri": "/stream/"
  }]
}

list-subscriptions

Mit list-subscriptions Methode " list-subscriptions erhält der Client eine Liste aller abonnierten Konten und Geräte sowie deren Status.

Anfordern

$ curl \
    -X POST \
    -H 'Authorization: Token <TOKEN>' \
    -d "service=<SERVICE>" \
    https://asmaster.reincubate.com/list-subscriptions/ -D -

Hier ist derselbe Aufruf im wget Format als Referenz:

$ wget \
    --header 'Authorization: Token <TOKEN>' \
    --post-data="service=<SERVICE>" \
    https://asmaster.reincubate.com/list-subscriptions/ -qO -

Parameter:

Bedienung
Eine Dienstkennung, z. B. icloud

Antwort

  • HTTP 200 Ein JSON-Wörterbuch mit Informationen zu Konten und Geräteabonnements
{
  "accounts": [
    {
      "status": "ok",
      "service": "icloud",
      "account_id": 133733,
      "devices": [
        {
          "status": "ok",
          "device_id": 2
        },
        {
          "status": "ok",
          "device_id": 3
        },
        {
          "status": "ok",
          "device_id": 4
        }
      ]
    }
  ]
}

An- und Abmeldung des Kontos

Der zweite Teil der Arbeit mit asmaster ist das Kontoabonnement . Ein Konto kann mit der Methode subscribe-account werden. Wenn dies aufgerufen wird, erstellt und speichert asmaster ein internes Authentifizierungstoken, damit es auch in Zukunft ohne die primären Anmeldeinformationen des Kontos auf das Konto zugreifen kann. Je nach verwendetem Dienst kann die Lebensdauer des Tokens von Tagen bis zu Monaten variieren, und aschannel informiert die Kunden über dessen Ablauf und - je nach Dienst - über dessen Ablauf. Nach Ablauf des resubscribe-account muss die Methode resubscribe-account verwendet werden, um das Abonnement zu erneuern.

Wenn subscribe-account aufgerufen wird, wird bei erfolgreicher Authentifizierung eine Liste aller verfügbaren Geräte zurückgegeben. Es gibt jedoch die Methode list-devices , um diese Funktion für bereits abonnierte Konten auszuführen.

Konten können mit der unsubscribe-account werden.

subscribe-account

Anfordern

$ curl \
    -X POST \
    -H 'Authorization: Token <TOKEN>' \
    -d "service=<SERVICE>" \
    -d "username=<ACCOUNT>" \
    -d "password=<PASSWORD>" \
    https://asmaster.reincubate.com/subscribe-account/ -D -

Parameter:

  • Der Service, mit dem Sie interagieren können: wie icloud
  • Das Konto, das Sie abonnieren john.appleseed@reincubate.com : wie john.appleseed@reincubate.com
  • Das Passwort für das Konto: wie joshua

Antwort

Der Anruf wird auf eine der folgenden Arten zurückgegeben:

  • 201: Account registered Gibt eine account_id
{ "account_id": 1010
}
  • 429: Too many requests Zeigt an, dass zu viele Anfragen gestellt wurden, um ein Konto innerhalb des Sicherheitsfensters zu abonnieren. Die API führt dies aus, um wiederholte Anmeldeversuche bei Konten zu verhindern.
{ "message": "Too many subscriptions for the same account in the safety window.",
  "account_id": 1010,
  "success": false,
  "error": "asmaster-account-too-many-subscriptions"}
  • 409: MFA process required Signale, die der Client zum Aufrufen von perform-2fa-challenge . Gibt eine Liste vertrauenswürdiger Geräte und eine temporäre account_id
{ "message": "This account has Two Step Verification enabled, please select a device to challenge.",
  "data": {
    "trustedDevices": ["********12", "Renate's iPhone - iPhone 6s"],
  },
  "error": "2fa-required",
  "account_id": 1010
}
  • 400: Account already active Zeigt an, dass das Konto bereits abonniert ist.
{ "message": "You are already subscribed to receive content for this account.",
  "account_id": 1010,
  "success": false,
  "error": "asmaster-account-already-active"}

perform-2fa-challenge

Anfordern

$ curl \
    -X POST \
    -H 'Authorization: Token <TOKEN>' \
    -d "account_id=<TEMP-ACCOUNT-ID>" \
    -d "device_id=<DEVICE-ID>" \
    https://asmaster.reincubate.com/perform-2fa-challenge/ -D -

Parameter:

  • account_id
  • device_id

submit-2fa-challenge

Anfordern

$ curl \
    -X POST \
    -H 'Authorization: Token <TOKEN>' \
    -d "account_id=<TEMP-ACCOUNT-ID>" \
    -d "code=<CODE>" \
    https://asmaster.reincubate.com/submit-2fa-challenge/ -D -

Parameter:

  • account_id
  • code

Antwort

{ "account_id": "1010"
}

resubscribe-account

Anfordern

$ curl \
    -X POST \
    -H 'Authorization: Token <TOKEN>' \
    -d "account_id=<ACCOUNT-ID>" \
    -d "password=<PASSWORD>" \
    https://asmaster.reincubate.com/resubscribe-account/ -D -

Parameter:

  • account_id
  • password

Beachten Sie, dass der password optional ist. Wenn es nicht vorhanden ist, versucht die API, eine erneute Subskription unter Verwendung der vorhandenen Sitzung durchzuführen. Dies schlägt fehl, wenn die Sitzung abgelaufen ist, kann jedoch erfolgreich sein, wenn das Konto aufgrund eines Fehlers, der nicht mit der Sitzung zusammenhängt, als inaktiv markiert wurde.

Antwort

Antwort:

  • 200 Konto aktualisiert
  • 400 account_id
  • 409 MFA-Prozess erforderlich - ähnlich wie bei subscribe-account
  • 403 Anderer Fehler gemäß Service-Anmeldefehler .

unsubscribe-account

Durch das Abbestellen eines Kontos werden automatisch alle dazugehörigen abonnierten Geräte abbestellt.

Anfordern

$ curl \
    -X POST \
    -H 'Authorization: Token <TOKEN>' \
    -d "account_id=<ACCOUNT-ID>" \
    https://asmaster.reincubate.com/unsubscribe-account/ -D -

Parameter:

  • account_id

Antwort

Antwort:

  • 200 Konto abgemeldet
  • 400 account_id
{ "success": true
}

reset-subscription-since

Die Methode " reset-subscription-since " setzt die Metadaten für ein Konto und alle Geräte zurück, die zum Zeitpunkt der letzten Abfrage aktiviert waren. Die meisten Feed-Module geben seit dem letzten Abfragedatum nur ein Delta an Daten zurück. Daher kann ein Client durch Zurücksetzen sicherstellen, dass er bei der nächsten Abfrage ältere Daten erhält.

Wenn ein Kunde beispielsweise die Daten der letzten Woche erneut abrufen möchte, kann er diese Methode für ein Konto verwenden und das Datum 7 Tage zuvor übergeben.

Anfordern

$ curl \
    -X POST \
    -H 'Authorization: Token <TOKEN>' \
    -d "account_id=<ACCOUNT-ID>" \
    -d "datetime=<DATETIME>" \
    https://asmaster.reincubate.com/reset-subscription-since/ -D -

Parameter:

  • account_id
  • datetime Datum und Uhrzeit zum Zurücksetzen der Feed - Fenster. Das Datumsformat entspricht den API-Standards .

Antwort

{ "success": true
}

Geräte-An- und Abmeldung

Zum Registrieren oder Aufheben der Registrierung von Geräten können Benutzer die Methoden zum subscribe-device und unsubscribe-device verwenden.

list-devices

Anfordern

$ curl \
    -X POST \
    -H 'Authorization: Token <TOKEN>' \
    -d "account_id=<ACCOUNT-ID>" \
    https://asmaster.reincubate.com/list-devices/ -D -

Parameter:

  • account_id

Antwort

  • 200 : Geräteliste und andere Infos
{
  "devices": [
    {
      "ios_version": "10.2",
      "name": "iPhone 7 Plus",
      "colour": "1",
      "device_name": "Johnny's iP7 iOS10 Black",
      "latest-backup": "2017-01-31 22:06:06.000000",
      "model": "D111AP",
      "device_tag": "3d0d7e5fb2ce288813306e4d4636395e047a3d28",
      "serial": "ABC123BBBBBB",
      "device_id": 2
    },
    {
      "ios_version": "10.3.1",
      "name": "iPad Pro",
      "colour": "#e4e7e8",
      "device_name": "Johnny's other iPhone",
      "latest-backup": "2017-04-22 15:39:25.000000",
      "model": "J127AP",
      "device_tag": "b39bac0d347adfaf172527f97c3a5fa3df726a3a",
      "serial": "ABC123BBBBBB",
      "device_id": 3
    },
    {
      "ios_version": "10.3.1",
      "name": "iPhone 7 Plus",
      "colour": "1",
      "device_name": "Johnny's white iPhone",
      "latest-backup": "2017-04-13 21:08:47.000000",
      "model": "D111AP",
      "device_tag": "a49bfab36504be1bf563c1d1813b05efd6076717",
      "serial": "ABC123AAAAAA",
      "device_id": 4
    }
  ],
  "success": true
}
  • 429: Too many requests Zeigt an, dass zu viele Anforderungen zum Auflisten von Geräten im Sicherheitsfenster gestellt wurden. Die API führt dies aus, um ein wiederholtes Abrufen dieses Mechanismus zu verhindern. Clients sollten diese Geräteliste lokal zwischenspeichern und die Methode nur aufrufen, wenn eine Änderung der Geräte erwartet wird.

subscribe-device

Um ein Gerät zu abonnieren, muss zuerst das Konto abonniert werden, zu dem es gehört.

Anfordern

$ curl \
    -X POST \
    -H 'Authorization: Token <TOKEN>' \
    -d "account_id=<ACCOUNT-ID>" \
    -d "device_id=<DEVICE-ID>" \
    https://asmaster.reincubate.com/subscribe-device/ -D -

Parameter:

  • account_id
  • device_id

Antwort

{ "success": true
}

unsubscribe-device

Anfordern

$ curl \
    -X POST \
    -H 'Authorization: Token <TOKEN>' \
    -d "device_id=<DEVICE-ID>" \
    https://asmaster.reincubate.com/unsubscribe-device/ -D -

Parameter:

  • device_id

Antwort

{ "success": true
}

Zugriff auf Daten von Konto- und Geräteabonnements

Sobald ein Abonnement für ein Konto oder ein Konto und seine Geräte abgeschlossen wurde, ermittelt die API automatisch die am besten geeignete Abrufhäufigkeit und -zeit für das Konto. Es wird Aufgaben erzeugen (wie in beschrieben ASAPI und angemessen planen. Die Kunden von asmaster müssen abonnieren Sie aschannel die Aufgabe Ergebnisse zu erhalten , wie sie erzeugt werden.

Ein Beispiel zum Konsumieren von Daten aus einem Kanal finden Sie im Listener-Modus der Open Source-Beispielbibliothek.

Wie können wir helfen?

Unser Support-Team hilft Ihnen gerne weiter!

Unsere Bürozeiten sind Montag bis Freitag von 9 bis 17 Uhr GMT. Die Zeit ist aktuell 11:31 vorm. GMT.

Wir bemühen uns, auf alle Mitteilungen innerhalb eines Arbeitstages zu antworten.

Zum Support-Bereich gehen › Wenden Sie sich an das Unternehmensteam ›
Unser großartiges Supportteam

© 2008 - 2019 Reincubate Ltd. Alle Rechte vorbehalten. Registriert in England und Wales #5189175, VAT GB151788978. Reincubate® ist eine eingetragene Marke. Datenschutz. Wir empfehlen die Multi-Faktor-Authentifizierung. Mit Liebe in London gebaut.