User API guide/fr: Difference between revisions

Created page with "'''Exemple de code pour obtenir la liste des services''' <br><br> <nowiki>$services = $client->getEventList(); // renvoie array(array( // 'id' => 1, - identifiant du service // 'name' => 'Service 1', - nom du service // 'description' => 'Describe your service...', - description du service // 'duration' => 60, - durée du service // 'hide_duration' => 0, - drapeau permettant de masquer la durée aux clients, // 'picture' => nu..."
Tags: Mobile edit Mobile web edit
Created page with "'''Exemple de code pour obtenir les formulaires d'inscription''' <br><br> <nowiki>$fields = $client->getAdditionalFields($eventId); // renvoie - array(array( // 'name' => 'b0657bafaec7a2c9800b923f959f8163', - nom du champ // 'title' => 'Test digits', - titre du champ // 'type' => 'digits', - type de champ // 'values' => null, - valeurs disponibles pour le type de champ de sélection // 'default' => null, - valeur par défaut pour le champ // 'is_..."
 
(8 intermediate revisions by the same user not shown)
Line 191: Line 191:
<br><br><br>
<br><br><br>


<div lang="en" dir="ltr" class="mw-content-ltr">
= '''UTILISATION DE LA CLÉ SECRÈTE API''' =
='''USING OF API SECRET KEY'''=
<br><br>
<br><br>
In some cases the book method may require the confirmation, e.g. if your accept payments from clients you confirm booking only after the payment is already came. The Simplybook API confirmBookng method takes booking-id and secure signature as params (another method which requires secure signature is cancelBookng). For the secure signature generation your secret API-key should be used. See how it can be done in the example below. You can find the secret key at admin interface under 'Settings' link of API Custom Feature in 'Custom Features' list.
Dans certains cas, la méthode de réservation peut nécessiter une confirmation, par exemple si vous acceptez les paiements de vos clients et que vous ne confirmez la réservation qu'après réception du paiement. La méthode confirmBookng de l'API Simplybook prend comme paramètres l'identifiant de la réservation et une signature sécurisée (une autre méthode qui nécessite une signature sécurisée est cancelBookng). Pour générer une signature sécurisée, vous devez utiliser votre clé API secrète. Découvrez comment procéder dans l'exemple ci-dessous. Vous trouverez la clé secrète dans l'interface d'administration, sous le lien « Paramètres » de la fonctionnalité API personnalisée dans la liste « Fonctionnalités personnalisées ».
<br><br>
<br><br>
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
'''Exemple de code pour la réservation d'un service et sa confirmation à l'aide d'une clé API secrète'''
'''Code example of service booking and its confirmation using secret API key'''
<br><br>
<br><br>
  <nowiki>$additionalFields = array(
  <nowiki>$additionalFields = array(
'6740d3bce747107ddb9a789cbb78abf3' => 'value1',  
'6740d3bce747107ddb9a789cbb78abf3' =&gt; 'value1',  
'b0657bafaec7a2c9800b923f959f8163' => 'value2'
'b0657bafaec7a2c9800b923f959f8163' =&gt; 'value2'
);
);
$clientData = array(
$clientData = array(
'name' => 'Client name',
'name' =&gt; 'Nom du client',
'email' => 'client@email.com',
'email' =&gt; 'client@email.com',
'phone' => '+13152108338'
'phone' =&gt; '+13152108338'
);
);
$bookingsInfo = $client->book($eventId, $unitId, $date, $time, $clientData, $additionalFields);
$bookingsInfo = $client-&gt;book($eventId, $unitId, $date, $time, $clientData, $additionalFields);
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
if ($bookingsInfo-&gt;require_confirm) {
if ($bookingsInfo->require_confirm) {
foreach ($bookingsInfo-&gt;bookings as $booking) {
  foreach ($bookingsInfo->bookings as $booking) {
$sign = md5($booking-&gt;id . $booking-&gt;hash . YOUR_API_SECRET_KEY);
  $sign = md5($booking->id . $booking->hash . YOUR_API_SECRET_KEY);
$result = $client-&gt;confirmBooking($booking-&gt;id, $sign);
  $result = $client->confirmBooking($booking->id, $sign);
echo '
  echo '
Confirm result
Confirm result
';
';
  var_dump($result);
var_dump($result);
    }
}
}</nowiki>
}</nowiki>
<br><br>
<br><br>
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
'''Exemple de code pour obtenir les formulaires d'inscription'''
'''Code example of getting intake forms'''
<br><br>
<br><br>
  <nowiki>$fields = $client->getAdditionalFields($eventId);
  <nowiki>$fields = $client-&gt;getAdditionalFields($eventId);
// returns - array(array(
// renvoie - array(array(
// 'name' => 'b0657bafaec7a2c9800b923f959f8163', - field name
// 'name' =&gt; 'b0657bafaec7a2c9800b923f959f8163', - nom du champ
// 'title' => 'Test digits', - field title
// 'title' =&gt; 'Test digits', - titre du champ
// 'type' => 'digits', - field type
// 'type' =&gt; 'digits', - type de champ
// 'values' => null, - available values for select field type
// 'values' =&gt; null, - valeurs disponibles pour le type de champ de sélection
// 'default' => null, - default value for field
// 'default' =&gt; null, - valeur par défaut pour le champ
// 'is_null' => null, - is filed nullable
// 'is_null' =&gt; null, - champ pouvant être vide
// 'on_main_page' => 1,  
// 'on_main_page' =&gt; 1,  
// 'pos' => 1, - field position
// 'pos' =&gt; 1, - position du champ
// 'value' => null
// 'value' =&gt; null
// )), ...)</nowiki>
// )), ...)</nowiki>
<br><br><br>
<br><br><br>
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
= '''FONCTIONNALITÉS PERSONNALISÉES SIMPLYBOOK''' =
='''SIMPLYBOOK CUSTOM FEATURES'''=
<br><br>
<br><br>
If your company specific requires some additional functionality you can activate some of our additional Custom Features. The complete Custom Features list with detailed description is avaiable in your admin interface under the 'Custom Feature' link. After the necessary Custom Feature is enabled the corresponding API methods will be activated so you can use them in your code.
Si votre entreprise a besoin de fonctionnalités supplémentaires, vous pouvez activer certaines de nos fonctionnalités personnalisées. La liste complète des fonctionnalités personnalisées avec une description détaillée est disponible dans votre interface d'administration sous le lien « Fonctionnalités personnalisées ». Une fois la fonctionnalité personnalisée nécessaire activée, les méthodes API correspondantes seront activées afin que vous puissiez les utiliser dans votre code.
<br><br><br>
<br><br><br>
='''BOOKING FUNCTIONALITY CODEFLOW'''=
= '''FONCTIONNALITÉ DE RÉSERVATION CODEFLOW''' =
<br><br>
<br><br>
Authorize in Simplybook API using '''loginClient.getToken(companyLogin, apiKey);''' function.
Autorisez l'accès à l'API Simplybook à l'aide de la fonction '''loginClient.getToken(companyLogin, apiKey) ;'''.
</div>




<div lang="en" dir="ltr" class="mw-content-ltr">
Vérifiez si la fonctionnalité personnalisée Catégories de services est activée par [https://simplybook.me/en/api/doc#isPluginActivated isPluginActivated("event_category")]. Si oui, affichez la liste des catégories [https://simplybook.me/en/api/doc#getCategoriesList getCategoriesList()].
Check if Service categories Custom Feature is activated by [https://simplybook.me/en/api/doc#isPluginActivated isPluginActivated("event_category")] if yes then display list of categories [https://simplybook.me/en/api/doc#getCategoriesList getCategoriesList()].
</div>




<div lang="en" dir="ltr" class="mw-content-ltr">
Obtenir la liste des services (événements) et des prestataires (unités) à l'aide des fonctions [https://simplybook.me/en/api/doc#getEventList getEventList()] et [https://simplybook.me/en/api/doc#getUnitList getUnitList()]. Si le tableau « unit_map » est disponible pour un service, cela signifie que ce service ne peut être fourni que par les prestataires indiqués.
Get list of services (events) and performers (units) using [https://simplybook.me/en/api/doc#getEventList getEventList()] and [https://simplybook.me/en/api/doc#getUnitList getUnitList()] functions. If "unit_map" array is available for service it means this service can be provided by given performers only.
</div>






<div lang="en" dir="ltr" class="mw-content-ltr">
Si la fonctionnalité personnalisée Any Employee Selector est activée [https://simplybook.me/en/api/doc#isPluginActivated isPluginActivated("any_unit")] et qu'aucune durée particulière n'est définie pour la paire service-prestataire dans le tableau « unit_map », l'utilisateur doit pouvoir sélectionner l'option Any provider (Tout prestataire) ou choisir manuellement un prestataire. Cependant, la sélection manuelle des prestataires ne doit pas être possible si [https://simplybook.me/en/api/doc#getCompanyParam getCompanyParam("any_unit__hide_other_units")] est activé.
If Any Employee Selector Custom Feature is activated [https://simplybook.me/en/api/doc#isPluginActivated isPluginActivated("any_unit")] and no special duration is set for service-performer pair in "unit_map" array then user should be allowed to select Any provider option or choose provider manually. But manual selection of performers should not be possible if [https://simplybook.me/en/api/doc#getCompanyParam getCompanyParam("any_unit__hide_other_units")] is enabled.
</div>




<div lang="en" dir="ltr" class="mw-content-ltr">
Utilisez [https://simplybook.me/en/api/doc#getStartTimeMatrix getStartTimeMatrix ($from comme date actuelle, $to comme date actuelle, $eventId, $unitId, $count comme valeur des participants sélectionnés)] pour obtenir les créneaux horaires disponibles pour une date donnée. '''$unitId''' doit être nul si l'option « Tout employé » est sélectionnée.
Use [https://simplybook.me/en/api/doc#getStartTimeMatrix getStartTimeMatrix ($from as current date, $to as current date, $eventId, $unitId, $count as selected participants value )] to get available timeslots for given date. '''$unitId''' should be null if Any employee option is selected.
</div>




<div lang="en" dir="ltr" class="mw-content-ltr">
Si le sélecteur « Any Employee » (Tout employé) est actif et qu'un employé a été sélectionné, appelez [https://simplybook.me/en/api/doc#getAvailableUnits getAvailableUnits($eventId, $dateTime, $count)] pour obtenir le $unitId disponible
If Any Employee selector is active and Any employee was selected call [https://simplybook.me/en/api/doc#getAvailableUnits getAvailableUnits($eventId, $dateTime, $count)] to get available $unitId
</div>






<div lang="en" dir="ltr" class="mw-content-ltr">
Si la fonctionnalité personnalisée des formulaires de saisie est activée, [https://simplybook.me/en/api/doc#isPluginActivated isPluginActivated("event_field")] appelle la fonction [https://simplybook.me/en/api/doc#getAdditionalFields getAdditionalFields($eventId)] pour obtenir la liste des champs à remplir par le client.
If Intake Forms Custom Feature is activated [https://simplybook.me/en/api/doc#isPluginActivated isPluginActivated("event_field")] call [https://simplybook.me/en/api/doc#getAdditionalFields getAdditionalFields($eventId)] function to get list of fields for client to fill.
</div>




<div lang="en" dir="ltr" class="mw-content-ltr">
Appelez [https://simplybook.me/en/api/doc#book book($eventId, $unitId, $date, $time, $clientData, $additional, $count, $batchId)] pour effectuer une réservation.
Call [https://simplybook.me/en/api/doc#book book($eventId, $unitId, $date, $time, $clientData, $additional, $count, $batchId)] to make a booking.
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
<br><br>
<br><br>
</div>