User API guide/sv: Difference between revisions
Created page with "Använd vårt utvecklings-API för att skapa ditt eget bokningsgränssnitt. Du kan utforma vilken lösning du vill, från den enklaste widgeten till en multifunktionell applikation med funktioner anpassade efter just ditt företag." |
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 |
||
| (6 intermediate revisions by the same user not shown) | |||
| Line 152: | Line 152: | ||
<br><br> | <br><br> | ||
<nowiki>$year = 2015; | |||
<nowiki>$year = 2015; | $month = 3; // mars | ||
$month = 3; // | $performerId = 1; // Kan vara null | ||
$performerId = 1; // | $workDaysInfo = $client->getWorkCalendar($year, $month, $performerId); | ||
$workDaysInfo = $client- | // returnerar array( | ||
// | // '2015-03-01' => array('from' => '09:00:00', 'to' => '18:00:00', 'is_day_off' => 0), | ||
// '2015-03-01' = | // '2015-03-02' => array('from' => '09:00:00', 'to' => '18:00:00', 'is_day_off' => 0), | ||
// '2015-03-02' = | |||
// ... | // ... | ||
//);</nowiki> | //);</nowiki> | ||
<br><br> | <br><br> | ||
''' | '''Kodexempel för att hämta starttidsmatris''' | ||
<br><br> | <br><br> | ||
<nowiki>$dateFrom = '2015-03-03'; | <nowiki>$dateFrom = '2015-03-03'; | ||
| Line 170: | Line 169: | ||
$performerId = 1; | $performerId = 1; | ||
$qty = 1; | $qty = 1; | ||
$availableTime = $client- | $availableTime = $client->getStartTimeMatrix($dateFrom, $dateTo, $serviceId, $performerId, $qty); | ||
// | // returnerar array( | ||
// '2015-03-03' = | // '2015-03-03' => array('09:00:00', '09:30:00', '10:00:00', ....), | ||
// '2015-03-04' = | // '2015-03-04' => array('09:00:00', '09:30:00', '10:00:00', ....), | ||
//);</nowiki> | //);</nowiki> | ||
<br><br> | <br><br> | ||
En annan användbar metod som du kan behöva är calculateEndTime. Varje tjänst kan ha sin egen varaktighet, och dina anställda kan ha olika arbetsscheman från dag till dag. Med den här metoden kan du visa en kund slutdatum och sluttid för den tjänst han eller hon har bokat på ett korrekt sätt. | |||
<br><br> | <br><br> | ||
''' | '''Kodexempel för beräkning av bokningens sluttid''' | ||
<br><br> | <br><br> | ||
<nowiki>$startDateTime = '2015-03-03 09:00:00'; | <nowiki>$startDateTime = '2015-03-03 09:00:00'; | ||
$serviceId = 1; | $serviceId = 1; | ||
$performerId = 1; | $performerId = 1; | ||
$availableTime = $client- | $availableTime = $client->calculateEndTime($startDateTime, $serviceId, $performerId); | ||
// | // returnerar '2015-03-03 10:00:00' | ||
</nowiki> | </nowiki> | ||
<br><br> | <br><br> | ||
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. | |||
<br><br><br> | <br><br><br> | ||
= '''ANVÄNDNING AV API-HEMLIG NYCKEL''' = | |||
=''' | |||
<br><br> | <br><br> | ||
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> | ||
'''Kodexempel på bokning av tjänst och bekräftelse med hjälp av hemlig API-nyckel''' | |||
''' | |||
<br><br> | <br><br> | ||
<nowiki>$additionalFields = array( | <nowiki>$additionalFields = array( | ||
'6740d3bce747107ddb9a789cbb78abf3' = | '6740d3bce747107ddb9a789cbb78abf3' => 'value1', | ||
'b0657bafaec7a2c9800b923f959f8163' = | 'b0657bafaec7a2c9800b923f959f8163' => 'value2' | ||
); | ); | ||
$clientData = array( | $clientData = array( | ||
'name' = | 'name' => 'Kundnamn', | ||
'email' = | 'email' => 'client@email.com', | ||
'phone' = | 'phone' => '+13152108338' | ||
); | ); | ||
$bookingsInfo = $client- | $bookingsInfo = $client->book($eventId, $unitId, $date, $time, $clientData, $additionalFields); | ||
if ($bookingsInfo->require_confirm) { | |||
if ($bookingsInfo- | foreach ($bookingsInfo->bookings as $booking) { | ||
$sign = md5($booking->id . $booking->hash . YOUR_API_SECRET_KEY); | |||
$result = $client->confirmBooking($booking->id, $sign); | |||
echo ' | |||
Bekräfta resultat | |||
'; | '; | ||
var_dump($result); | |||
} | |||
}</nowiki> | }</nowiki> | ||
<br><br> | <br><br> | ||
'''Kodexempel för att hämta intagsformulär''' | |||
''' | |||
<br><br> | <br><br> | ||
<nowiki>$fields = $client- | <nowiki>$fields = $client->getAdditionalFields($eventId); | ||
// | // returnerar - array(array( | ||
// 'name' = | // 'name' => 'b0657bafaec7a2c9800b923f959f8163', - fältnamn | ||
// 'title' = | // 'title' => 'Test digits', - fälttitel | ||
// 'type' = | // 'type' => 'digits', - fälttyp | ||
// 'values' = | // 'values' => null, - tillgängliga värden för fält av typ select | ||
// 'default' = | // 'default' => null, - standardvärde för fält | ||
// 'is_null' = | // 'is_null' => null, - kan fältet vara tomt | ||
// 'on_main_page' = | // 'on_main_page' => 1, | ||
// 'pos' = | // 'pos' => 1, - fältets position | ||
// 'value' = | // 'value' => null | ||
// )), ...)</nowiki> | // )), ...)</nowiki> | ||
<br><br><br> | <br><br><br> | ||
= '''SIMPLYBOOK ANPASSADE FUNKTIONER''' = | |||
='''SIMPLYBOOK | |||
<br><br> | <br><br> | ||
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> | ||
=''' | = '''KODFLÖDE FÖR BOKNINGSFUNKTIONER''' = | ||
<br><br> | <br><br> | ||
Auktorisera i Simplybook API med funktionen '''loginClient.getToken(companyLogin, apiKey);'''. | |||
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()]. | |||
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. | |||
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. | |||
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. | |||
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 | |||
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. | |||
Ring [https://simplybook.me/en/api/doc#book bokning($eventId, $unitId, $date, $time, $clientData, $additional, $count, $batchId)] för att göra en bokning. | |||
<br><br> | <br><br> | ||