1 Networking4all API Specificatie en Documentatie Versie maart 20132 Inhoudsopgave 1 Overzicht 1.1 Versie opmerkingen 2 Principe van de API Basis werk...
1 Overzicht Networking4all biedt zijn partners een Simple Object Access Protocol (SOAP) API (Application Programming Interface) voor het real-time beheer van relaties en producten en voor het bestellen van SSL Certificaten en domeinnamen. API Clients kunnen onder andere de volgende opdrachten uitvoeren: nieuwe relaties aanmaken, relaties bewerken, informatie opvragen over relaties, SSL Certificaten bestellen of vervangen en domeinnamen aanvragen. Deze documentatie bevat alle noodzakelijke informatie om de diensten van Networking4all te integreren in de partner website.
1.1 Versie opmerkingen Versie 1.0.30 (27 maart 2013) •Prijsaanpassingen van SSL Certificaten in productenoverzicht toegepast. Zie sectie 8.1.1, 8.1.2 en 8.1.3 voor meer informatie. •Wijziging in deleteDNSRecords gemaakt. Zie sectie 6.12.1 voor meer informatie. Versie 1.0.29 (3 december 2012) DNS beheer toegevoegd. • getDnsRecords functie toegevoegd, zie sectie 6.9 voor meer details. Zie sectie 7.6.10 voor voorbeeldcode. • addDnsRecords functie toegevoegd, zie sectie 6.10 voor meer details. Zie sectie 7.6.11 voor voorbeeldcode. • updateDnsRecords functie toegevoegd, zie sectie 6.11 voor meer details. Zie sectie 7.6.12 voor voorbeeldcode. • deleteDnsRecords functie toegevoegd, zie sectie 6.12 voor meer details. Zie sectie 7.6.13 voor voorbeeldcode. Versie 1.0.28 (16 juni 2012) •
•
Automatische DV Approver toegevoegd in de orderSSLCertificate en replaceSSLCertificate functies voor alle Symantec, GeoTrust, Thawte en geselecteerde Networking4all domeingevalideerde (DV) producten. Dit is een optie die u nodig heeft om het bestand te gebruiken (zie de optie block in de aanvraag). Het antwoord dat u krijgt zal de fileName en fileContent zijn, welke u nodig heeft om in het bestand te zetten en deze te kopiëren naar de publieke root van je website. Symantec zal dit bestand kiezen en wanneer gevonden en juist bevonden zal de certificaataanvraag worden goedgekeurd en worden uitgegeven. Zie paragrafen 5.3 en 5.9 voor meer informatie. Producten die worden ondersteund zijn te vinden in paragraaf 8.1.1. en zijn aangeduid met (bestand/file) in de approver kolom. Code voorbeelden zijn te vinden in paragraaf 7.5.6. Renewal optie toegevoegd aan orderSSLCertificate. U dient de orderKind = renewal moeten specificeren en het tracenummer van de oorspronkelijke bestelling op moeten geven voor een renewal. Zie paragraaf 5.3 voor meer informatie.
Versie 1.0.27 (24 april 2012) •
• •
De <sslsubstatusses> structuur toegevoegd aan de getSSLCertificate en getSSLCertificateList functies voor de toegevoegde substatussen. Dit geeft u de mogelijkheid om de actuele status van uw SSL Certificaat te zien tijdens het bestelproces. Zie paragraaf 5.7 en 5.8 voor meer details. Een lijst met substatussen toegevoegd welke mogelijk zijn in het nieuwe <sslsubstatusses> structuur. Zie paragraaf 8.3.2 voor meer informatie. De getProducts aanvraag toegevoegd. Dit maakt het mogelijk om een lijst met productcodes en -namen op te vragen en in het geval van een SSL Certificaat ook de merknaam. U dient een type aan te geven voor deze functie (SSL, domeinen, hosting), waarmee u een productlijst krijgt aangeleverd zonder verdere informatie. Zie paragraaf 4.2 voor meer informatie.
Detailstructuur toegevoegd aan de getProduct, getSSLCertificate en getSSLCertificateList functies. Dit geeft u informatie over het SSL product zoals mailvalidation = 1, ev = 0 etc. Zie paragraaf 4.1.2, 5.7.2 en 5.8.2 voor meer informatie. Velden aan het orderSSLCertificate toegevoegd voor GlobalSign PersonalSign en CodeSigning certificaten. Zie paragraaf 5.3.1 voor meer details. Zie paragraaf 8.1.4 en 8.1.5 voor productCodes en voor de verplichte velden bij de verschillende certificaten. pickupPassword veld toegevoegd aan het orderSSLCertificate antwoord. Dit is noodzakelijk voor GlobalSign PersonalSign en CodeSigning certificaten. Zie paragraaf 5.3.2 voor meer informatie. Update van de velden met definities voor de velden van GlobalSign PersonalSign en CodeSigning certificaten, zie paragraaf 7.4 voor meer informatie. Update van de code voorbeelden voor het bestellen van een SAN certificaat, aangezien het niet langer verplicht is om een op te geven. Zie paragraaf 7.5.9 en 7.5.10 voor meer informatie. Voorbeeldcode toegevoegd voor een GlobalSign PersonalSign aanvraag. Zie paragraaf 7.5.16 voor meer informatie. Voorbeeldcode toegevoegd voor een GlobalSign CodeSigning aanvraag. Zie paragraaf 7.5.17 voor meer informatie. Update van de productCodes voor de Business Pro SSL en Business Pro SSL SAN certificaten in paragraaf 8.1.3. productCodes toegevoegd voor Client certificaten. Zie paragraaf 8.1.4 voor meer informatie. Een tabel met verplichte handelingen voor GlobalSign PersonalSign en CodeSigning certificaten toegevoegd. Zie paragraaf 8.1.5 voor meer informatie.
Versie 1.0.25 (21 november 2011) • • •
type en currency velden toegevoegd aan de getProduct, getSSLCertificate en getSSLCertificateList functies. Zie de fee structuur. Setup structure is hiermee DEPRECATED (verouderd). De setup kosten worden nu terug gegeven in de fee strucuur, met het type setup. BELANGRIJK: Er is nu een staging omgeving beschikbaar voor het testen van de laatste API wijzigen en het aanpassen van uw code. Zie sectie 2.2 voor meer informatie.
Versie 1.0.24 (22 augustus 2011) • • •
changeSANSSLCertificate functie toegevoegd. Hiermee kunt u SAN namen toevoegen en verwijderen aan uw SSL Certificaat. Zie secties 5.11 en 7.5.15 voor meer informatie. Status veld toegevoegd aan de updateDomain for noautorenew en autorenew. Zie sectie 6.7.1 voor meer informatie. Preregistration structuur toegevoegd aan de orderDomain voor pre-registration van verschillende nieuwe tld's. Zie sectie 6.2.1. voor meer informatie.
Versie 1.0.23 (29 maart 2011) • •
•
•
Uitleg toegevoegd over het aanmaken van company en contact relaties met de createRelation functie. Zie sectie 3.1 voor meer informatie. Verandering in het handle veld in de createRelation functie. Dit veld is niet langer verplicht bij het creeren van een contact relatie. Wanneer u een company handle opgeeft, dan word de contact relatie gekoppeld aan de company relatie. Dit is de beste manier om nieuwe contacten aan te maken. Wanneer u met een systeem werkt waarin het contact en bedrijf gekoppeld zijn kunt u de handle achterwege laten. Het contact zal NIET worden gekoppeld aan een specifiek bedrijf, maar aan uw reseller account. Veranderingen in de createRelation en updateRelation functies betreffende adresgegevens. De velden street, streetNumber en streetNumberExtension zijn DEPRECATED (verouderd), gebruik in plaats hiervan street1. Het gehele adres inclusief street, streetNumber en streetNumberExtension zou nu in street1 moeten komen. Als u meer adresgegevens heeft kunt u optioneel street2 en street3 gebruiken. Zie secties 3.1 en 3.2 voor meer informatie. Veranderingen in de createRelation en updateRelation functies betreffende telefoon, fax en mobiele telefoonnummers. De phone, fax en mobile structuren zijn DEPRECATED (verouderd). Gebruik in
plaats hiervan phoneNumber, faxNumber en mobileNumber. Zie secties 3.1 en 3.2 voor meer informatie. Veranderingen in de getRelation functie. U kunt (company) name, of (contact) firstname/lastname gebruiken om een relatie op te vragen. Deze moet honderd procent overeenkomen. Zie sectie 3.4 voor meer informatie. Veranderingen in de getRelation functie response. De velden street1, street2 street3, phoneNumber, faxNumber, mobileNumber worden meegegeven vanwege de laatste wijzigingen. Zie sectie 3.4 voor meer informatie. Veranderingen in de product naamgeving van de Networking4all SSL Certificaten. Lite, Basic en Pro zijn nu Regular Lite, Regular Basic en Regular Pro. Dit zijn de DV SSL Certifcaten. Zie sectie 8.1.1 voor meer informatie. Nieuwe producten in de Networking4all SSL Certificaten. In de Business Basic series. Dit zijn OV certificaten. Zie sectie 8.1.2 voor meer informatie. Nieuw producten in de Networking4all SSL Certificaten. In de Business Pro serie. Dit zijn EV certificaten. Zie sectie 8.1.2 voor meer informatie.
Versie 1.0.22 (23 november 2010) • • • • •
extraServices structuur toegevoegd aan de getSSLCertificate functie voor malware scan resultaten. Zie sectie 5.7 voor meer informatie. ExtraServices structuur toegevoegd aan de getSSLCertificateList functie voor malware scan resultaten. Zie sectie 5.8 voor meer informatie. Kleine tekstuele aanpassingen.
Versie 1.0.21 (27 oktober 2010) • •
•
• •
Integratie van de opties voor malware scan voor bepaalde SSL Certificaten. Zie sectie 8.4.1 voor meer informatie. extraPreferences functie toegevoegd aan het orderSSLCertificate proces om de opties voor het instellen van een malware scan tijdens het bestellen van een certificaat mogelijk te maken. Zie secties 5.3 en 8.4.1 voor meer informatie. Licentie veld toegevoegd aan de orderSSLCertificate functie voor licenties. Zie sectie 5.3 voor meer informatie. Deze optie is niet noodzakelijk voor certificaten welke een ongelimiteerde server licentie geldt, waarvoor standaard 1 geldt. Zie de product details in sectie 8.1 voor meer informatie. updateSSLCertificate functie toegevoegd voor het updaten van de malware scan opties en om een On-Deman-Scan aan te vragen. Zie sectie 5.10 voor meer informatie. BUG FIX: “paymentMethod” veld verwijderd van de orderSSLCertificate aanvraag. Het is niet langer noodzakelijk om de paymentMethod op te geven. Waar dit werd gevraagd kwam een bug. Nu verschijnt er een waarschuwing op het moment dat het veld wordt weergegeven bij de orderSSLCertificate functie.
Versie 1.0.20 (22 september 2010) •
Kleine tekstuele aanpassingen.
Versie 1.0.19 (19 augustus 2010) •
• • •
updateDomain functie toegevoegd, zie sectie 6.7 voor meer details. Met deze functie kunt u uw techHand en adminHandle van een domeinnaam updaten. Mits nodig wijzig eerst de contact persoon gegevens met de updateRelation functie. cancelDomain functie toegevoegd, zie sectie 6.8 voor meer details. Met deze functie kunt u uw domeinnaam opzeggen. Wees voorzichtig hiermee, uw domeinnaam word permanent verwijderd. Uitleg over het connecteren naar de API toegevoegd, zie sectie 2.2 voor meer informatie. Uitleg over het bestellen van een domeinnaam toegevoegd, zie sectie 2.4 voor meer informatie.
Versie 1.0.18 (1 april 2010) •
passportNumber veld toegevoegd aan alle relatie gerelateerde functies. Zie hoofdstuk 3 voor meer informatie.
getDomainList functie toegevoegd, zie sectie 6.6 voor meer details. Met deze functie kunt u een lijst opvragen van de lopende/aangevraagde domeinnamen. De functie getDomainOrder is DEPRECATED (verouderd), gebruik de nieuwe getDomain functie hiervoor in de plaats. Zie sectie 6.5. De functie getSSLCertificateOrder is DEPRECATED (verouderd), gebruik de nieuwe getSSLCertificate functie hiervoor in de plaats. Zie sectie 5.7. De functie getSSLCertificateOrderList is DEPRECATED (verouderd), gebruik de nieuwe getSSLCertificateList functie hiervoor in de plaats. Zie sectie 5.8. Elke response bevat nu een <warnings> structuur, gelijkwaardig aan de <errors> structuur. Deze kan 1 of meerdere waarschuwingen bevatten zoals een deprecated functie of veld. Een waarschuwing betekend niet dat uw request niet word uitgevoerd.
Versie 1.0.17 (1 maart 2010) •
authCode veld toegevoegd aan de getDomainOrder functie, zie sectie 6.4.2 voor meer informatie. Dit veld is alleen beschikbaar als er een authCode bekend is.
Versie 1.0.16 (24 februari 2010) •
•
•
Veranderingen aangebracht aan de getSSLCertificateOrder (sectie 3.1.6, nu 5.5) en de getSSLCertificateOrderList (sectie 3.1.7, nu 5.6) functies. Het betreft het terugkrijgen van de company, contact, adminContact and techContact informatie. Het geeft nu alleen de handles in plaats van alle data. De data kan uiteraard worden ontvangen door de getRelation functie te gebruiken. getDomainOrder functie toegevoegd voor het nakijken van de orderstatus van de domeinnaam en het opvragen van domeinnaam informatie. Zie sectie 3.2.2 voor meer informatie en sectie 7.6.5 voor een code voorbeeld. Zie sectie 8.3.3 voor status codes u kunt terug verwachten. Verbeteringen aan de documentatie. Sectie 3 'Webservice details' is nu opgesplitst in meerdere hoofdstukken voor relation, product, SSL Certificates and domain om het zo eenvoudiger te maken om terug te vinden wat u nodig heeft.
Versie 1.0.15 (13 januari 2010) • • •
Spelfout “companyhandle” aangepast naar de juiste “companyHandle” in sectie 3.1.9 orderDomain. getSSLCertificateOrderList functie toegevoegd, zie sectie 3.1.7 voor meer details. Met deze functie kunt u een lijst opvragen van de lopende/aangevraagde SSL Certificaten. Aan getSSLCertificateOrder en getSSLCertificateOrderList zijn de secties adminContact en techContact toegevoegd.
Versie 1.0.14 (7 januari 2010) •
Toegevoegd availabilityCode and Message voor ongeldige TLD, zie sectie 5.3.2.
Versie 1.0.13 (22 december 2009) • • • • • •
checkDomain functie toegevoegd, zie sectie 3.1.9 voor meer details. Zie sectie 4.6.3 voor voorbeeld code. orderDomain functie toegevoegd, zie sectie 3.20 voor meer details. Zie sectie 4.6.4 voor voorbeeld code. nameServerChange functie toegevoegd, zie sectie 3.21 voor meer details. Zie sectie 4.6.5 voor voorbeeld code. Het betaalmethodeveld is verwijderd van de “orderSSLCertificate request”. Het is niet langer nodig om uw betaalmethode te specificeren. Zie sectie 3.14.1. De “accountNumber” en “accountType” zijn niet langer verplicht in het createRelation en UpdateRelation verzoek. Zie sectie 3.1.1 en 3.2.1. Sectie met ProductCodes voor Hosting toegevoegd, zie sectie 5.2.
certificateType veld toegevoegd aan orderSSLCertificate functie om het bestellen van Code Signing Certicates mogelijk te maken.
Versie 1.0.10 (20 maart 2009) •
Nieuwe sectie toegevoegd over het API overzicht op onze website, zie sectie 6.
Versie 1.0.9 (9 maart 2009) •
Enkele tekstuele wijzigingen en aanpassingen in de inhoudsopgave.
Versie 1.0.8 (6 maart 2009) •
Aanpassingen in die veld definities lijst, zie sectie 4.4.
Versie 1.0.7 (3 maart 2009) •
Lijst met fout codes toegevoegd, zie sectie 4.3.2
Versie 1.0.6 (25 februari 2009) • • • •
Networking4all Trial Mobile, productCode 1651, toegevoegd. Nieuwe functie getSSLCertificateOrder toegevoegd, zie sectie 3.16 voor meer informatie. Lijst met SSL Certificaat status codes toegevoegd, zie sectie 5.2.1 Nieuwe sectie toegevoegd over UTF-8.
Versie 1.0.5 (23 februari 2009) •
Voorbeeld code toegevoegd voor SAN Certifcaten, zie sectie 4.5.8, 4.5.9 en 4.5.10 voor meer informatie.
Versie 1.0.4 (20 februari 2009) • • •
ProductCode voor Networking4all Intranet certificaat aangepast naar 1121 ProductCode voor Networking4all Pro SAN certificaat aangepast naar 1648 SAN veld toegevoegd aan de checkSSLCertificateCSR functie.
Versie 1.0.3 (18 februari 2009) •
Aanpassingen in alle code voorbeelden met betrekking tot UTF-8 encoding.
Versie 1.0.2 (11 februari 2009) • •
Veranderingen in de getProduct response. Veranderingen in de veld definities.
Versie 1.0.1 (9 februari 2009) •
API url aangepast.
Versie 1.0.0 (5 februari 2009) •
Eerste publieke versie voor test doeleinden en het afnemen van producten.
2 Principe van de API 2.1Basis werking De Networking4all Partner website doet een aanvraag via de API en de API komt terug met een respons. Deze respons bevat de aangevraagde informatie of bijvoorbeeld een relatie handle die is aangemaakt aan de hand van de aanvraag. De respons kan ook een foutcode bevatten, in dat geval is de aanvraag niet uitgevoerd.
Networking4all
resellers
2.2Connecteren naar de API
2.2.1Staging omgeving Voor belangrijke wijzigingen in onze API is er een staging omgeving opgezet. Dit geeft u de mogelijkheid om aanpassingen te maken voordat deze wijzigingen op de live omgeving komen. Connecteren naar de API word gedaan via een Simple Object Access Protocol (SOAP) client in WSDL mode. U connecteerd naar de volgende URL : http://www.stagingenvironment.com/api/soap/api.wsdl Belangrijk is het om te weten dat de variable test = 1 op de staging omgeving word genegeerd. 2.2.2Test en Live omgeving Connecteren naar de API word gedaan via een Simple Object Access Protocol (SOAP) client in WSDL mode. U connecteerd naar de volgende URL : https://www.networking4all.com/api/soap/api.wsdl Belangrijk is het om te weten dat als u test = 1 aanzet in uw request u connecteerd naar de testomgeving. Als dit word weggelaten of test = 0 connecteerd u ten alle tijden naar de live omgeving. Voorbeelden kunt uw vinden in bij de code voorbeelden in sectie 7.5 en 7.6.
2.3De bestelling van een SSL certificaat De bestelling van een SSL Certificaat verloopt via de volgende stappen. 1
2
Networking4all
3
resellers
4*
5
1. Maak eerst een bedrijfsnaam aan met de createRelation functie. De Api komt met een bedrijf handle respons (Optioneel) 2. Maak een contactpersoon aan met de createRelation functie. De Api komt met een contact handle respons (Optioneel) 3. Check de CSR met de checkSSLCertificateCSR functie, indien correct, ga verder. 4. Vraag de Approver Email lijst met getSSLCertificateApproverList. Notitie: voor sommige SSL certificaten is deze stap noodzakelijk. 5. Bestel het SSL Certificaat via de orderSSLCertificate functie, met de CSR en de gegevens van de handles, zie stap 1 en stap 2 ( of gebruik al bestaande handles) en het Approver Email adres indien noodzakelijk. Meer informatie over deze stappen staat in sectie 3 en 5 van dit document. In sectie 7 staan tevens code voorbeelden van het gehele proces.
Na het bestelproces wordt een factuur verzonden en indien noodzakelijk een Approver Email om de aanvraag te bevestigen c.q. Valideren. Indien u de aanvraag bevestigd krijgt u het certificaat via email, meestal binnen enkele minuten.
2.4De bestelling van een Domeinnaam De bestelling van een SSL Certificaat verloopt via de volgende stappen. 1
1. Maak eerst een bedrijfsnaam aan met de createRelation functie. De Api komt met een bedrijf handle respons (Optioneel) 2. Maak een contactpersoon aan met de createRelation functie. De Api komt met een contact handle respons (Optioneel) 3. Check de beschikbaarheid van de domeinnaam met de checkDomain functie, indien beschikbaar of als deze domeinnaam van u is en u wilt verhuiizen, ga verder. 5. Bestel de domeinnaam via de orderDomain functie, met de gegevens van de handles, zie stap 1 en stap 2 ( of gebruik al bestaande handles) en het eventueel Name Servers indien noodzakelijk. Meer informatie over deze stappen staat in sectie 3 en 6 van dit document. In sectie 7 staan tevens code voorbeelden van het gehele proces.
Na het bestelproces wordt een factuur verzonden en indien noodzakelijk een Approver Email om de aanvraag te bevestigen c.q. Valideren. Indien u de aanvraag bevestigd krijgt u het certificaat via email, meestal binnen enkele minuten.
3 Web service details: Relaties De volgende XML notatie conventies worden gebuikt: ( ) moet worden gevolgd door een *, ? of + om de kardinaliteit aan te geven ? 0 of 1 * 0 of meer + 1 of meer
3.1createRelation De createRelation functie is bedoeld om bedrijfs- en contactrelaties aan te maken. Het is mogelijk tegelijkertijd een bedrijfsrelatie met de contactpersoon aan te maken, door de contact informatie in te vullen tijdens het creëren van de bedrijfsrelatie. Account informatie kunt u zelf specificeren bij het creëren van de contactpersoon, zo niet dan wordt er automatisch een gebruikersnaam en wachtwoord aangemaakt. Voor het specificeren van account informatie, dient de createAccount option = 1 aan te staan, anders wordt de account informatie die u heeft gespecificeerd genegeerd. In ons systeem is een contactpersoon altijd gekoppeld aan een bedrijf. Dit maakt het vinden van contacten in onze portal eenvoudiger. Wanneer u aan de hand van onze API een nieuw contact wilt maken dient u gebruik te maken van de handle van het bedrijf om het contact te koppelen. In de meeste gevallen zult u eerst een bedrijf moeten aanmaken. U krijgt de handle terug bij het creëren van een bedrijf. Dit kan vervolgens gebruikt worden bij het maken van een contactpersoon en om dit contact te koppelen aan het bedrijf. Dit is de beste manier om nieuwe contacten aan te maken. Wanneer u met een systeem werkt waarin het contact en bedrijf gekoppeld zijn kunt u de handle achterwege laten. Het contact zal NIET worden gekoppeld aan een specifiek bedrijf, maar aan uw reseller account. BELANGRIJK: Het is zeer belangrijk dat u de handles gebruikt welke u al aangemaakt heeft in plaats van het steeds opnieuw creëren van hetzelfde bedrijf of contact. Wanneer u dit wel doet kunnen er technische en financiële complicaties optreden. Bijvoorbeeld tijdens het bijwerken van uw domeinnamen met adminContact en techContact. Wanneer dit allemaal verschillende handles zijn zullen ze stuk voor stuk dienen te worden geüpdate in plaats van slechts één enkele of een paar handles. 3.1.1createRelation request <requestHeader> <username> <password> ()? ()? ()? <request> ()? ( (<middleName>)? ()? ()? (<passportNumber>)? )?
3.2updateRelation De updateRelation functie stelt u in staat om bedrijfs- en contactinformatie aan te passen. Ook kunt u hiermee gebruikersnaam en wachtwoord wijzigen indien de optie account informatie is gespecificeerd.
3.3deleteRelation De deleteRelation functie stelt u in staat een relatie te verwijderen. 3.3.1deleteRelation Request <deleteRelation xmlns=”https://www.networking4all.com/api/soap/api.wsdl”> <requestHeader> <username> <password> ()? ()? ()? <request>
3.5getRelationContacts Met de getRelationContacts functie wordt een lijst met contactpersonen weergegeven voor een gespecificeerd bedrijf. 3.5.1getRelationContacts Request <requestHeader>
3.6addRelationContacts De addRelationContacts functie stelt u in staat om contacten toe te voegen aan een bepaald bedrijf. 3.6.1addRelationContacts Request <requestHeader> <username> <password>
3.7removeRelationContacts De removeRelationContacts functie stelt u in staat om contacten van een bepaald bedrijf te verwijderen. 3.7.1removeRelationContacts Request <requestHeader> <username> <password> ()? ()? ()? <request>
3.8getRelationResellerClients De getRelationResellerClients functie stelt u in staat om een lijst van Resellers te verkrijgen behorende bij een bepaald bedrijf. 3.8.1getRelationResellerClients Request <requestHeader> <username> <password> ()? ()? ()? <request>
3.9addRelationResellerClients De addRelationResellerClients functie stelt u in staat om bestaande resellers toe te voegen aan een bepaald bedrijf. 3.9.1addRelationResellerClients Request <requestHeader> <username> <password> ()? ()? ()? <request>
3.10removeRelationResellerClients De removeRelationResellerClients functie stelt u in staat om resellers te verwijderen bij een bepaald bedrijf. 3.10.1removeRelationResellerClients Request <requestHeader> <username> <password> ()? ()? ()? <request>
4 Web service details: Producten 4.1getProduct Met de getProduct functie kunt u door middel van de ProductCode informatie opvragen over dat betreffende product. 4.1.1getProduct Request <requestHeader> <username> <password> ()? ()? ()? <request> <productCode>
4.2getProducts De getProduct functie geeft u de mogelijkheid om een lijst met productCodes en namen op te vragen. Deze lijst geeft u geen extra informatie zoals prijzen. Hiervoor dient u getProduct te gebruiken. 4.2.1getProducts Request <requestHeader> <username> <password> ()? ()? ()? <request>
5 Web service details: SSL Certificaten 5.1checkSSLCertificateCSR De checkSSLCertificateCSR functie stelt u in staat om uw CSR te checken. 5.1.1checkSSLCertificateCSR Request <requestHeader> <username> <password> ()? ()? ()? <request> <productCode>
5.2getSSLCertificateApproverList Met de getSSLCertificateApproverList functie krijgt u een lijst met Approver Email adressen die nodig zijn voor het bestellen van Domain Validated (DV) SSL certificaten. 5.2.1getSSLCertificateApproverList Request <requestHeader> <username> <password> ()? ()? ()? <request> <productCode> <domain>
5.4resendEmailSSLCertificate De resendEmailSSLCertificate functie stelt u in staat om de Approver Email opnieuw te sturen of deze te wijzigen. Het wijzigen van het approverEmail adress is niet voor alle producten mogelijk , zie section 5.1.1 voor meer informatie. Het opgegeven approverEmail wordt genegeerd voor producten waar dit niet mogelijk is. 5.4.1resendEmailSSLCertificate Request <requestHeader> <username> <password> ()? ()? ()? <request> ()?
5.5getSSLCertificateOrder De getSSLCertificateOrder functie stelt u in staat om de status van uw SSL order te controleren en indien de order gerealiseerd is (status 216) kunt u het SSL Certificaat via onze API ophalen. Deze functie is DEPRECATED (verouderd), gebruik getSSLCertificate hiervoor in de plaats, zie sectie 5.7.
5.6getSSLCertificateOrderList De getSSLCertificateOrderList functie stelt u in staat om een lijst op te halen met een of meerdere SSL Certificaat bestellingen en de status te controleren. U kunt verschillende filters opgeven zoals begin en eind datum, status en handle. Indien de order gerealiseerd is (status 216) kunt u het SSL Certificaat via onze API ophalen. Deze functie is DEPRECATED (verouderd), gebruik getSSLCertificate hiervoor in de plaats, zie sectie 5.8.
5.7getSSLCertificate De getSSLCertificate functie stelt u in staat om de status van uw SSL bestelling te controleren en indien de gerealiseerd is (status 216) kunt u het SSL Certificaat via onze API ophalen. 5.7.1getSSLCertificate Request <requestHeader> <username> <password> ()? ()? ()? <request> ()? )+ )? <domain> (<sanNames> (<san>)+ )? ()? ()? ()? ()? ( <currency> )+ ()? (<details> <mailValidation> <ev> <webserver>
5.8getSSLCertificateList De getSSLCertificateList functie stelt u in staat om een lijst op te halen met een of meerdere SSL Certificaat bestellingen en de status te controleren. U kunt verschillende filters opgeven zoals begin en eind datum, status en handle. Indien de bestelling gerealiseerd is (status 216) kunt u het SSL Certificaat via onze API ophalen. 5.8.1getSSLCertificateList Request <requestHeader> <username> <password> ()? ()?
5.9replaceSSLCertificate Met de replaceSSLCertificate functie kunt u een SSL certificaat vervangen. 5.9.1replaceSSLCertificate Request <requestHeader> <username> <password> ()? ()? ()? <request>
5.10updateSSLCertificate De updateSSLCertificate functie stelt u in staat uw certificaat te updaten. Momenteel alleen gebruikt voor het wijzigen van Malware scan opties en aanvragen On-Demand-Scan. Mogelijk in de toekomst meerdere functionaliteiten. 5.10.1updateSSLCertificate Request <requestHeader> <username> <password> ()? ()? ()? <request> (<extraPreferences>)*
5.11changeSANSSLCertificate De changeSANSSLCertificate functie stelt u in staat om SAN namen toe te voegen aan uw certificaat. Het is belangrijk dat u alle SAN namen die u wilt behouden plus de nieuwe SAN namen opgeeft aan deze functie. 5.11.1changeSANSSLCertificate request
6 Web service details: Domeinnamen 6.1checkDomain Met de checkDomain functie kunt u één of meerdere domeinen controleren. Zie sectie 5.3.2 voor status codes welke u kunt verwachten in de checkDomain response. 6.1.1checkDomain Request <requestHeader> <username> <password> ()? ()? ()? <request> (<domain>)+
6.4getDomainOrder De getDomainOrder functie geeft u de mogelijkheid om de status en de bijbehorende informatie van uw domeinnaam order in te zien. U kunt zowel het uitgegeven traceNumber als de aangevraagde domeinnaam gebruiken. Deze functie is DEPRECATED (verouderd), gebruik getDomain hiervoor in de plaats, zie sectie 6.5.
6.5getDomain De getDomain functie geeft u de mogelijkheid om de status en de bijbehorende informatie van uw domeinnaam in te zien. U kunt zowel het uitgegeven traceNumber als de aangevraagde domeinnaam gebruiken. 6.5.1getDomain Request <requestHeader> <username> <password> ()? ()? ()? <request> ()? (<domain>)?
6.6getDomainList De getDomainList functie stelt u in staat om een lijst op te halen met een of meerdere domeinnaam bestellingen en de status te controleren. 6.6.1getDomainList Request <requestHeader> <username> <password> ()? ()? ()? (<request> ()? ()? ()? ()? (<status>)? ()? )?
6.7updateDomain De updateDomain functie geeft u de mogelijkheid het administratief contact en technisch contactpersoon te wijzigen. U kunt zowel het uitgegeven traceNumber als de aangevraagde domeinnaam gebruiken. 6.7.1updateDomain Request <requestHeader> <username> <password> ()? ()? ()?
6.8cancelDomain De cancelDomain functie geeft u de mogelijkheid om de domeinnaam op te zeggen. U kunt zowel het uitgegeven traceNumber als de aangevraagde domeinnaam gebruiken. 6.8.1cancelDomain Request <requestHeader> <username> <password> ()? ()? ()? <request> ()? (<domain>)?
6.9getDnsRecords De getDnsRecords functie geeft u de mogelijkheid om de DNS records van een domein op te halen. 6.9.1 getDnsRecords Request <requestHeader> <username> <password> ()? ()? ()? <request> (<domain>)
6.10addDnsRecords De addDnsRecords functie geeft u de mogelijkheid om DNS records aan een domein toe te voegen. 6.10.1 addDnsRecords Request <requestHeader> <username> <password> ()? ()? ()? <request> <domain>
6.11updateDnsRecords De updateDnsRecords functie geeft u de mogelijkheid om DNS records te updaten. Hiervoor dienen zowel het oude record als het nieuwe record meegegeven te worden. 6.11.1 updateDnsRecords Request <requestHeader> ()+
6.12deleteDnsRecords De deleteDnsRecords functie geeft u de mogelijkheid om de DNS records van een domein te verwijderen. 6.12.1 deleteDnsRecords Request <deleteDnsRecords xmlns=”https://www.networking4all.com/api/soap/api.wsdl”> <requestHeader> <username> <password> ()? ()? ()? <request> <domain> ()+
7.2De requestHeader Elke aanvraag dient een requestHeader te bevatten in onderstaand format; <requestHeader> <username> <password> ()? ()? ()?
De structuur moet de login, gebruikersnaam en wachtwoord bevatten om de API te gebruiken. Optioneel kan een taal gespecificeerd worden waarin de foutmeldingen zullen worden getoond. Zonder specifieke taal aanduiding wordt hiervoor Engels gebruikt. Ook optioneel is een reference string die gebruikt kan worden als eigen referentie bij elke aanvraag. Belangrijk: Als u gebruik wilt maken van de testomgeving om te testen moet u de optionele waarde meegeven met de waarde 1. Als deze waarde 0 is of dit veld wordt weggelaten wordt uw request uitgevoerd op de productie omgeving.
7.3De responseHeader De Networking4all API komt altijd terug met een responseHeader die er als volgt uitziet: ()? (<warnings> (<warning> <message> )+ )? (<errors> (<error> <message> )+ )? ()? ()? ()?
7.3.1Resultaat codes De resultCode en resultMessage geven de status van het proces weer en kunnen de volgende waarden bevatten.
Resultaat code
Omschrijving
0
De opdracht is geslaagd.
1
De opdracht is geslaagd, er zijn geen resultaten gevonden.
2
De opdracht kon niet worden uitgevoerd, er zijn fouten, zie de error structuur.
3
De API is momenteel in onderhoudsmodus.
7.3.2Waarschuwing codes De <warning structuur heeft dezelfde structuur als de <error> structuur. Een lijst met mogelijke warnings. Deze lijst zou in de toekomst nog uitgebreid gaan worden.
Waarschuwing code
Omschrijving
1000
Functie is verouderd
1001
Veld is verouderd
7.3.3Fout codes De <error> structuur kan de volgende informatie bevatten. • •<message> •
-
Een numerieke fout code ter indicatie van het type. Een meer gedetailleerde foutmelding, in de opgegeven eigen taal. Het veld waarin de fout is opgetreden.
Een lijst met alle mogelijke fout codes. Fout code
Waarde bestaat niet (voorbeeld: een productCode die niet bestaat)
1006
Waarde bestaat al
2001
Email validatie fout
2002
Hostname validatie fout
2003
Gebruikersnaam validatie fout
2004
Wachtwoord sterkte fout
2005
Credit card validatie fout
3001
SSL Certificaat fout
3002
NameServer fout
3003
Domeinnaam fout
4001
Login fout
5001
Onbekende fout
7.4Veld definities Alle API aanvragen en respons velden in alfabetische volgorde: Veld
Beschrijving
Type
<username> <password> <passwordConfirm>
Account structuur.
Bankrekening nummer.
string
Bank type, “GIRO”, “BANK” of “IBAN”
string
Actuele prijs, inclusief eventuele kortingen
string
Domein actie, “register” of “transfer”
string
updateSSLCertificate String handeling. Op het moment zijn twee opties beschikbaar, meer volgen mogelijk. UPDATE_EXTRA_PREFERE NCES en REQUEST_ON_DEMAND_S CAN
Structuur van adres gedeelte, string bv “visit” of “post”.
Type prijs in de getProduct, kan bevatten:
string
string
setup new registration transfer trade restore renew
Datum in JJJJ-MM-DD format.
string
Contact handle.
string
<username>
Gebruikersnaam.
string
Percentage van VAT. (BTW)
integer
VAT (BTW) nummer.
string
<website>
Website URL.
string
10 4
8
7.5Code voorbeelden SSL Certificaten Hier volgen een paar code voorbeelden (PHP). Deze voorbeelden laten de stappen zien die nodig zijn voor het bestellen van een SSL certificaat. We gaan hier uit van een Networking4all Basic SSL Certificaat, productcode 1630, voor de periode van 1 jaar. 7.5.1Bedrijf aanmaken Voor dit voorbeeld maken we eerst een nieuw bedrijf aan. 1)); $requestHeader = array(); $requestHeader['auth']['handle'] = utf8_encode('TST-000000'); $requestHeader['auth']['username'] = utf8_encode('username'); $requestHeader['auth']['password'] = utf8_encode('password'); $requestHeader['language'] = utf8_encode('NL'); $requestHeader['reference'] = utf8_encode('My Reference'); $requestHeader['test'] = 1; $params = array(); $params['requestHeader'] = $requestHeader; $params['request']['type'] = utf8_encode('company'); /*
Als deze aanvraag is uitgevoerd komt de respons met een handle : TST-000002 ( als voorbeeld ) 7.5.3Check de CSR We hebben nu de bedrijf en contact handle die nodig zijn voor het bestellen van een SSL certificaat, maar eerst moeten we nog de CSR controleren. 1)); $requestHeader = array(); $requestHeader['auth']['handle'] = utf8_encode('TST-000000'); $requestHeader['auth']['username'] = utf8_encode('username'); $requestHeader['auth']['password'] = utf8_encode('password'); $requestHeader['language'] = utf8_encode('NL'); $requestHeader['reference'] = utf8_encode('My Reference'); $requestHeader['test'] = 1; $csr = "-----BEGIN CERTIFICATE REQUEST----MIIB5jCCAU8CAQAwgaUxCzAJBgNVBAYTAk5MMRYwFAYDVQQIEw1Ob29yZCBCcmFi YW50MRMwEQYDVQQHEwpSb29zZW5kYWFsMRwwGgYDVQQKExNOZXR3b3JraW5nNGFs bCBCLlYuMR8wHQYDVQQDExZ3d3cubmV0d29ya2luZzRhbGwuY29tMSowKAYJKoZI hvcNAQkBFhtzZWN1cml0eUBuZXR3b3JraW5nNGFsbC5jb20wgZ8wDQYJKoZIhvcN AQEBBQADgY0AMIGJAoGBAOsi6VgMka2KLata8fn0zeXbwbmjcTKd6V973Jrm4mCk PAjFklWyGdXirtHV+Etbuiu7/WAEgwCVJK46tjMK+ZPpmt1f/kXxIUgjtZTaTS+r Cfzoyl85MZSKXNhIMOICvkn7m4YXyQDMXLearR+XVa2pnJ0MwpEnAeh8YEsps/Pp AgMBAAGgADANBgkqhkiG9w0BAQQFAAOBgQC3lC2dW6smhPD3SFXY0ypw9f7xnieL cosYjN0O/yos9NlflGsV0LuZhfgR7yZhUvLyWqM6lhzpL6f7jTUD9IStvAhTUpLq LY8ZNI0pO0uQDljqmoQnTk1tro2dblzDTWmhlOm2BobW+aU+LnLS9oDJ8gBPKE1V J4beS3a2eNwORg== -----END CERTIFICATE REQUEST-----"; $params = array(); $params['requestHeader'] = $requestHeader;
7.5.4Het Approver Email adres Als de CSR is gecontroleerd vragen we een lijst aan met de Approver Email adressen, waarvan we er 1 moeten opgeven bij de bestelling van het SSL certificaat. Hiervoor hebben we de domeinnaam nodig, ook wel de Common Name genoemd. In dit voorbeeld gebruiken we www.networking4all.com 1)); $requestHeader = array(); $requestHeader['auth']['handle'] = utf8_encode('TST-000000'); $requestHeader['auth']['username'] = utf8_encode('username'); $requestHeader['auth']['password'] = utf8_encode('password'); $requestHeader['language'] = utf8_encode('NL'); $requestHeader['reference'] = utf8_encode('My Reference'); $requestHeader['test'] = 1; $params = array(); $params['requestHeader'] = $requestHeader; $params['request']['productCode'] = 1630; $params['request']['domain'] = utf8_encode('www.networking4all.com'); $response = $client->getSSLCertificateApproverList($params); ?>
7.5.5SSL Certificaat bestellen Nu hebben we alle gegevens voor het bestellen van een SSL Certificaat via de API. Deze gegevens zijn: Company : TST-000001 Admin Contact : TST-000002 Tech Contact : TST-000002 ApproverEmail : hostmaster@networking4all.com We gebruiken hetzelfde contact als administratief en technisch contact in dit voorbeeld. U kunt natuurlijk voor beiden een eigen contact aanmaken. 1)); $requestHeader = array(); $requestHeader['auth']['handle'] = utf8_encode('TST-000000'); $requestHeader['auth']['username'] = utf8_encode('username'); $requestHeader['auth']['password'] = utf8_encode('password');
Na de uitvoering van deze bestelling krijgen we van de API een traceNumber als respons: 10000000001. Dit traceNumber is nodig voor de functies resendEmailSSLCertificate, replaceSSLCertificate en getSSLCertificateOrder.
7.5.6Order the SSL Certificate (DV) with automatic Domain Approval Now we are ready to order a SSL Certificate using the API. We have the following data: Company Admin Contact Tech Contact
: : :
TST-000001 TST-000002 TST-000002
We will use the same contact for administrative contact and tech contact in this example. Of course you could create and/or use a different contact for both. 1)); $requestHeader = array(); $requestHeader['auth']['handle'] = utf8_encode('TST-000000'); $requestHeader['auth']['username'] = utf8_encode('username'); $requestHeader['auth']['password'] = utf8_encode('password'); $requestHeader['language'] = utf8_encode('NL');
Now we have ordered a SSL Certificate, and we get a traceNumber in return: 10000000001. This traceNumber is needed for resendEmailSSLCertificate, replaceSSLCertificate and getSSLCertificateOrder operations. You will also get a fileName and fileContent back in the response. You need to create this file and copy it to the public root folder of your website. 7.5.7Opnieuw inzenden of wijzigen van het Approver Email adres Om de Approver Email te wijzigen is het traceNumber nodig dat verkregen is in respons op de bestelling. Het wijzigen van het Approver Email adres is optioneel. In dit voorbeeld gaan we het veranderen naar webmaster@networking4all.com . 1)); $requestHeader = array(); $requestHeader['auth']['handle'] = utf8_encode('TST-000000'); $requestHeader['auth']['username'] = utf8_encode('username'); $requestHeader['auth']['password'] = utf8_encode('password'); $requestHeader['language'] = utf8_encode('NL'); $requestHeader['reference'] = utf8_encode('My Reference'); $requestHeader['test'] = 1; $params = array(); $params['requestHeader'] = $requestHeader;
7.5.11Bestelling van het SAN certificaat De bestelling van het SAN certificaat met orderSSLCertificate. In dit voorbeeld gaan we uit van dezelfde gegevens die in de vorige voorbeelden hebben verkregen, namelijk: Company Admin Contact Tech Contact ApproverEmail
Na de uitvoering van deze bestelling krijgen we van de API een traceNumber als respons: 10000000001. Dit traceNumber is nodig voor de functies resendEmailSSLCertificate, replaceSSLCertificate en getSSLCertificateOrder. 7.5.12Raadpleeg de API voor de status van de bestelling en het certificaat Met deze functie kunt u de API vragen naar de status van uw bestelling en indien de status 216 is (Certificaat is uitgegeven) dan kunt u het certificaat aldus verkrijgen. U heeft hiervoor het traceNumber nodig, wat als respons verstuurd is bij de orderSSLCertificate functie. U kunt dit ook overslaan aangezien het certificaat tevens altijd per e-mail wordt verzonden zodra het is uitgegeven. 1)); $requestHeader = array(); $requestHeader['auth']['handle'] = utf8_encode('TST-000000'); $requestHeader['auth']['username'] = utf8_encode('username'); $requestHeader['auth']['password'] = utf8_encode('password'); $requestHeader['language'] = utf8_encode('NL'); $requestHeader['reference'] = utf8_encode('My Reference'); $requestHeader['test'] = 1; $params = array(); $params['requestHeader'] = $requestHeader; $params['request']['traceNumber'] = 10000000001; $response = $client->getSSLCertificate($params); ?>
7.5.13Raadpleeg de API voor een lijst met SSLCerticates bestellingen Met deze functie kunt u de API vragen naar alle SSLCerticates orders die zijn geplaatst, en de respectievelijke status en het certificaat ophalen. In plaats van het traceNumber die u moet opgeven in getSSLCertificateOrder geeft u hier een datum range, status of handle op om een lijst met certificaten op te vragen. Dit is optioneel, maar wel aangeraden om het aantal resultaten te limiteren. In dit voorbeeld gebruiken we de datum. 1)); $requestHeader = array(); $requestHeader['auth']['handle'] = utf8_encode('TST-000000'); $requestHeader['auth']['username'] = utf8_encode('username'); $requestHeader['auth']['password'] = utf8_encode('password'); $requestHeader['language'] = utf8_encode('NL'); $requestHeader['reference'] = utf8_encode('My Reference'); $requestHeader['test'] = 1;
7.5.14Wijzig uw malware scan opties Deze functie maakt het mogelijk om de malware scan opties te wijzigen. 1)); $requestHeader = array(); $requestHeader['auth']['handle'] = utf8_encode('TST-000000'); $requestHeader['auth']['username'] = utf8_encode('username'); $requestHeader['auth']['password'] = utf8_encode('password'); $requestHeader['language'] = utf8_encode('NL'); $requestHeader['reference'] = utf8_encode('My Reference'); $requestHeader['test'] = 1; $params = array(); $params['requestHeader'] = $requestHeader; $params['request']['traceNumber'] = 10000000001; $params['request']['action'] = utf8_encode('UPDATE_EXTRA_PREFERENCES'); $params['request']['extraPreferences'] = utf8_encode('MS_DISABLED'); $response = $client->updateSSLCertificate($params); ?>
7.5.15Vraag een On-Demand-Scan aan Deze functie maakt het mogelijk om een On-Demand-Scan aan te vragen. 1)); $requestHeader = array(); $requestHeader['auth']['handle'] = utf8_encode('TST-000000'); $requestHeader['auth']['username'] = utf8_encode('username'); $requestHeader['auth']['password'] = utf8_encode('password'); $requestHeader['language'] = utf8_encode('NL'); $requestHeader['reference'] = utf8_encode('My Reference');
7.5.16Voeg een extra SAN naam toe aan uw certificaat. Deze functie maakt het mogelijk SAN namen toe te voegen/te verwijderen in uw SAN Certificaat. Het is belangrijk om te weten dat u alle SAN namen die u wilt behouden mee moet geven aan de functie, plus de nieuwe namen. SAN namen die u weglaat zullen worden verwijderd uit het certificaat als het certificaat opnieuw uitgegeven word. 1)); $requestHeader = array(); $requestHeader['auth']['handle'] = utf8_encode('TST-000000'); $requestHeader['auth']['username'] = utf8_encode('username'); $requestHeader['auth']['password'] = utf8_encode('password'); $requestHeader['language'] = utf8_encode('NL'); $requestHeader['reference'] = utf8_encode('My Reference'); $requestHeader['test'] = 1; $params = array(); $params['requestHeader'] = $requestHeader; $params['request']['traceNumber'] =utf8_encode(10000000001); // Add test4.networking4all.com $params['request']['san'] = array(utf8_encode('test1.networking4all.com'), utf8_encode('test2.networking4all.com'), utf8_encode('test3.networking4all.com'), utf8_encode('test4.networking4all.com')); $response = $client->changeSANSSLCertificate($params); ?>
7.5.17Order a GlobalSign PersonalSign certificate. Ordering the PersonalSign Certificate. In this example we will use the same data as we used in our previous examples: Company Admin Contact Tech Contact
7.5.18Bestel een GlobalSign CodeSigning certificaat. Het bestellen van het CodeSigning Certificaat. In dit voorbeeld gebruiken we dezelfde gegevens als we in voorgaande voorbeelden hebben gebruikt: Company Admin Contact Tech Contact
7.6Code voorbeelden domeinnamen In dit voorbeeld maken we een nieuw bedrijf en contactpersoon aan, voordat we de domeinna(a)m(en) controleren en bestellen. In ons laatste voorbeeld veranderen we de nameservers, nadat de domeinnaam is geregistreerd. 7.6.1Maak een nieuw bedrijf aan In dit voorbeeld zullen we een nieuw bedrijf aanmaken. 1)); $requestHeader = array(); $requestHeader['auth']['handle'] = utf8_encode('TST-000000'); $requestHeader['auth']['username'] = utf8_encode('username'); $requestHeader['auth']['password'] = utf8_encode('password'); $requestHeader['language'] = utf8_encode('NL'); $requestHeader['reference'] = utf8_encode('My Reference'); $requestHeader['test'] = 1; $params = array(); $params['requestHeader'] = $requestHeader; $params['request']['type'] = utf8_encode('company'); /* * Company information */ $params['request']['company']['name'] = utf8_encode('Test company'); $params['request']['company']['employees'] = 2; $params['request']['company']['chamberOfCommerce'] = ''; /* * Address information */ $address = array(); $address['type'] = utf8_encode('visit'); $address['street1'] = utf8_encode('Testlaan 562');
Dit verzoek maakt een contactpersoon voor het bedrijf aan en geeft de handle terug: TST-000002 (in dit voorbeeld). 7.6.3Controleer de beschikbaarheid van de domeinnaam Controleer of de domeinnaam beschikbaar is. 1)); $requestHeader = array(); $requestHeader['auth']['handle'] = utf8_encode('TST-000000'); $requestHeader['auth']['username'] = utf8_encode('username'); $requestHeader['auth']['password'] = utf8_encode('password'); $requestHeader['language'] = utf8_encode('NL'); $requestHeader['reference'] = utf8_encode('My Reference'); $requestHeader['test'] = 1; $params = array(); $params['requestHeader'] = $requestHeader; $params['request']['domain'][] = utf8_encode('testdomain.com'); $response = $client->checkDomain($params); ?>
7.6.4Bestel een domeinnaam U bent nu klaar om een domeinnaam aan te vragen, aan de hand van de API. We hebben de volgende gegevens: Company Admin Contact Tech Contact
7.6.6Query the API for your domain Order status and domain info After ordering your domain you can use the traceNumber returned with the orderDomain operation or the domain name to request the status and domain info. In this example we use the traceNumber. 1)); $requestHeader = array(); $requestHeader['auth']['handle'] = utf8_encode('TST-000000'); $requestHeader['auth']['username'] = utf8_encode('username'); $requestHeader['auth']['password'] = utf8_encode('password'); $requestHeader['language'] = utf8_encode('NL'); $requestHeader['reference'] = utf8_encode('My Reference'); $requestHeader['test'] = 1; $params = array(); $params['requestHeader'] = $requestHeader; $params['request']['traceNumber'] = 10000000001; $response = $client->getDomain($params); ?>
7.6.8Update domeinnaam handles. U kunt de domeinnaam Admin Contact en Tech Contact updaten door gebruik te maken van de updateDomain functie. Voor dit voorbeeld gebruiken we de onderstaande gegevens. Maak of bewerkt eerst de contact gegevens voordat u de domeinnaam handles gaat updaten. Admin Contact Tech Contact
: :
TST-000003 TST-000003
In dit voorbeeld is de administratieve contactpersoon dezelfde als de technische contactpersoon. U kunt uiteraard twee verschillende contactpersonen gebruiken. 1)); $requestHeader = array(); $requestHeader['auth']['handle'] = utf8_encode('TST-000000'); $requestHeader['auth']['username'] = utf8_encode('username'); $requestHeader['auth']['password'] = utf8_encode('password'); $requestHeader['language'] = utf8_encode('NL'); $requestHeader['reference'] = utf8_encode('My Reference'); $requestHeader['test'] = 1; $params = array(); $params['requestHeader'] = $requestHeader; $params['request']['domain'] = utf8_encode('testdomain.com'); $params['request']['adminHandle'] = utf8_encode('TST-000003'); $params['request']['techHandle'] = utf8_encode('TST-000003'); $response = $client->updateDomain($params); ?>
7.6.9Opzeggen domeinnaam U kunt met deze functie uw domeinnaam opzeggen.
7.7UTF-8 encoding en decoding De op SOAP gebaseerde API heeft geldige UTF-8 encoded tekenreeksen nodig in het request, zoals te zien in de code voorbeelden in sectie 4.5. In principe hoeven alleen tekenreeksen met speciale karakters encoded te worden. Vaak komt de informatie uit een database of een web formulier, en tenzij alle speciale karakters er handmatig uitgehaald worden, is het meestal beter om alle informatie UTF-8 te encoden in het request naar de API. Is niet alles encoded dan zal er een XML foutmelding optreden aan de SOAP Client kant, aangezien het request toch speciale karakters bevat. Gebruik hiervoor de utf8_encode() functie in PHP of een soortgelijke functie in andere programmeertalen. Vanaf de andere kant, bestaat de respons van de API uitsluitend uit UTF-8 encoded tekenreeksen, deze wilt u mogelijk eerst decoden voordat u ze gebruikt. Hiervoor kan de utf8_decode() functie in PHP gebruikt worden, of een soortgelijke functie in andere programmeertalen.
8 Product informatie 8.1Product codes Hieronder volgt een lijst van productCodes van de SSL Certificaten die via de Networking4all API besteld kunnen worden. Meer informatie en prijzen zijn te vinden op onze website: www.networking4all.com 8.1.1DV (Domain Validatie) SSL Certificaten Domeinnaam gevalideerde SSL Certificaten zijn SSL Certificaten welke zeer snel kunnen worden uitgegeven, meestal binnen enkele minuten. Iedereen kan een aanvraag indienen voor een SSL certificaat, maar certificaat aanvragen moeten worden goedgekeurd door iemand binnen de organisatie, die controle heeft over de domeinnaam. Doorgaans is dit de webmaster of de persoon die de domeinnaam heeft geregistreerd. Selecteer een Approver Email uit de lijst die verkrijgbaar is via de functie getSSLCertificateApproverList. Naar het Approver Email adres wordt een email ter validatie gestuurd om de aanvraag van het SSL certificaat goed te keuren. Merk
SSL Certificaat
ProductCod Periode e
Licensie
Approver Email
Networking4all
Regular Lite
1620
1 tot 5 jaar Onbeperkt ja(file)
Networking4all
Regular Lite Wildcard
1625
1 tot 5 jaar Onbeperkt ja(file)
Networking4all
Regular Basic
1630
1 tot 5 jaar Onbeperkt ja(file)
Networking4all
Regular Basic Wildcard
1635
1 tot 5 jaar Onbeperkt ja(file)
Networking4all
Regular Pro
1640
1 tot 5 jaar Onbeperkt ja(file)
Networking4all
Regular Pro Wildcard
1645
1 tot 5 jaar Onbeperkt ja
Networking4all
Regular Pro SAN
1648
1 tot 5 jaar Onbeperkt ja
Networking4all
Trial
1650
0
Onbeperkt ja
Networking4all
Trial Mobile
1651
0
Onbeperkt ja
GeoTrust
Quick SSL Premium
1520
1 tot 5 jaar Onbeperkt ja(file)
GeoTrust
QuickSSL Premium SAN
1590
1 tot 4 jaar Onbeperkt ja(file)
Thawte
Thawte SSL 123
1720
1 tot 5 jaar 1 t/m 499
GlobalSign
DomainSSL
1800
1 tot 5 jaar Onbeperkt ja*
GlobalSign
DomainSSL Wildcard
1805
1 tot 5 jaar Onbeperkt ja*
GlobalSign
DomainSSL SAN
1807
1 tot 5 jaar Onbeperkt ja*
ja(file)
* Geeft aan dat het approverEmail adres niet gewijzigd kan worden met de resendEmailSSLCertificate functie, alleen het originele approverEmail adres kan opnieuw verzonden worden. 8.1.2OV (Organisation Validatie) SSL Certificaten Bij organisatie gevalideerde certificaten controleren wij onder andere de gegevens van de organisatie door middel van externe bronnen en wordt de contactpersoon van de organisatie opgebeld. Merk
8.1.3EV (Extended Validation) SSL Certificaten Een Extended Validation SSL Certificaat laat de adresbalk van bijvoorbeeld de Internet Explorer 7 browser groen kleuren. Dit houdt in dat de identiteit van de eigenaar van de website welke in het SSL Certificaat vermeld staat is gevalideerd door middel van de zeer strenge Extended Validation richtlijnen. Merk
8.1.4Client certificaten Client certificaten zijn certificaten waarmee u uw email of uw codes kunt signen. Wanneer u een CodeSigning of PersonalSign certificaat van GlobalSign aanschaft wordt een pickupPassword gegenereerd welke terug zal komen in de response. U heeft dit pickupPassword nodig om uw certificaat te verkrijgen!
Merk
SSL Certificaat
ProductCode
Periode
Approver
Symantec
CodeSigning
1790
1 to 2 yrs nee
Thawte
CodeSigning
1730
1 to 2 yrs nee
GlobalSign
PersonalSign 1
1841
1 to 3 yrs pickupPassword
GlobalSign
PersonalSign 2
1843
1 to 3 yrs pickupPassword
GlobalSign
PersonalSign 2 Pro
1844
1 to 3 yrs pickupPassword
GlobalSign
PersonalSign 2 Department
1845
1 to 3 yrs pickupPassword
GlobalSign
CodeSigning Organizations
1850
1 to 3 yrs pickupPassword
GlobalSign
CodeSigning Individual
1851
1 to 3 yrs pickupPassword
8.1.5Client certificaten verplichte velden (GlobalSign) Voor de meeste client certificaten dient u verschillende velden in te vullen bij de aanvraag.
ProductCode Certifica commo at type nName
email
titel
organis organiza locality provinci atie tionUnit e
land
1841
-
-
x
-
-
-
-
-
-
1843
-
x
x
-
-
-
-
-
x
1844
-
x
x
?
x
-
x
x
x
1845
-
x
x
?
x
-
x
x
x
1850
x
x
x
-
x
?
x
x
x
1851
x
x
x
?
-
-
x
x
x
8.2
Productcodes domeinnamen (Hosting)
Hieronder ziet u een overzicht van onze hostingpakketten. Aan de hand van de getProduct (sectie 3.11) kunt u meer informatie over de geselecteerde producten krijgen. U kunt echter ook naar de website van Networking4all gaan (https://www.networking4all.com/nl/hosting/). Daar vindt u meer over het product en de prijzen. Brand
8.3Status codes 8.3.1Relevante status codes bij een SSL Certificaat bestelling Een lijst met relevante SSL Certificaat status codes welke als respons worden teruggegeven door de getSSLCertificateOrder functie. Met deze functie kunt u de status opvragen van de bestelling van een SSL Certificaat en indien de status code 216 is, kan via deze functie het certificaat worden opgehaald. Zie sectie 3.16 voor meer informatie. Code
Beschrijving
214
SSL request niet goedgekeurd.
215
SSL Certifficaat aangevraagd.
216
SSL Certificaat uitgegeven.
218
SSL Certificaat replacement aangevraagd.
221
SSL Certifficaat verlopen.
222
SSL Certificaat bijna verlopen.
225
SSL Certificaat terugbetaald.
8.3.2Substatus codes voorSSL Certificaat aanvragen Een lijst met relavante statuscodes welke u te zien krijgt bij de getSSLCertificate en getSSLCertificateList functies. Code
Beschrijving
99
Bericht
100
Approver e-mail
101
Approver e-mail nog niet goedgekeurd
102
Approver e-mail goedgekeurd
109
CSR details komen niet overeen met de bedrijfsgegevens in het handelsregister
110
Controleer de kvK
111
Bedrijfsinformatie afgekeurd, meer informatie noodzakelijk
112
Bedrijfsinformatie goedgekeurd
210
Controleer domeinnaamhouder in WHOIS
211
Gegevens eigenaar afgekeurd, meer informatie noodzakelijk
212
Gegevens eigenaar goedgekeurd
310
Controleer administratief contactpersoon
311
Administratief contactpersoon afgekeurd, meer informatie noodzakelijk
Contract CA naar vetting@networking4all.com gestuurd
411
Contract ongeldig, dient aangepast te worden
412
Contract goedgekeurd
510
Telefonische validatie
511
Controleer telefoonnummer bij algemene bron
512
Telefonische validatie met humane bron succesvol
513
Telefonische validatie met humane bron niet succesvol
514
Telefonische validatie met management succesvol
515
Telefonische validatie met management niet succesvol
516
Telefonische validatie met administratief contact succesvol
517
Telefonische validatie met administratief contact niet succesvol
1000
Inzage bestelling
1001
Inzage bestelling in behandeling
1002
Certificaat zal worden uitgegeven
1010
Bestelling geannuleerd door klant
1015
Bestelling geannuleerd door Certificate Authority
8.3.3Status codes voor controleren domeinnamen Een lijst met relevante status codes welke terugkomen bij de checkDomain functie. Deze handeling geeft u de mogelijkheid om één of meerdere domeinnamen te controleren voor de registratie. Zie paragraaf 3.18 voor meer informatie.
8.3.4Relevante status codes bij een Domeinnaam bestelling Een lijst met relevante SSL Certificaat status codes welke als respons worden teruggegeven door de getDomainOrder functie. Code
Description
5
Wachten op betaling
6
Afwachting transfer
7
Afwachting trade
8
Afwachting registration
10
Actief
20
Geblokeerd, niet betaald
30
Gedeactiveerd
70
Registratie fout
80
Verhuizing aangevraagd
85
Verhuisd
90
Opzeggen aangevraagd
91
Geen vernieuwing
95
Opgezegd
8.4Extra Services Extra Services zijn functies welke beschikbaar zijn voor sommige producten, zoals malware scan. 8.4.1Malware scan Malware scan geeft u de mogelijkheid voor een dagelijkse scan van uw website, welke beveiligd is aan de hand van één van onderstaande producten: 1.Symantec Secure Site (1750) 2.Symantec Secure Site Pro (1760) 3.Symantec Secure Site With EV (1770) 4.Symantec Secure Site Pro With EV (1780) Wanneer u een certificaat besteld aan de hand van de orderSSLCertificate functie met één van bovenstaande certificaten, dan kunt u kiezen uit drie verschillende mogelijkheden (zie begin volgende pagina voor opsomming). Zo kunt u kiezen uit de malware scan en seal-in-search. Standaard staan deze functies aan. U krijgt deze optie bij de aanvraag van het certificaat, maar u kunt dit ook later nog aanpassen. Wanneer uw bestelling afgerond is (status 216) kunt u de updateSSLCertificate functie gebruiken om uw malware scan instellingen te wijzigen: U heeft drie opties: 1.Alle services aanzetten (malware scan en seal-in-search). Dit is de standaard waarde. (MS_ENABLED of niet nader gespecificeerd) 2.Alleen de malware scan aanzetten. (MS_SIS_DISABLED)
3.Zowel de malware scan als de seal-in-search functie uitzetten. (MS_DISABLED). In de orderSSLCertificate functie vindt u een nieuw veld waarin u deze opties nader kunt specificeren. Meer opties volgens mogelijk later. De opties kunnen worden gescheiden aan de hand van een komma. Zie voor meer informatie sectie 5.3 <extraPreferences>
Wanneer u uw malware scan instellingen wilt wijzigen dient u de updateSSLCertificate functie te gebruiken. U heeft daarvoor uw traceNumber en onderstaande informatie nodig. Zie voor meer informatie sectie 5.10 en 7.5.13. <extraPreferences>
Het veld waarin u uw malware scan opties wijzigt dient het volgende te bevatten: UPDATE_EXTRA_PREFERENCES Dezelfde info als hierboven is ook noodzakelijk voor het extraPreferences veld. On-Demand-Scan Een andere mogelijkheid is het aanvragen van een On-Demand-Scan. Dit doet u meestal in het geval nadat u malware infecties heeft verwijderd en een re-scan van uw site wilt uitvoeren. Dit kunt u ook doen aan de hand van de updateSSLCertificate functie. Het veld waarin u een On-Demand-Scan aanvraagt dient het volgende te bevatten: REQUEST_ON_DEMAND_SCAN. Meer informatie is niet noodzakelijk, behalve het traceNumber. Wanneer u uw malware scan resultaten wilt inzien dient u de huidige getSSLCertificate en getSSLCertificateList functies te gebruiken. Hier is een extraServices gedeelte toegevoegd, enkel weergegeven bij certificaten welke malware scan ondersteunen. Verder zijn geen veranderingen aangebracht. Zie voor meer informatie secties 5.7 en 5.8. Meer informatie Meer informatie over de malware scan valt buiten de omvang van dit document, maar is te vinden op onze website.
9 Het API control panel Via onze website op www.networking4all.com bieden wij onze klanten een API control panel. Dit control panel laat alle requests zien die u via de API heeft ingediend en toont ook de reponses. Op deze manier heeft u een duidelijk overzicht van alle API aanvragen en resultaten. Het API control panel is te vinden onder het API tabblad wanneer u bent ingelogd op uw account. Door op het API tabblad te klikken krijgt u de overzichtspagina te zien.
9.1Overzichtsscherm U krijgt onderstaand overzichtsscherm te zien nadat u op het API tabblad hebt geklikt.
In dit overzicht ziet u al uw requests gesorteerd op datum, de laatste bovenaan. U kunt ook op andere criteria sorteren zoals op functie, handle, gebruikersnaam, host, resultaat en tijdsduur. Door de filters toe te passen aan de bovenkant, ziet u alleen de relevante gegevens. U zet deze filters weer terug op default door op de naam van het betreffende filter te klikken. U kunt ook nog het aantal requests per pagina aanpassen. Requests die een foutmelding bevatten worden getoond in rood (resultCode 2) zoals in het voorbeeld hierboven, requests zonder fouten maar zonder resultaat worden getoond in blauw (resultCode 1). Alle overige requests staan in standaard tekstkleur. Door te klikken op de handle of de gebruikersnaam, gaat u direct naar deze relaties in ons systeem. Door op de datum te klikken of het detail icoon (vergrootglas) komt u in het detailscherm.
De getoonde tijd is de tijd uitgedrukt in de seconden die nodig waren om het request te verwerken. De meeste requests nemen minder dan een seconde in beslag. Er zijn echter operaties zoals checkSSLCertificateCSR, getSSLCertificateApproverList, orderSSLCertificate, resendEmailSSLCertificate en replaceSSLCertificate die meerdere seconden kunnen duren omdat wij op onze beurt de API van de Certificaat Autoriteit (CA) moeten raadplegen alvorens met een resultaat te komen.
9.2Detailscherm Het detailscherm toont alle details van uw request en de response van de API. Zowel request als response worden beiden getoond in een XML structuur, zoals die tevens gebruikt wordt in deze documentatie, zie sectie 3.
Uit veiligheidsoverweging laten we hier bij de Request en Response geen wachtwoorden zien. Alle informatie omtrent uw request en de API response wordt hier getoond, alsook de informatie uit het overzicht. Dit detailscherm kan u helpen uw API processen te analyseren in het geval er mogelijk iets mis is gegaan.