User API guide/sv: Difference between revisions

Created page with "= '''ANVÄNDARE/ADMIN API ([https://simplybook.me/api/doc#/admin FÖRETAGSADMINISTRATIONSTJÄNST]) AUTORISATION''' = <br><br> == '''Auktorisering från klientens kod''' == <br><br> '''Hämta token-nyckeln.''' <br><br> <nowiki>var loginClient = new JSONRpcClient({ 'url': 'https://user-api.simplybook.me' + '/login', 'onerror': function (error) {}, }); var token = loginClient.getUserToken(YOUR_COMPANY_LOGIN, YOUR_USER_LOGIN, YOUR_USER_PASSWORD);</nowiki> <br><br>"
Created page with "'''Initialisering av JSON-RPC-klient'''. <br><br> <nowiki>this.client = new JSONRpcClient({ 'url': 'https://user-api.simplybook.me' + '/admin/', 'headers': { 'X-Company-Login': YOUR_COMPANY_LOGIN, 'X-User-Token': token }, 'onerror': function (error) {} });</nowiki> <br><br>"
Tags: Mobile edit Mobile web edit
 
(5 intermediate revisions by the same user not shown)
Line 188: Line 188:
<br><br>
<br><br>


<div lang="en" dir="ltr" class="mw-content-ltr">
När en kund klickar på knappen Bekräfta bokning måste du anropa metoden book. Detta är huvudfunktionen som utför alla nödvändiga valideringar och registrerar en ny bokning i Simplybook-systemet. Den tar information om bokningen, kunddata som namn och telefonnummer samt några ytterligare parametrar. Se alla parametrarbeskrivningar för denna metod i [https://simplybook.me/api/doc listan över API-funktioner]. Svaret från bokningsmetoden innehåller en unik kod och andra detaljer om den nya bokningen eller en lista över fel om några problem har uppstått, så att du kan använda denna information för att visa bokningsresultatet för kunden på ett bekvämt och intuitivt sätt.
When a client clicks confirm booking button you have to call book method. This is the main function which performs all necessary validations and registers a new booking in Simplybook system. It takes information about booking, client data like name and phone and some additional params. See all params descriptions of this method in [https://simplybook.me/api/doc API functions list]. The book method responce contains an uniqe code and other details of the new booking or the list of errors if some problems occured, so you can use this information to show booking result to a client in convinient and intuitive way.
<br><br><br>
<br><br><br>
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
= '''ANVÄNDNING AV API-HEMLIG NYCKEL''' =
='''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.
I vissa fall kan bokningsmetoden kräva bekräftelse, t.ex. om du accepterar betalningar från kunder bekräftar du bokningen först efter att betalningen har kommit in. Simplybook API:s bekräftelsemetod tar boknings-id och säker signatur som parametrar (en annan metod som kräver säker signatur är cancelBookng). För att generera en säker signatur måste du använda din hemliga API-nyckel. Se hur det går till i exemplet nedan. Du hittar den hemliga nyckeln i admin-gränssnittet under länken "Inställningar" i API-anpassade funktioner i listan "Anpassade funktioner".
<br><br>
<br><br>
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
'''Kodexempel på bokning av tjänst och bekräftelse med hjälp av hemlig API-nyckel'''
'''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; 'Kundnamn',
'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 '
Bekräfta resultat
Confirm result
';
';
  var_dump($result);
var_dump($result);
    }
}
}</nowiki>
}</nowiki>
<br><br>
<br><br>
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
'''Kodexempel för att hämta intagsformulär'''
'''Code example of getting intake forms'''
<br><br>
<br><br>
  <nowiki>$fields = $client->getAdditionalFields($eventId);
  <nowiki>$fields = $client-&gt;getAdditionalFields($eventId);
// returns - array(array(
// returnerar - array(array(
// 'name' => 'b0657bafaec7a2c9800b923f959f8163', - field name
// 'name' =&gt; 'b0657bafaec7a2c9800b923f959f8163', - fältnamn
// 'title' => 'Test digits', - field title
// 'title' =&gt; 'Test digits', - fälttitel
// 'type' => 'digits', - field type
// 'type' =&gt; 'digits', - fälttyp
// 'values' => null, - available values for select field type
// 'values' =&gt; null, - tillgängliga värden för fält av typ select
// 'default' => null, - default value for field
// 'default' =&gt; null, - standardvärde för fält
// 'is_null' => null, - is filed nullable
// 'is_null' =&gt; null, - kan fältet vara tomt
// 'on_main_page' => 1,  
// 'on_main_page' =&gt; 1,  
// 'pos' => 1, - field position
// 'pos' =&gt; 1, - fältets position
// 'value' => null
// 'value' =&gt; null
// )), ...)</nowiki>
// )), ...)</nowiki>
<br><br><br>
<br><br><br>
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
= '''SIMPLYBOOK ANPASSADE FUNKTIONER''' =
='''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.
Om ditt företag behöver ytterligare funktioner kan du aktivera några av våra extra anpassade funktioner. En komplett lista över anpassade funktioner med detaljerade beskrivningar finns i administratörsgränssnittet under länken "Anpassade funktioner". När den önskade anpassade funktionen har aktiverats aktiveras motsvarande API-metoder så att du kan använda dem i din kod.
<br><br><br>
<br><br><br>
='''BOOKING FUNCTIONALITY CODEFLOW'''=
= '''KODFLÖDE FÖR BOKNINGSFUNKTIONER''' =
<br><br>
<br><br>
Authorize in Simplybook API using '''loginClient.getToken(companyLogin, apiKey);''' function.
Auktorisera i Simplybook API med funktionen '''loginClient.getToken(companyLogin, apiKey);'''.
</div>




<div lang="en" dir="ltr" class="mw-content-ltr">
Kontrollera om tjänstekategorierna Anpassad funktion är aktiverade med [https://simplybook.me/en/api/doc#isPluginActivated isPluginActivated("event_category")]. Om ja, visa listan över kategorier med [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">
Hämta en lista över tjänster (evenemang) och utförare (enheter) med hjälp av funktionerna [https://simplybook.me/en/api/doc#getEventList getEventList()] och [https://simplybook.me/en/api/doc#getUnitList getUnitList()]. Om arrayen "unit_map" är tillgänglig för en tjänst betyder det att denna tjänst endast kan tillhandahållas av angivna utförare.
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">
Om någon anpassad funktion för val av anställd är aktiverad [https://simplybook.me/en/api/doc#isPluginActivated isPluginActivated("any_unit")] och ingen särskild varaktighet är angiven för paret tjänsteleverantör-tjänsteutförare i matrisen "unit_map", ska användaren kunna välja alternativet Valfri leverantör eller välja leverantör manuellt. Manuell val av tjänsteutförare ska dock inte vara möjligt om [https://simplybook.me/en/api/doc#getCompanyParam getCompanyParam("any_unit__hide_other_units")] är aktiverat.
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">
Använd [https://simplybook.me/en/api/doc#getStartTimeMatrix getStartTimeMatrix ($from som aktuellt datum, $to som aktuellt datum, $eventId, $unitId, $count som valt deltagarantal)] för att få tillgängliga tidsluckor för ett visst datum. '''$unitId''' ska vara null om alternativet Alla anställda är valt.
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">
Om valet "Alla anställda" är aktivt och någon anställd har valts, anropa [https://simplybook.me/en/api/doc#getAvailableUnits getAvailableUnits($eventId, $dateTime, $count)] för att hämta tillgängliga $unitId
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">
Om den anpassade funktionen Intake Forms är aktiverad, anropa [https://simplybook.me/en/api/doc#isPluginActivated isPluginActivated("event_field")] och funktionen [https://simplybook.me/en/api/doc#getAdditionalFields getAdditionalFields($eventId)] för att hämta listan över fält som kunden ska fylla i.
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">
Ring [https://simplybook.me/en/api/doc#book bokning($eventId, $unitId, $date, $time, $clientData, $additional, $count, $batchId)] för att göra en bokning.
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>