API Documentatie

Hoe te verbinden met de Good 4 Service API

De Good 4 Service API is ontwikkeld om het voor resellers van brillen en hoortoestellen eenvoudig mogelijk te maken hun klanten een leaseplan aan te bieden. Op deze pagina vindt u een stap voor stap uitleg over hoe de API werkt en hoe deze binnen uw systeem geimplementeerd kan worden. Voor vragen of opmerkingen kunt u contact opnemen.

API Url

Het endpoint om mee te verbinden is

https://platform.good4service.nl/api/v1/

API Key

Test API Key:
Voor ontwikkeling en testen van onze API kunt u gebruik maken van een test API key, de test key is "TEST-G4S-TEST-G4S".

Live API Key:
Om te verbinden met het platform van Good 4 Service is een API key vereist. Deze key kunt u ontvangen door contact met ons op te nemen.

Stuur de API key mee in de header van al uw requests als X-Api-Key.

JSON:

{
  "url": "https://platform.good4service.nl/api/v1/",
  "method": "GET",
  "headers": {
    "X-Api-Key": "your_api_key_here"
  }
}

Overzicht

Hieronder vindt u een schematische weergave van de werking van de Good4Service API tussen de verschillende partijen (klant, reseller en Good4Service).

Overzicht

Order plaatsen

Om een order correct te plaatsen via de API zijn de onderstaande gegevens nodig.

Belangrijk: Voor de categorie per orderregel is het van belang "glasses" voor brillen, "hearing" voor hoortoestellen of "proefperiode" voor enkel een kredietcheck te gebruiken. Andere waardes zijn toegestaan maar deze triggeren niet de routine die kredietcheck uitvoert en contract opstelt.

Placeholder Betekenis Opmerkingen
{id_check} Identiteit van de aanvrager is fysiek gecontroleerd door middel van controle Identiteitskaart, Paspoort of Rijbewijs (true/false) Mogelijke waarden: true, false
{test_modus} Geeft aan of het een test betreft (true/false) Mogelijke waarden: true, false
{credit_score} De krediet score van de aanvrager Waarde tussen 0 en 999
{store_id} Unieke identificatie van de winkel Alfanumerieke waarde
{employee_name} Naam van de medewerker Vrije tekst
{gender} Geslacht van de aanvrager Mogelijke waarden: male, female
{first_name} Voornaam van de aanvrager Vrije tekst
{last_name} Achternaam van de aanvrager Vrije tekst
{street} Straatnaam van het adres van de aanvrager Vrije tekst
{housenumber} Huisnummer van het adres van de aanvrager Numerieke waarde, evt. met toevoeging als tekst
{extra} Evt. extra adresgegevens zoals toevoeging Vrije tekst
{postal_code} Postcode van het adres van de aanvrager Formaat: 1234AB
{city} Plaatsnaam van het adres van de aanvrager Vrije tekst
{country} Land van het adres van de aanvrager Landcode volgens ISO 3166-1 alpha-2
{email_address} E-mailadres van de aanvrager Geldig e-mailformaat vereist
{phone_number} Telefoonnummer van de aanvrager Formaat: +31612345678 of 0612345678
{iban} Bankrekeningnummer (IBAN) van de aanvrager Geldig IBAN-formaat vereist
{birthdate} Geboortedatum van de aanvrager Formaat: yyyy-mm-dd
{other_user} Geeft aan of er iemand anders de order plaatst (true/false) Mogelijke waarden: true, false
{user_first_name} Voornaam van degene die de order plaatst Vrije tekst
{user_last_name} Achternaam van degene die de order plaatst Vrije tekst
{relation} Relatie van degene die de order plaatst tot de aanvrager Vrije tekst
{order_id} Unieke identificatie van de order Alfanumerieke waarde
{order_nr} Ordernummer voor klant Alfanumerieke waarde
{bookdate} Boekdatum van de order Formaat: yyyy-mm-dd HH:ii:ss
{item1_category} Categorie van het eerste product in de order Vrije tekst (Gebruik "glasses" voor brillen, "hearing" voor hoortoestellen of "proefperiode" voor enkel een kredietcheck)
{item1_code} Code van het eerste product in de order Vrije tekst
{item1_articlenr} Artikelnummer van het eerste product in de order Alfanumerieke waarde
{item1_description} Omschrijving van het eerste product in de order Vrije tekst
{item1_price} Prijs van het eerste product in de order Numerieke waarde (decimaal gescheiden met een punt)
{item2_category} Categorie van het tweede product in de order Vrije tekst (Gebruik "glasses" voor brillen, "hearing" voor hoortoestellen of "proefperiode" voor enkel een kredietcheck)
{item2_code} Code van het tweede product in de order Vrije tekst
{item2_articlenr} Artikelnummer van het tweede product in de order Alfanumerieke waarde
{item2_description} Omschrijving van het tweede product in de order Vrije tekst
{item2_price} Prijs van het tweede product in de order Numerieke waarde (decimaal gescheiden met een punt)
{discount} Korting op de totale order Numerieke waarde (decimaal gescheiden met een punt)
{customer_totalprice} Totaalbedrag dat de klant moet betalen Numerieke waarde (decimaal gescheiden met een punt)
{down_payment} Aanbetaling die de klant al gedaan heeft Numerieke waarde (decimaal gescheiden met een punt)

JSON

{
  "url": "https://platform.good4service.nl/api/v1",
  "method": "POST",
  "headers": {
    "X-Api-Key": "your_api_key_here"
  },
  "body": {
    "ID_check":"{id_check}",
    "test":
    {
        "test_modus":"{test_modus}",
        "credit_score":"{credit_score}"
    },
    "store_id":"{store_id}",
    "employee_name":"{employee_name}",
    "applicant":
    {
        "gender":"{gender}",
        "first_name":"{first_name}",
        "last_name":"{last_name}",
        "street":"{street}",
        "housenumber":"{housenumber}",
        "extra":"{extra}",
        "postal_code":"{postal_code}",
        "city":"{city}",
        "country":"{country}",
        "email_address":"{email_address}",
        "phone_number":"{phone_number}",
        "iban":"{iban}",
        "birthdate":"{birthdate}"
    },
    "user":
    {
        "other_user":"{other_user}",
        "first_name":"{user_first_name}",
        "last_name":"{user_last_name}",
        "relation":"{relation}"
    },
    "order":
    {
        "order_id":"{order_id}",
        "order_nr":"{order_nr}",
        "bookdate":"{bookdate}",
        "order_items":[
            {
                "category":"{item1_category}",
                "item_code":"{item1_code}",
                "articlenr":"{item1_articlenr}",
                "description":"{item1_description}",
                "price":"{item1_price}"
            },
             {
                "category":"{item2_category}",
                "item_code":"{item2_code}",
                "articlenr":"{item2_articlenr}",
                "description":"{item2_description}",
                "price":"{item2_price}"
            }
        ],
        "discount":"{discount}",
        "customer_totalprice":"{customer_totalprice}",
        "down_payment":"{down_payment}"
    }
  }
}


Maandbedrag

Bepaal het maandbedrag van een leaseplan door een totaalprijs en categorie mee te geven.

Placeholder Betekenis Opmerkingen
{total_price} Totaalbedrag dat de klant moet betalen Numerieke waarde (decimaal gescheiden met een punt)
{category} Categorie van het product Gebruik "glasses" voor brillen of "hearing" voor hoortoestellen
{quantity} Aantal producten Numeriek (alleen bij hoortoestellen)
{down_payment} Aanbetaling die de klant al gedaan heeft Numerieke waarde (decimaal gescheiden met een punt)

URL

https://platform.good4service.nl/api/v1/calculate

JSON

{
  "url": "https://platform.good4service.nl/api/v1/calculate",
  "method": "POST",
  "headers": {
    "X-Api-Key": "your_api_key_here"
  },
  "body": {
    "totalprice": "{total_price}",
    "quantity": "{quantity}",
    "category": "{category}",
    "down_payment": "{down_payment}"
   } 
}



Afhaaldatum terugkoppelen

Een leascontract gaat in op het moment dat de klant zijn producten heeft ontvangen. Voor brillen is een aparte terugkoppeling van de afhaaldatum vereist. Voor hoortoestellen geldt de datum van ondertekenen van het leasecontract. Hier is dus geen terugkoppeling voor nodig.

URL

https://platform.good4service.nl/api/v1/pickup

De afhaaldatum wordt toegevoegd door in de body van de POST naar de api het volgende toe te voegen:

"pickup_date": "2024-12-12T13:00:08"

Houd rekening met een juiste datum/tijd notatie.

JSON

{
  "url": "https://platform.good4service.nl/api/v1/status",
  "method": "POST",
  "headers": {
    "X-Api-Key": "your_api_key_here"
  },
  "body": {
    "order_id": "TESTORDER-1234-5678-ABCD-1234567890",
    "pickup_date": "2024-12-12T13:00:08"
  }
}

Status opvragen

Om de status van een order op te vragen gebruik:

https://platform.good4service.nl/api/v1/status

Stuur uw unieke order UID mee.

{
    "order_id": "TESTORDER-1234-5678-ABCD-1234567890"
}

Mogelijke statussen:

Status Omschrijving
Error Order niet gevonden
Pending Nieuwe order, nog geen kredietcheck uitgevoerd
Approved Kredietcheck goedgekeurd, leasecontract nog niet getekend door klant
Research Kredietcheck twijfelachtig, handmatig onderzoek door Good 4 Service
Rejected Klant afgewezen na kredietcheck
Success Order succesval afgerond, leasecontract getekend door klant

JSON

{
  "url": "https://platform.good4service.nl/api/v1/status",
  "method": "POST",
  "headers": {
    "X-Api-Key": "your_api_key_here"
  },
  "body": {
    "order_id": "TESTORDER-1234-5678-ABCD-1234567890"
  }
}