iOrtho API ========== Base URL is https://www.netpoint.nl/iortho_v3/index.php/iOrtho Use form encoding (application/x-www-form-urlencoded) for POST parameters Single parameter means to call it like `GET /path?someparamvalue' Reponses are in JSON format API key provided using custom header in all requests: IORTHO-KEY: RwgoAkk4UyDkopjeirDKwSR0YqyyHBPXTD05Iw2L GET /Orthodontists ------------------ Get a list of all orthodontists in the system. If you provide lat long, the list will be sorted, and you'll get distance in kilometres. -> Parameters latitude: in decimal eg. 52.37 longitude: in decimal eg. 4.89 -> Response Array of clinics: {ortho_code, name, logo_url, external_app_url, belgium, distance} external_app_url is link to iTunes if they made an app specifically for that clinic distance is a string containing a number with 16 digits of precision GET /Algemeen ------------- Returns details about a clinic. -> Parameters Single parameter: ortho_code from /Orthodontists -> Response {longitude, latitude, website, emailadres, telefoon, opening_hours, address} GET /OrthodontistData --------------------- Seems to be some kind of configuration file for the app that determines theme colours and which sections are visible. -> Parameters Single parameter: ortho_code from /Orthodontists GET /VisionApproach --------------------- Returns some marketing copy the clinic wrote. Tends to be empty or contain a placeholder. -> Parameters Single parameter: ortho_code from /Orthodontists -> Response {video_url, vision, approach, image_url} video_url (if present) is a YouTube link GET /News --------------------- Returns completely empty response if there's no news. -> Parameters Single parameter: ortho_code from /Orthodontists -> Response Array of news articles: {id, praktijk_id, image_url, title, date, message} POST /Authenticate ------------------ Get a token. If it expires (error code 999), use this endpoint again. -> Parameters code: ortho_code from /Orthodontists zipcode: don't know exact format, but 1234AB worked date_of_birth: in format ddMMyyyy eg. 31011938 either online_code bsn -> Response eg. {"user_code":"123456789012345678"} POST /Appointments ------------------------- -> Parameters user_code: from /Authenticate -> Response Array of upcoming visits: {id, start_date, end_data, description, cancellation_policy} start and end_date are ISO 8601 (local time, CET) GET /QRCode ----------- Get your personal QR code to check in at the kiosk. -> Parameters Single parameter: user_code from /Authenticate -> Response PNG containing a QR code. It seems to encode some kind of sequential user ID. POST /NAWData ------------------------- NAW staat voor Naam, Adres, Woonplaats -> Parameters user_code: from /Authenticate -> Response {address, zipcode, house_number, house_number_suffix, city, country, phone_number, phone_number_2, sms_number, email} `country' is pretty weird. It's an array containing an object for all three countries supported by the app (nederland, belgië, deutschland). On the one the user lives in, the `current' key is 1, all others it's 0.