API Documentatie

Authenticatie

Alle API requests vereisen een API key die moet worden meegegeven in de header:

X-API-Key: jouw_api_key_hier

Voor test doeleinden kunt u de test API key gebruiken: test_key

Base URL

Alle API endpoints zijn beschikbaar op de volgende base URL:

https://zetanet-api.incontrol.network/api

Response Format

Alle API responses hebben het volgende formaat:

{
    "success": true,
    "data": {
        // Response data specifiek voor het endpoint
    }
}

Bij een fout krijgt u een response in dit formaat:

{
    "success": false,
    "error": {
        "code": 400,
        "message": "Foutmelding hier"
    }
}

Rate Limiting

Elke API key heeft een limiet van 100 verzoeken per dag. De huidige status wordt teruggegeven in de response headers:

X-RateLimit-Limit: 100
X-RateLimit-Remaining: 95
X-RateLimit-Reset: 2024-12-31T23:59:59Z

Bij het overschrijden van de limiet krijgt u een 429 Too Many Requests response.

Downloads & Examples

PHP Client Library

Download onze PHP client library met voorbeelden:

Download PHP Client

Installatie

composer require zetanet/api-client

Voorbeeld Gebruik

<?php
require_once 'vendor/autoload.php';

$client = new ZetaNet\Client([
    'apiKey' => 'jouw_api_key_hier',
    'baseUrl' => 'https://zetanet-api.incontrol.network/api'
]);

// ISRA Check
$result = $client->israCheck([
    'zipCode' => '1234AB',
    'houseNumber' => '42'
]);

// Prequalification Check
$result = $client->prequalification([
    'zipCode' => '1234AB',
    'houseNumber' => '42',
    'hasBroadband' => false,
    'hasPhone' => true
]);

// Zipcode Check
$result = $client->zipcodeCheck([
    'zipCode' => '1234AB',
    'houseNumber' => '42',
    'portfolio' => 'Teleworker'
]);

Postman Collection

Download onze Postman collection met alle endpoints:

Download Postman Collection

Gebruik in Postman

  1. Download de collection
  2. Importeer in Postman
  3. Maak een environment aan met de variabele apiKey
  4. Gebruik test_key voor test requests
{
    "name": "ZetaNet API Environment",
    "values": [
        {
            "key": "apiKey",
            "value": "test_key",
            "enabled": true
        }
    ]
}

Error Handling

De client library bevat ingebouwde error handling:

try {
    $result = $client->israCheck([
        'zipCode' => '1234AB',
        'houseNumber' => '42'
    ]);
} catch (ZetaNet\Exception\ApiException $e) {
    // API error (400, 401, etc.)
    echo $e->getMessage();
    echo $e->getCode();
} catch (ZetaNet\Exception\NetworkException $e) {
    // Netwerk error
    echo $e->getMessage();
}

API Tester

Test de API endpoints direct vanuit de browser. Gebruik test_key als API key voor test doeleinden.

ISRA Check

Test de beschikbaarheid van xDSL diensten op een adres.

Prequalification Check

Test de beschikbaarheid van diensten met specifieke opties.

Zipcode Check

Test de beschikbaarheid van diensten op een adres.

ISRA Check

Controleert carrier informatie voor xDSL diensten op een specifiek adres.

POST /api/isra-check

Request Body:

{
    "zipCode": "1234AB",
    "houseNumber": "42"
}

Response:

{
    "success": true,
    "data": {
        "carrierInfo": {
            "available": true,
            "details": {
                "technology": "xDSL",
                "carrier": "KPN"
            }
        }
    }
}

Parameters:

  • zipCode (verplicht): Postcode in formaat "1234AB"
  • houseNumber (verplicht): Huisnummer zonder toevoegingen

Prequalification Check

Controleert beschikbaarheid van diensten met gedetailleerde opties.

POST /api/prequalification

Request Body:

{
    "zipCode": "5678CD",
    "houseNumber": "15",
    "extension": "",
    "hasBroadband": false,
    "hasPhone": true,
    "productType": "ADSLTele"
}

Response:

{
    "success": true,
    "data": {
        "services": [
            {
                "type": "ADSL",
                "speed": {
                    "download": "20Mbps",
                    "upload": "2Mbps"
                },
                "availability": "Available"
            }
        ]
    }
}

Parameters:

  • zipCode (verplicht): Postcode in formaat "1234AB"
  • houseNumber (verplicht): Huisnummer zonder toevoegingen
  • extension (optioneel): Huisnummer toevoeging
  • hasBroadband (optioneel): Of er al een breedband verbinding aanwezig is
  • hasPhone (optioneel): Of er al een telefoonlijn aanwezig is
  • productType (optioneel): Type product, standaard "ADSLTele"

Zipcode Check

Controleert adres beschikbaarheid met portfolio check.

POST /api/zipcode-check

Request Body:

{
    "zipCode": "9012EF",
    "houseNumber": "7",
    "extension": "",
    "portfolio": "Teleworker"
}

Response:

{
    "success": true,
    "data": {
        "available": true,
        "services": [
            "ADSL",
            "VDSL",
            "Fiber"
        ]
    }
}

Parameters:

  • zipCode (verplicht): Postcode in formaat "1234AB"
  • houseNumber (verplicht): Huisnummer zonder toevoegingen
  • extension (optioneel): Huisnummer toevoeging
  • portfolio (optioneel): Portfolio type, standaard "Teleworker"

Error Responses

Bij fouten krijgt u een response in het volgende formaat:

400 Bad Request:

{
    "success": false,
    "error": {
        "code": 400,
        "message": "Missing required field: zipCode"
    }
}

401 Unauthorized:

{
    "success": false,
    "error": {
        "code": 401,
        "message": "Invalid API key or daily limit exceeded"
    }
}

429 Too Many Requests:

{
    "success": false,
    "error": {
        "code": 429,
        "message": "Daily request limit exceeded"
    }
}