Escapetalk review API uitleg
Met de review API kun je, indien je een abonnement hebt, reviews of scores van je locatie(s) of kamer(s) op je eigen website tonen. De API retourneert een JSON string met info over de locatie/kamer en alle reviews die hieraan gekoppeld zijn. Deze kun je vervolgens net zo tonen als je wil.
Authenticatie
Als eigenaar van een locatie, met een actief abonnement, kun je bij instellingen een API code genereren.
De 'apikey' wordt gebruikt om verzoeken te authentiseren. apikey* Standaard: geen standaard waarde;
Parameters
Er kunnen verschillende parameters aan een API call worden meegegeven.
De reviews API heeft sowieso een ID nodig van een locatie of kamer.
- Kamer (room_id): Alle reviews van deze kamer worden opgehaald.
- Locatie (loc_id): Alle reviews, van alle aan deze locatie gekoppelde kamers, worden opgehaald.
Je stuurt een locatie (loc_id) mee als je de data van alle kamers die aan de locatie gekoppeld zijn op wilt halen. loc_id* Standaard: geen standaard waarde; Accepteert: Numerieke waarde;
Je stuurt een kamer (room_id) mee als je de data van een specifieke kamer wilt opvragen. room_id* Standaard: geen standaard waarde; Accepteert: Numerieke waarde;
Met de 'max_score' parameter kun je aangeven dat je alleen reviews tot een bepaalde score terug wilt ontvangen. In de praktijk zal je dit niet snel gebruiken :) max_score Standaard: geen standaard waarde; Accepteert: Numerieke waarde (0-10);
Met de 'min_score' parameter kun je aangeven dat alleen reviews vanaf een bepaalde score meegestuurd mogen worden. Handig als je bepaalde minder positieve reviews liever niet op je site terug ziet. min_score Standaard: geen standaard waarde; Accepteert: Numerieke waarde (0-10);
Hiermee kun je uitsluiten dat specifieke reviews meegenomen worden. exclude_reviews Standaard: geen standaard waarde; Accepteert: Numerieke waardes; Accepteert meerdere id's als deze gescheiden zijn door komma's;
Hiermee kun je aangeven dat alleen deze specifieke reviews meegenomen worden. include_reviews Standaard: geen standaard waarde; Accepteert: Numerieke waardes; Accepteert meerdere id's als deze gescheiden zijn door komma's;
'sort_type' sorteert standaard op de laatste bezoekdatum ('visit_date'). Optioneel kun je sorteren op 'score' of op de datum van het plaatsen van de review ('review_date'). sort_type Standaard: 'visit_date'; Accepteert: ['visit_date', 'score', 'review_date'];
'sort' bepaald of het sorteren van boven naar beneden of andersom wordt uitgevoerd. Deze waarde staat standaard op 'DESC' (omlaag) sort Standaard: 'DESC'(Descending); Accepteert: ['ASC', 'DESC'];
De waarde die je aan de 'limit' parameter meegeeft bepaald hoeveel reviews er maximaal teruggestuurd worden. limit Standaard: geen standaard waarde; Accepteert: Numerieke waardes;
De startdatum vanaf welke datum je de reviews wilt ontvangen from Standaard: geen standaard waarde; Accepteert: Een datum;
De einddatum tot welke datum je de reviews wilt ontvangen to Standaard: geen standaard waarde; Accepteert: Een datum;
Reactie
Geeft een lijst met reviews als JSON terug.
Een voorbeeld van de JSON reactie er uit zou kunnen zien. {"room_info":{
"title":"Best Escape Room Ever",
"description":"Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus id lorem laoreet, placerat quam...",
"loc_slug":"escaperoom-location",
"room_slug":"escaperoom-room",
"link":"https://escapetalk.nl/escaperoom/escaperoom-location/escaperoom-room/",
"score":9.5,
"sfeer":9,
"spelbeleving":9,
"service":9.80
},
"total_review_count":"55",
"reviews":[
{
"id":"22",
"title":"title",
"description":"description",
"score":"10.0",
"sfeer":"10.0",
"spelbeleving":"10.0",
"service":"10.0",
"review_date":"2021-08-01",
"visit_date":"June 2021",
"escaped":"ja",
"nickname":"Name of reviewer",
"review_link":"https://escapetalk.nl/escaperoom/escaperoom-location/escaperoom-room/#rev_22"
},
... //more reviews would follow in the same format
]
}
Voorbeeld
Een voorbeeld van PHP code om de API aan te roepen. Dit kan natuurlijk ook in JavaScript gedaan worden. $url = 'https://escapetalk.nl/api/reviews/';
$data = array(
'apikey' => 'REPLACE_WITH_YOUR_API_KEY',
'loc_id' => '319',
'max_score' => '10',
'min_score' => '10',
'exclude_reviews' => '',
'include_reviews' => '',
'sort_type' => 'review_date',
'sort' => 'desc',
'limit' => '10'
);
$options = array(
'http' => array(
'header' => 'Content-type: application/x-www-form-urlencoded',
'method' => 'POST',
'content' => http_build_query($data)
)
);
$context = stream_context_create($options);
$result = file_get_contents($url, false, $context);
$result = json_decode($result);