É possível simular a interação de um usuário curtindo ou descurtindo um review de produto. Essa é uma manifestação que o usuário pode ter, deixando uma interação positiva (curtir) ou negativa (não curtiu);


Endpoint: POST /reviewvote/vote

ReviewVote

Nó principal do objeto pedido


Campo
Descrição
Obrigatório?
Tipo
ReviewId    
Id do review em que está sendo feita a interação
Sim
int
Like
Se for "true" representa uma interação positiva (curtida). Caso se "false" representa uma interação negativa (não curti)
Sim
bool
UserIP
IP do usuário que está executando a interação. É importante para evitar duplicidade na interação. Um mesmo IP não pode votar mais de uma vez em um review.
Sim
string


Exemplo de chamada

{  
  "ReviewId": 123456789,
  "Like":true,
  "UserIP":"243.241.240.101"  
}

A chamada acima representa uma curtida (Like=true) no Review especificado (ReviewId) realizado pelo usuário cujo IP é informado pelo campo UserIP.


Resposta da chama

O retorno da chamada irá trazer os dados da interação, juntamente com a quantidade de interações positivas e negativas, dessa forma, facilitando a atualização da informação na fonte da chamada.

{
    "HasErrors": false,
    "Element": {
        "ReviewId": 1234567890,
        "Like": true,
        "UserIP": "243.241.240.101",
        "TotalLikes": 2,
        "TotalDislikes": 3
    },
    "ErrorList": [],
    "Total": 0,
    "CurrentPage": 0
}

No exemplo acima, "TotalLikes" representa a quantidade de interações positivas que o review já teve, enquanto "TotalDislikes" representa o total negativo.

IMPORTANTE: Caso o mesmo usuário (IP) tente fazer mais de uma interação, não será retornado um erro, no entanto o número de Likes/Dislikes se manterá o mesmo.