Hier is een voorbeeld van een WordPress-implementatie waarmee je een formulier maakt voor het invoeren van een lid via de API:
Stap 1: Formulier maken in WordPress
Voeg het volgende codefragment toe aan het bestand functions.php
van je WordPress-thema of gebruik een plugin zoals "Code Snippets" om dit veilig te integreren.
function lid_aanmaken_form_shortcode() {
if ($_SERVER['REQUEST_METHOD'] == 'POST' && isset($_POST['submit_lid'])) {
// API gegevens
$endpoint = 'https://leden.poldersoft.nl/AwareIM/REST/<Klant>/InsertPersoon';
$token = 'eyJhbG…'; // Vervang met jouw API-token
// Data van het formulier
$data = array(
"Token" => $token,
"Naam" => sanitize_text_field($_POST['naam']),
"Voornaam" => sanitize_text_field($_POST['voornaam']),
"Straat" => sanitize_text_field($_POST['straat']),
"HuisNr" => sanitize_text_field($_POST['huisnummer']),
"Postcode" => sanitize_text_field($_POST['postcode']),
"Plaats" => sanitize_text_field($_POST['plaats']),
"Gemeente" => sanitize_text_field($_POST['gemeente']),
"Provincie" => sanitize_text_field($_POST['provincie']),
"DatumGeb" => sanitize_text_field($_POST['geboortedatum']),
"TelNr" => sanitize_text_field($_POST['telefoonnummer']),
"EmailAddress" => sanitize_email($_POST['email']),
"Nummer1" => sanitize_text_field($_POST['nummer1']),
"Voorletters" => sanitize_text_field($_POST['voorletters']),
"Aanhef" => sanitize_text_field($_POST['aanhef']),
"Betaalwijze" => sanitize_text_field($_POST['betaalwijze']),
"Bedrag" => sanitize_text_field($_POST['bedrag'])
);
// API-aanroep
$response = wp_remote_post($endpoint, array(
'method' => 'POST',
'headers' => array(
'Content-Type' => 'application/json',
'Authorization' => 'Bearer ' . $token,
),
'body' => json_encode($data),
'timeout' => 45,
));
// Response verwerken
if (is_wp_error($response)) {
echo '<p>Fout bij het versturen: ' . $response->get_error_message() . '</p>';
} else {
$result = json_decode(wp_remote_retrieve_body($response), true);
if ($result && isset($result['LidNr'])) {
echo '<p>Lid toegevoegd! Lidnummer: ' . esc_html($result['LidNr']) . '</p>';
} else {
echo '<p>Fout: ' . wp_remote_retrieve_body($response) . '</p>';
}
}
}
// Formulier HTML
ob_start(); ?>
<form method="post">
<label>Naam:</label>
<input type="text" name="naam" required>
<label>Voornaam:</label>
<input type="text" name="voornaam" required>
<label>Straat:</label>
<input type="text" name="straat" required>
<label>Huisnummer:</label>
<input type="text" name="huisnummer" required>
<label>Postcode:</label>
<input type="text" name="postcode" required>
<label>Plaats:</label>
<input type="text" name="plaats" required>
<label>Gemeente:</label>
<input type="text" name="gemeente" required>
<label>Provincie:</label>
<input type="text" name="provincie" required>
<label>Geboortedatum (dd-mm-jjjj):</label>
<input type="date" name="geboortedatum" required>
<label>Telefoonnummer:</label>
<input type="text" name="telefoonnummer" required>
<label>Emailadres:</label>
<input type="email" name="email" required>
<label>Nummer1:</label>
<input type="text" name="nummer1" required>
<label>Voorletters:</label>
<input type="text" name="voorletters" required>
<label>Aanhef:</label>
<input type="text" name="aanhef" required>
<label>Betaalwijze:</label>
<select name="betaalwijze" required>
<option value="ideal">iDEAL</option>
<option value="creditcard">Creditcard</option>
<option value="overschrijving">Overschrijving</option>
</select>
<label>Bedrag:</label>
<input type="text" name="bedrag" required>
<button type="submit" name="submit_lid">Lid toevoegen</button>
</form>
return ob_get_clean();
}
add_shortcode('lid_aanmaken_form', 'lid_aanmaken_form_shortcode');
Hoe het werkt
Shortcode toevoegen:
Gebruik de shortcode
[lid_aanmaken_form]
op een WordPress-pagina om het formulier weer te geven.
Formulierverwerking:
Wanneer het formulier wordt ingediend, worden de gegevens verzonden naar het opgegeven API-eindpunt.
De functie
wp_remote_post
wordt gebruikt om de gegevens als JSON naar de API te sturen.
Respons tonen:
Bij een succesvolle aanroep wordt het lidnummer (
LidNr
) en andere gegevens getoond.Bij fouten wordt de foutmelding weergegeven.
Sanitatie:
Alle formulierinvoer wordt gecontroleerd met WordPress-functies zoals
sanitize_text_field
ensanitize_email
om beveiligingsrisico’s te beperken.
Gebruik
Voeg een nieuwe pagina toe in WordPress.
Voeg de shortcode
[lid_aanmaken_form]
in de pagina.Publiceer de pagina en test het formulier.
Met deze oplossing kun je eenvoudig leden invoeren via je WordPress-site met behulp van de API van PolderSoft.