Auteur Topic: DigitalPlace V5 API  (gelezen 6924 keer)

0 leden en 1 gast bekijken dit topic.

Robin

  • Administrator
  • DigitalPlace Guru
  • *****
  • Berichten: 3157
  • Karma: 145
    • Bekijk profiel
    • http://www.robinj.be/
DigitalPlace V5 API
« Gepost op: augustus 10, 2015, 08:01:09 pm »
  • [+1]0
  • [-1]0
  • Zoals jullie hier al konden lezen heeft DigitalPlace v5 een API. Zo kunnen er dus toepassingen geschreven worden die integreren met de website.

    Hier vind je dus een klein beetje documentatie over deze API;
    /api/auth -- Aanvraag API token
    /api/forum/topic -- Informatie over de laatste 50 topics
    /api/forum/topic/{topic}/post -- Alle posts in het topic van welke de ID is meegegeven
    /api/forum/post -- Informatie over de laatste 50 posts
    /api/forum/user/{user} -- Informatie over de gebruiker van welke de ID is meegegeven
    /api/forum/ -- Informatie over de verschillende subforums op het forum
    /api/forum/{board}/topic -- Alle topics in het subforum van welke de ID is meegegeven

    Elks van deze URL's dienen aangeroepen te worden d.m.v. een POST request, en geven hun uitvoer terug in JSON-formaat. Dingen tussen accolades moet de ID voorstellen van het item in kwestie. Deze dien je dus bij een request zelf in te vullen.

    auth


    De eerste functie die je wil uitvoeren is auth. Met deze functie krijg je een API token aangeboden die je vanaf dan zal moeten gebruiken voor elke request. Zonder deze token kan je geen van de andere functies gebruiken.
    Deze functie verwacht 3 parameters. username, password en application. De eerste twee zijn je gebruikersnaam en wachtwoord van het forum. De application-parameter geeft aan om welke toepassing het gaat, bijvoorbeeld "DigitalPlace.nl Android app". Deze functie hoef je dus slechts 1 keer aan te roepen, waarna je een token ontvangen zal hebben die je vanaf dan altijd kan gebruiken. Deze tokens vervallen niet en blijven geldig tot deze door de gebruiker zelf worden ingetrokken (een pagina hiervoor komt nog).


       "smf_members_id":654,
       "token":"3f64736b7883b5001d7cbe93e747b0fb5bba9c6263b6c1b57c0171ad2c65b4353b4aa6fbe68a00b9f77bb69df210b0d7d2be0c17913d6f025f7f1ed75dd590af8ddf4f2bf75ee98a8e83e79a3ce308f01eeae59956922d8fdf1cdd6718fa5dc70c43441af9bc43f42f61115c2bea590bded3e957bb2be4ad2f78c9604ee3bf4b",
       "application":"Curl",
       "id":1
    }

    Dit is het soort uitvoer dat je vervolgens zal krijgen. smf_members_id is je gebruikers-ID en token is de API token die je vanaf dan zal kunnen gebruiken voor toekomstige requests.

    Andere requests


    De API is voorlopig toch zeker read-only. Je kan één van bovenstaande URL's aanroepen m.b.v. een POST-request om de gewenste data op te halen. Een gebruiker zou enkel items te zien mogen krijgen waar zijn account toegang toe heeft.
    Met elke request dienen de volgende 2 parameters meegegeven te worden: userId (de gebruikers-ID welke je eveneens terugkreeg als antwoord op de auth request) en token (de API token die je eveneens terugkreeg als antwoord je auth). Indien één van deze 2 parameters ontbreekt of onjuist is zal je geen toegang krijgen tot de gewenste data, en zal je (zoals bij andere fouten ook het geval zou moeten zijn) een array terug met een error-veld dat een foutboodschap bevat.

    Als je dit goed doet is dit bijvoorbeeld wat je terugkrijgt;
    curl --data "userId=654&token=3f64736b7883b5001d7cbe93e747b0fb5bba9c6263b6c1b57c0171ad2c65b4353b4aa6fbe68a00b9f77bb69df210b0d7d2be0c17913d6f025f7f1ed75dd590af8ddf4f2bf75ee98a8e83e79a3ce308f01eeae59956922d8fdf1cdd6718fa5dc70c43441af9bc43f42f61115c2bea590bded3e957bb2be4ad2f78c9604ee3bf4b" http://digitalplace.nl/api/forum/1/topic

       { 
          "id_topic":588,
          "is_sticky":0,
          "id_board":1,
          "id_first_msg":6984,
          "id_last_msg":6984,
          "id_member_started":2388,
          "id_member_updated":2388,
          "id_poll":0,
          "id_previous_board":0,
          "id_previous_topic":0,
          "num_replies":0,
          "num_views":4196,
          "locked":1,
          "unapproved_posts":0,
          "approved":1
       },
       { 
          "id_topic":1081,
          "is_sticky":0,
          "id_board":1,
          "id_first_msg":12905,
          "id_last_msg":13211,
          "id_member_started":3,
          "id_member_updated":296,
          "id_poll":0,
          "id_previous_board":0,
          "id_previous_topic":0,
          "num_replies":10,
          "num_views":2214,
          "locked":1,
          "unapproved_posts":0,
          "approved":1
       },
       { 
          "id_topic":5688,
          "is_sticky":0,
          "id_board":1,
          "id_first_msg":70501,
          "id_last_msg":70518,
          "id_member_started":654,
          "id_member_updated":654,
          "id_poll":0,
          "id_previous_board":0,
          "id_previous_topic":0,
          "num_replies":9,
          "num_views":1203,
          "locked":1,
          "unapproved_posts":0,
          "approved":1
       },
       { 
          "id_topic":6018,
          "is_sticky":0,
          "id_board":1,
          "id_first_msg":72705,
          "id_last_msg":73975,
          "id_member_started":2388,
          "id_member_updated":344,
          "id_poll":0,
          "id_previous_board":0,
          "id_previous_topic":0,
          "num_replies":13,
          "num_views":2153,
          "locked":0,
          "unapproved_posts":0,
          "approved":1
       },
       { 
          "id_topic":6153,
          "is_sticky":0,
          "id_board":1,
          "id_first_msg":74409,
          "id_last_msg":74520,
          "id_member_started":2,
          "id_member_updated":654,
          "id_poll":0,
          "id_previous_board":0,
          "id_previous_topic":0,
          "num_replies":14,
          "num_views":1886,
          "locked":0,
          "unapproved_posts":0,
          "approved":1
       },
       { 
          "id_topic":6490,
          "is_sticky":0,
          "id_board":1,
          "id_first_msg":78599,
          "id_last_msg":78613,
          "id_member_started":10370,
          "id_member_updated":10370,
          "id_poll":0,
          "id_previous_board":0,
          "id_previous_topic":0,
          "num_replies":5,
          "num_views":1084,
          "locked":0,
          "unapproved_posts":0,
          "approved":1
       },
       { 
          "id_topic":6606,
          "is_sticky":0,
          "id_board":1,
          "id_first_msg":79475,
          "id_last_msg":79979,
          "id_member_started":10370,
          "id_member_updated":10370,
          "id_poll":0,
          "id_previous_board":0,
          "id_previous_topic":0,
          "num_replies":14,
          "num_views":1883,
          "locked":0,
          "unapproved_posts":0,
          "approved":1
       },
       { 
          "id_topic":6598,
          "is_sticky":0,
          "id_board":1,
          "id_first_msg":79425,
          "id_last_msg":80017,
          "id_member_started":10370,
          "id_member_updated":296,
          "id_poll":0,
          "id_previous_board":0,
          "id_previous_topic":0,
          "num_replies":13,
          "num_views":2026,
          "locked":0,
          "unapproved_posts":0,
          "approved":1
       },
       { 
          "id_topic":6916,
          "is_sticky":0,
          "id_board":1,
          "id_first_msg":81360,
          "id_last_msg":81483,
          "id_member_started":10370,
          "id_member_updated":10370,
          "id_poll":0,
          "id_previous_board":0,
          "id_previous_topic":0,
          "num_replies":13,
          "num_views":342,
          "locked":0,
          "unapproved_posts":0,
          "approved":1
       },
       { 
          "id_topic":6928,
          "is_sticky":0,
          "id_board":1,
          "id_first_msg":81543,
          "id_last_msg":81645,
          "id_member_started":22368,
          "id_member_updated":296,
          "id_poll":0,
          "id_previous_board":0,
          "id_previous_topic":0,
          "num_replies":8,
          "num_views":183,
          "locked":0,
          "unapproved_posts":0,
          "approved":1
       },
       { 
          "id_topic":6963,
          "is_sticky":0,
          "id_board":1,
          "id_first_msg":81715,
          "id_last_msg":81716,
          "id_member_started":654,
          "id_member_updated":296,
          "id_poll":0,
          "id_previous_board":0,
          "id_previous_topic":0,
          "num_replies":1,
          "num_views":88,
          "locked":0,
          "unapproved_posts":0,
          "approved":1
       },
       { 
          "id_topic":6968,
          "is_sticky":0,
          "id_board":1,
          "id_first_msg":81808,
          "id_last_msg":81810,
          "id_member_started":22368,
          "id_member_updated":10016,
          "id_poll":0,
          "id_previous_board":0,
          "id_previous_topic":0,
          "num_replies":2,
          "num_views":210,
          "locked":0,
          "unapproved_posts":0,
          "approved":1
       },
       { 
          "id_topic":6902,
          "is_sticky":0,
          "id_board":1,
          "id_first_msg":81212,
          "id_last_msg":81975,
          "id_member_started":10370,
          "id_member_updated":10178,
          "id_poll":0,
          "id_previous_board":0,
          "id_previous_topic":0,
          "num_replies":39,
          "num_views":763,
          "locked":0,
          "unapproved_posts":0,
          "approved":1
       },
       { 
          "id_topic":7032,
          "is_sticky":0,
          "id_board":1,
          "id_first_msg":82320,
          "id_last_msg":82320,
          "id_member_started":22368,
          "id_member_updated":22368,
          "id_poll":0,
          "id_previous_board":0,
          "id_previous_topic":0,
          "num_replies":0,
          "num_views":128,
          "locked":0,
          "unapproved_posts":0,
          "approved":1
       },
       { 
          "id_topic":7031,
          "is_sticky":0,
          "id_board":1,
          "id_first_msg":82319,
          "id_last_msg":82329,
          "id_member_started":22368,
          "id_member_updated":10016,
          "id_poll":0,
          "id_previous_board":0,
          "id_previous_topic":0,
          "num_replies":4,
          "num_views":116,
          "locked":0,
          "unapproved_posts":0,
          "approved":1
       },
       { 
          "id_topic":6998,
          "is_sticky":0,
          "id_board":1,
          "id_first_msg":82063,
          "id_last_msg":82347,
          "id_member_started":10370,
          "id_member_updated":10178,
          "id_poll":0,
          "id_previous_board":0,
          "id_previous_topic":0,
          "num_replies":10,
          "num_views":125,
          "locked":0,
          "unapproved_posts":0,
          "approved":1
       },
       { 
          "id_topic":7034,
          "is_sticky":0,
          "id_board":1,
          "id_first_msg":82335,
          "id_last_msg":82351,
          "id_member_started":22295,
          "id_member_updated":2,
          "id_poll":0,
          "id_previous_board":0,
          "id_previous_topic":0,
          "num_replies":8,
          "num_views":77,
          "locked":1,
          "unapproved_posts":0,
          "approved":1
       },
       { 
          "id_topic":7035,
          "is_sticky":0,
          "id_board":1,
          "id_first_msg":82348,
          "id_last_msg":82352,
          "id_member_started":22295,
          "id_member_updated":22368,
          "id_poll":0,
          "id_previous_board":0,
          "id_previous_topic":0,
          "num_replies":3,
          "num_views":50,
          "locked":0,
          "unapproved_posts":0,
          "approved":1
       },
       { 
          "id_topic":1,
          "is_sticky":1,
          "id_board":1,
          "id_first_msg":1,
          "id_last_msg":1,
          "id_member_started":2,
          "id_member_updated":2,
          "id_poll":0,
          "id_previous_board":0,
          "id_previous_topic":0,
          "num_replies":0,
          "num_views":6923,
          "locked":1,
          "unapproved_posts":0,
          "approved":1
       },
       { 
          "id_topic":674,
          "is_sticky":1,
          "id_board":1,
          "id_first_msg":8016,
          "id_last_msg":8016,
          "id_member_started":42,
          "id_member_updated":42,
          "id_poll":0,
          "id_previous_board":0,
          "id_previous_topic":0,
          "num_replies":0,
          "num_views":1161,
          "locked":1,
          "unapproved_posts":0,
          "approved":1
       },
       { 
          "id_topic":4384,
          "is_sticky":1,
          "id_board":1,
          "id_first_msg":55300,
          "id_last_msg":55300,
          "id_member_started":2388,
          "id_member_updated":2388,
          "id_poll":0,
          "id_previous_board":0,
          "id_previous_topic":0,
          "num_replies":0,
          "num_views":1941,
          "locked":1,
          "unapproved_posts":0,
          "approved":1
       },
       { 
          "id_topic":4351,
          "is_sticky":1,
          "id_board":1,
          "id_first_msg":54898,
          "id_last_msg":55667,
          "id_member_started":2388,
          "id_member_updated":1,
          "id_poll":0,
          "id_previous_board":0,
          "id_previous_topic":0,
          "num_replies":3,
          "num_views":1872,
          "locked":1,
          "unapproved_posts":0,
          "approved":1
       },
       { 
          "id_topic":5144,
          "is_sticky":1,
          "id_board":1,
          "id_first_msg":65102,
          "id_last_msg":65102,
          "id_member_started":10130,
          "id_member_updated":10130,
          "id_poll":0,
          "id_previous_board":0,
          "id_previous_topic":0,
          "num_replies":0,
          "num_views":943,
          "locked":1,
          "unapproved_posts":0,
          "approved":1
       },
       { 
          "id_topic":5363,
          "is_sticky":1,
          "id_board":1,
          "id_first_msg":67142,
          "id_last_msg":68084,
          "id_member_started":10130,
          "id_member_updated":10130,
          "id_poll":0,
          "id_previous_board":0,
          "id_previous_topic":0,
          "num_replies":4,
          "num_views":1379,
          "locked":1,
          "unapproved_posts":0,
          "approved":1
       },
       { 
          "id_topic":6229,
          "is_sticky":1,
          "id_board":1,
          "id_first_msg":75440,
          "id_last_msg":75440,
          "id_member_started":98,
          "id_member_updated":98,
          "id_poll":0,
          "id_previous_board":0,
          "id_previous_topic":0,
          "num_replies":0,
          "num_views":828,
          "locked":1,
          "unapproved_posts":0,
          "approved":1
       },
       { 
          "id_topic":6327,
          "is_sticky":1,
          "id_board":1,
          "id_first_msg":76517,
          "id_last_msg":76524,
          "id_member_started":2,
          "id_member_updated":10016,
          "id_poll":0,
          "id_previous_board":0,
          "id_previous_topic":0,
          "num_replies":6,
          "num_views":1042,
          "locked":0,
          "unapproved_posts":0,
          "approved":1
       },
       { 
          "id_topic":6331,
          "is_sticky":1,
          "id_board":1,
          "id_first_msg":76569,
          "id_last_msg":76584,
          "id_member_started":98,
          "id_member_updated":654,
          "id_poll":0,
          "id_previous_board":0,
          "id_previous_topic":0,
          "num_replies":8,
          "num_views":2272,
          "locked":0,
          "unapproved_posts":0,
          "approved":1
       },
       { 
          "id_topic":6129,
          "is_sticky":1,
          "id_board":1,
          "id_first_msg":74188,
          "id_last_msg":79627,
          "id_member_started":98,
          "id_member_updated":740,
          "id_poll":0,
          "id_previous_board":0,
          "id_previous_topic":0,
          "num_replies":25,
          "num_views":4800,
          "locked":0,
          "unapproved_posts":0,
          "approved":1
       },
       { 
          "id_topic":7045,
          "is_sticky":1,
          "id_board":1,
          "id_first_msg":82365,
          "id_last_msg":82367,
          "id_member_started":654,
          "id_member_updated":10178,
          "id_poll":0,
          "id_previous_board":0,
          "id_previous_topic":0,
          "num_replies":2,
          "num_views":73,
          "locked":0,
          "unapproved_posts":0,
          "approved":1
       }
    ]

    Laat het gerust weten als je ergens hulp mee nodig hebt of een bug ontdekt :)
    « Laatst bewerkt op: augustus 10, 2015, 08:05:39 pm door Robin »
    >><<

    xvilo

    • Global Moderator
    • Verslaafd DigitalPlace Lid
    • *****
    • Berichten: 2670
    • Karma: -44
      • Bekijk profiel
      • http://www.xvilo.com
    Re: DigitalPlace V5 API
    « Reactie #1 Gepost op: februari 07, 2016, 09:02:23 pm »
  • [+1]0
  • [-1]0
  • Ik vroeg mij af, is er ook een PHP wrapper? Of is het een custom api? Is Posten en aanpassen ook inbegrepen? Of moeten we hiervoor inhaken op de Tapatalk api?!


    RaMp6

    • DigitalPlace Lid
    • *
    • Berichten: 187
    • Karma: 8
      • Bekijk profiel
    Re: DigitalPlace V5 API
    « Reactie #2 Gepost op: februari 13, 2016, 01:33:09 pm »
  • [+1]0
  • [-1]0
  • @xvilo
    gewoon een curl class maken, dan heb je je wrapper.
    Zoals je hebt kunnen lezen is het voorlopig "read-only", dus nee niet aanpassen en posten.
    Wat heeft dit met tapatalk te maken?

    @Robin
    Wanneer krijgt DP eigenlijk een TLS cert? (letsencrypt.org)
    en kon de api token niet nog langer? xD
    « Laatst bewerkt op: februari 13, 2016, 01:35:31 pm door RaMp6 »

    AKA whiteRabbit

    xvilo

    • Global Moderator
    • Verslaafd DigitalPlace Lid
    • *****
    • Berichten: 2670
    • Karma: -44
      • Bekijk profiel
      • http://www.xvilo.com
    Re: DigitalPlace V5 API
    « Reactie #3 Gepost op: februari 13, 2016, 01:36:46 pm »
  • [+1]0
  • [-1]0
  • @ramp6 er is in dit forum um een tapatalk intergratie! Deze heeft wel read and write... Dus dan zou je die moeten gebruiken


    Ik ben een swagboy 6s plus en Tapatalk


    Robin

    • Administrator
    • DigitalPlace Guru
    • *****
    • Berichten: 3157
    • Karma: 145
      • Bekijk profiel
      • http://www.robinj.be/
    Re: DigitalPlace V5 API
    « Reactie #4 Gepost op: februari 15, 2016, 10:48:32 pm »
  • [+1]0
  • [-1]0
  • @xvilo
    gewoon een curl class maken, dan heb je je wrapper.
    Zoals je hebt kunnen lezen is het voorlopig "read-only", dus nee niet aanpassen en posten.
    Wat heeft dit met tapatalk te maken?

    @Robin
    Wanneer krijgt DP eigenlijk een TLS cert? (letsencrypt.org)
    en kon de api token niet nog langer? xD

    Ask @Thisegzz
    API token is net de goede lengte, toch? :D 😂
    >><<

    StevenAdonE

    • DigitalPlace Lid
    • *
    • Berichten: 1
    • Karma: 0
      • Bekijk profiel
    digitalplace.nl
    « Reactie #5 Gepost op: december 20, 2018, 04:19:41 pm »
  • [+1]0
  • [-1]0
  • hi all