List order reviews
curl --request GET \
--url https://api.service.getjusto.com/v3/ecommerce/reviews \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.service.getjusto.com/v3/ecommerce/reviews"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.service.getjusto.com/v3/ecommerce/reviews', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.service.getjusto.com/v3/ecommerce/reviews",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.service.getjusto.com/v3/ecommerce/reviews"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.service.getjusto.com/v3/ecommerce/reviews")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.service.getjusto.com/v3/ecommerce/reviews")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"success": true,
"data": {
"items": [
{
"_id": "<string>",
"websiteId": "<string>",
"storeId": "<string>",
"orderId": "<string>",
"orderCode": "#1234-05",
"orderDate": "2020-01-01T00:00:00.000Z",
"rating": 1,
"comment": "<string>",
"ratingReason": {
"value": "disliked",
"label": "No me gustó.",
"resumeLabel": "No gustó el pedido"
},
"deliveryRating": 1,
"deliveryComment": "<string>",
"ratingDeliveryReason": {
"value": "disliked",
"label": "No me gustó.",
"resumeLabel": "No gustó el pedido"
},
"npsRating": 5,
"hasManagedDelivery": true,
"customReviews": [
{
"reviewQuestionId": "<string>",
"question": "<string>",
"rating": 1,
"reason": "<string>",
"comment": "<string>"
}
],
"createdAt": "2020-01-01T00:00:00.000Z",
"updatedAt": "2020-01-01T00:00:00.000Z",
"completedAt": "2020-01-01T00:00:00.000Z"
}
],
"hasNextPage": true,
"hasPreviousPage": true,
"totalPages": 123,
"totalCount": 123
}
}{
"success": "false",
"error": {
"error": "error",
"message": "The request has an error"
}
}Valoraciones
List order reviews
Lista las valoraciones de pedidos ecommerce de la marca autorizada: nota de la comida, nota del delivery, NPS, motivos, comentarios y preguntas personalizadas. Se ordenan de la más reciente a la más antigua. La data siempre queda limitada a la marca y a los locales de la autorización.
GET
/
ecommerce
/
reviews
List order reviews
curl --request GET \
--url https://api.service.getjusto.com/v3/ecommerce/reviews \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.service.getjusto.com/v3/ecommerce/reviews"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.service.getjusto.com/v3/ecommerce/reviews', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.service.getjusto.com/v3/ecommerce/reviews",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.service.getjusto.com/v3/ecommerce/reviews"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.service.getjusto.com/v3/ecommerce/reviews")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.service.getjusto.com/v3/ecommerce/reviews")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"success": true,
"data": {
"items": [
{
"_id": "<string>",
"websiteId": "<string>",
"storeId": "<string>",
"orderId": "<string>",
"orderCode": "#1234-05",
"orderDate": "2020-01-01T00:00:00.000Z",
"rating": 1,
"comment": "<string>",
"ratingReason": {
"value": "disliked",
"label": "No me gustó.",
"resumeLabel": "No gustó el pedido"
},
"deliveryRating": 1,
"deliveryComment": "<string>",
"ratingDeliveryReason": {
"value": "disliked",
"label": "No me gustó.",
"resumeLabel": "No gustó el pedido"
},
"npsRating": 5,
"hasManagedDelivery": true,
"customReviews": [
{
"reviewQuestionId": "<string>",
"question": "<string>",
"rating": 1,
"reason": "<string>",
"comment": "<string>"
}
],
"createdAt": "2020-01-01T00:00:00.000Z",
"updatedAt": "2020-01-01T00:00:00.000Z",
"completedAt": "2020-01-01T00:00:00.000Z"
}
],
"hasNextPage": true,
"hasPreviousPage": true,
"totalPages": 123,
"totalCount": 123
}
}{
"success": "false",
"error": {
"error": "error",
"message": "The request has an error"
}
}Lista las valoraciones de los pedidos ecommerce de la marca autorizada: la nota de la comida, la nota del delivery, el NPS, los motivos, los comentarios y las respuestas a las preguntas personalizadas. Es la misma información que muestra la pestaña Valoraciones del panel de Justo.
Requiere el permiso
admin. La data queda siempre limitada a la marca y a los locales de la autorización, sin enviar websiteId en la request.
Paginación
Las valoraciones vienen ordenadas de la más reciente a la más antigua, con un orden estable entre páginas. Usapage y limit (20 por defecto, máximo 100) y avanza mientras hasNextPage sea true.
Sincronizar valoraciones nuevas
Para traer valoraciones periódicamente, consulta confromDate igual a la fecha de tu última sincronización y recorre todas las páginas.
El cliente puede modificar su valoración hasta 2 horas después de su última respuesta. Si la valoración viene sin completedAt, el cliente no la marcó como terminada y puede seguir cambiando. Para tener la versión final, vuelve a consultar ese período pasadas 2 horas. Hay valoraciones que nunca se marcan como terminadas: si filtras solo las que traen completedAt, las pierdes. Usa _id para actualizar valoraciones que ya guardaste en vez de duplicarlas.
Cada valoración trae el orderId, con el que puedes obtener el detalle del pedido en Obtener pedido.Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Query Parameters
Un arreglo con el ID o ID externo de los locales.
Incluir valoraciones creadas desde esta fecha.
Incluir valoraciones creadas hasta esta fecha.
Número de página.
Example:
1
Número de items por página. Max 100. Por defecto: 10.
Example:
10