Abonneren op gegevens met asmaster (v2)

bijgewerkt

Overzicht

asmaster wordt gebruikt om zich te abonneren op gegevens die betrekking hebben op accounts en apparaten die in de cloud zijn opgeslagen. Door zich te abonneren op accounts of apparaten, krijgen clients automatisch nieuwe gegevens zodra ze beschikbaar zijn, via aschannel .

Een typische verzoekstroom met asmaster zou kunnen zijn:

  • Bevestig dat de vereiste services beschikbaar zijn met list-services
  • Bevestig dat op een potentiële nieuwe gebruikersaccount nog niet is ingeschreven met list-subscriptions
  • Abonneer je op een account met een subscribe-account
  • Voltooi alle 2FA-stappen met perform-2fa-challenge en submit-2fa-challenge
  • Als apparaatgegevens belangrijk zijn, roept u list-devices op om de bijbehorende list-devices te halen
  • Abonneren op een apparaat met behulp van een subscribe-device
  • Als het aschannel meldt dat het token van het account is verlopen of bijna is verlopen, geeft u de gebruiker opdracht om opnieuw te resubscribe-account
  • Als de gebruiker de bewaking van zijn apparaat of account wil beëindigen, belt u het unsubscribe-device of het unsubscribe-account

Tijdens dit verzoek moet de klant een proces bijhouden dat gegevens van aschannel verbruikt .

Methoden in één oogopslag

Servicebeheer en rapportage

list-services

De list-services methode geeft informatie over de beschikbare voor de gegeven authenticatie token diensten.

Verzoek

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

parameters:

  • Geen

antwoord

  • HTTP 200 A JSON-woordenboek met beschikbare service-informatie
{ "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

De list-subscriptions methode zorgt voor een cliënt met een lijst van alle geplaatste accounts en apparaten, samen met hun status.

Verzoek

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

Hier is diezelfde call in wget indeling, ter referentie:

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

parameters:

service
Een service-ID, zoals icloud

antwoord

  • HTTP 200 A JSON-woordenboek met informatie over account- en apparaatabonnementen
{
  "accounts": [
    {
      "status": "ok",
      "service": "icloud",
      "account_id": 133733,
      "devices": [
        {
          "status": "ok",
          "device_id": 2
        },
        {
          "status": "ok",
          "device_id": 3
        },
        {
          "status": "ok",
          "device_id": 4
        }
      ]
    }
  ]
}

Account-abonnement en afmelding

Het tweede deel van werken met asmaster is een accountabonnement. Op een account kan worden geabonneerd met de methode subscribe-account . Wanneer dit wordt aangeroepen, maakt asmaster een intern verificatietoken en slaat dit op, zodat het in de toekomst toegang tot het account kan blijven houden zonder de primaire legitimatiegegevens van het account. Afhankelijk van de service die wordt gebruikt, kan de tokenlevensduur van dagen tot maanden variëren, en zal het aschannel klanten informeren over en - afhankelijk van de service - in de buurt van de vervaldatum. Eenmaal verlopen, moet de methode voor het opnieuw abonneren van resubscribe-account worden gebruikt om het abonnement te verlengen.

Wanneer een subscribe-account wordt gebeld, retourneert het een lijst met alle beschikbare apparaten als de verificatie is gelukt. De methode list-devices bestaat echter om deze functie uit te voeren voor accounts die al zijn geabonneerd.

Van accounts kan worden uitgeschreven met de methode voor het unsubscribe-account .

subscribe-account

Verzoek

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

parameters:

  • De service om mee te werken: zoals icloud
  • Het account waarop u zich wilt abonneren: zoals john.appleseed@reincubate.com
  • Het wachtwoord voor het account: zoals joshua

antwoord

De oproep keert op een van de volgende manieren terug:

  • 201: Account registered Retourneert een account_id
{ "account_id": 1010
}
  • 429: Too many requests Geeft aan dat er te veel verzoeken zijn gedaan om zich te abonneren op een account binnen het veiligheidsvenster. De API doet dit om herhaalde inlogpogingen voor accounts te voorkomen.
{ "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 Signalen moeten door de klant de perform-2fa-challenge . Retourneert een lijst met vertrouwde apparaten en een tijdelijke 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 Geeft aan dat het account al is geabonneerd.
{ "message": "You are already subscribed to receive content for this account.",
  "account_id": 1010,
  "success": false,
  "error": "asmaster-account-already-active"}

perform-2fa-challenge

Verzoek

$ 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 -

parameters:

  • account_id
  • device_id

submit-2fa-challenge

Verzoek

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

parameters:

  • account_id
  • code

antwoord

{ "account_id": "1010"
}

resubscribe-account

Verzoek

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

parameters:

  • account_id
  • password

Merk op dat de password optioneel is. Als het niet aanwezig is, zal de API proberen om opnieuw te abonneren met behulp van de bestaande sessie. Dit zal mislukken als de sessie is verlopen, maar zou kunnen slagen als het account inactief was vanwege een fout die niet gerelateerd is aan de sessie.

antwoord

Reactie:

  • 200 Account vernieuwd
  • 400 Bad account_id
  • 409 MFA-proces vereist - vergelijkbaar met subscribe-account
  • 403 Andere fout als gevolg van service-aanmeldingsfouten .

unsubscribe-account

Als u zich afmeldt voor een account, worden alle geabonneerde apparaten die hiertoe behoren automatisch afgemeld.

Verzoek

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

parameters:

  • account_id

antwoord

Reactie:

  • 200 Account uitgeschreven
  • 400 Bad account_id
{ "success": true
}

reset-subscription-since

De reset-subscription-since methode reset de metadata voor een account en alle apparaten op wanneer deze voor het laatst werd gepolld. De meeste feedmodules retourneren alleen een delta met gegevens sinds deze laatste polldatum. Als zodanig kan een client door het opnieuw instellen ervoor zorgen dat oudere gegevens worden verzameld tijdens de volgende peiling.

Als een klant bijvoorbeeld de gegevens van de vorige week opnieuw wil ontvangen, kunnen ze deze methode gebruiken op een account en deze een datum van 7 dagen ervoor doorgeven.

Verzoek

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

parameters:

  • account_id
  • datetime De datum en tijd waarop het feedvenster moet worden gereset. Het datumformaat is volgens de API-normen .

antwoord

{ "success": true
}

Apparaatabonnement en afmelding

Om apparaten te registreren of de registratie ongedaan te maken, kunnen gebruikers de methode subscribe-device en unsubscribe-device gebruiken.

list-devices

Verzoek

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

parameters:

  • account_id

antwoord

  • 200 : lijst met apparaten en andere informatie
{
  "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 Geeft aan dat er te veel verzoeken zijn gedaan om apparaten binnen het veiligheidsvenster weer te geven. De API doet dit om herhaald opvragen van dit mechanisme te voorkomen. Clients moeten deze apparaatlijst lokaal cachen en alleen de methode aanroepen wanneer een verandering in apparaten wordt verwacht.

subscribe-device

Om u te abonneren op een apparaat, moet u zich eerst inschrijven op het account waartoe het behoort.

Verzoek

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

parameters:

  • account_id
  • device_id

antwoord

{ "success": true
}

unsubscribe-device

Verzoek

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

parameters:

  • device_id

antwoord

{ "success": true
}

Toegang tot gegevens van account- en apparaatabonnementen

Nadat een abonnement is afgesloten op een account of op een account en op zijn apparaten, stelt de API automatisch de meest geschikte pollingfrequentie en timing voor het account vast. Het genereert taken (zoals beschreven in asapi en plant deze indien nodig.) Cliënten van asmaster moeten zich abonneren op aschannel om de taakresultaten te ontvangen wanneer ze worden gegenereerd.

Zie de listenermodus van de Open Source-voorbeeldbibliotheek voor een voorbeeld van hoe u gegevens uit aschannel kunt gebruiken .

Hoe kunnen we helpen?

Ons ondersteuningsteam is er om u te helpen!

Onze kantooruren zijn van maandag tot vrijdag van 09.00 tot 17.00 uur GMT. De tijd is momenteel 5:48 AM GMT.

We streven ernaar om alle berichten binnen één werkdag te beantwoorden.

Ga naar het ondersteuningsgedeelte › Neem contact op met het Enterprise-team ›
Ons geweldige ondersteuningsteam

© 2008 - 2019 Reincubate Ltd. Alle rechten voorbehouden. Geregistreerd in Engeland en Wales #5189175, VAT GB151788978. Reincubate® is een geregistreerd handelsmerk. Privacy en voorwaarden. Wij bevelen 2FA aan. Gebouwd met in Londen.