Skip to content

Third Party

Om de term Third Party het best uit te kunnen leggen, moet we deze combineren met een ander woord: Third Party Software.

Third Party Software is een softwareoplossing die door een andere partij wordt beheerd/gemaakt dan jijzelf. Je kunt gebruik maken van deze softwareoplossingen, maar hoe ze werken weet je over het algemeen niet en is ook niet belangrijk, als ze maar werken. Het gebruik van dit soort softwareoplossingen komt veel voor in de ontwikkelwereld. Sterker nog, op het moment dat je een NPM package installeert die je niet zelf hebt ontwikkelt, spreek je al over software van een “derde partij”.

Online beschikbare API Endpoints om GPS coordinaten voor een adres op te zoeken, het weer in Amsterdam te bekijken of een postcode te controleren op geldigheid zijn voorbeelden van Third Party API’s.

Het gebruik van Third Party API’s is handig, omdat je deze functionaliteit niet zelf hoeft te ontwikkelen. Dat scheelt tijd en dus geld! Daarnaast zijn de API’s vaak dusdanig specifiek, dat het een vakgebied op zichzelf is om ze te onderhouden. Niks is gratis in de wereld, en dat geldt des te meer voor dit soort API’s. Je betaald daarom meestal een bedrag per een bepaald aanvragen. Afhankelijk van de populariteit van je website, kunnen deze kosten dus snel oplopen!

Het is daarom belangrijk dit soort API’s vanuit je eigen Backend te benaderen en niet vanuit de Frontend! Meestal heb je een API Key nodig om met de API te kunnen communiceren, en die sleutel mag absoluut niet op straat komen te liggen! Zeker niet als elke aanvraag geld kost.

Sequence Diagram ter illustratie

sequenceDiagram;
    actor Browser
    participant Webserver
    participant Backend
    participant Database
    participant Thirdparty

    Browser ->> Webserver: HTTP GET /index.html
    activate Webserver
    Webserver-->>Browser: index.html
    deactivate Webserver

    Browser ->> Webserver: HTTP GET /index.ts
    activate Webserver
    Webserver ->> Browser: /index.ts
    deactivate Webserver

    Browser ->> Backend: HTTP GET /api/product/{productid}
    activate Backend
    Backend ->> Database: SQL
    deactivate Backend
    activate Database
    Database -->> Backend: Product data (omschrijving, titel ect)
    deactivate Database
    activate Backend
    Backend ->> Thirdparty: HTTP GET /service/product_price/{productid}
    deactivate Backend
    activate Thirdparty
    Thirdparty ->> Backend : JSON with Product price
    deactivate Thirdparty
    activate Backend
    Backend -->> Browser: JSON with all product data
    deactivate Backend