Perguntas e Respostas B2W

Perguntas e Respostas é a Endpoint criada para que os sellers B2W interajam com os clientes a respeito de quaisquer duvidas sobre o produto que esta visualizando.

Nesta função, os sellers que pertencem ao BuyBox poderão responder, rejeitar, listar perguntas.

Limitações:

  • Não é possível excluir uma pergunta para B2W;

  • O retorno do "product_sku" e "platform_sku" é referente ao ID B2W, ou seja, será necessário acessar o portal B2W para identificar o sku do produto.

  • Retorna somente uma plataforma por requisição;

Cursor (Paginação):

A paginação é feita utilizando o cursor que esta presente em todas as requests de listar. Cada cursor sempre aponta para a próxima página em apenas um único sentido.

Ao utilizar o cursor, os parâmetros de filtros são ignorados pois o cursor sempre refere-se aos filtros da primeira consulta.

Por exemplo:

Response:

{"status": "UNANSWERED", "product_sku": "33629401", "platform_sku": "33629401", "platform": "B2W",…},
{"status": "UNANSWERED", "product_sku": "15606067", "platform_sku": "15606067", "platform": "B2W",…}
],
"qty": 50,
"cursor": "eyJzdGF0dXMiOiJVTkFOU1dFUkVEIiwib2Zmc2V0Ijo1MSwibGltaXQiOjUwfQ=="
}

Endpoints:

Os endpoints de perguntas/respostas tem a responsabilidade de expor dados por plataforma, segue a lista de plataformas suportadas:

  • Meli

  • B2W

Segue a baixo como efetuar cada função e suas respectivas endpoints.

Questions:

Tem como função retornar as perguntas relacionadas ao seller, ou seja, ao BuyBox.

Por exemplo:

Existem 3 sellers que estão no BuyBox, neste caso a pergunta que o cliente poderá ser respondido por quaisquer dos 3 sellers, desde de que não esteja respondido.

Para listar deve ser utilizado a endpoint:

GET /questions

Filtros:

  • status: Estado atual da pergunta

  • platform: De qual marketplace esta buscando as informações.

Example Request:

curl -X GET \
https://api.skyhub.com.br/questions \
-H 'accept: application/json' \
-H 'cache-control: no-cache' \
-H 'content-type: application/json' \
-H 'x-accountmanager-key: SUAXACCOUNT' \
-H 'x-api-key: YOUR API KEY HERE' \
-H 'x-user-email: MUDAR@SEU_EMAIL.COM'

Request Headers

Name

Type

Required

Description

Example

accept

String

Required

application/json

application/json

Content-type

String

Required

application/json

application/json

x-user-email

String

Required

E-mail da loja

seu@email.com

x-api-key

String

Required

Token da loja

SuaApiKey

x-accountmanager-key

String

Required

Código identificador da sua Integração

SUAXACCOUNT

Query Parameters

Name

Type

Required

Description

Example

status

String

Optional

Filtra as mensagens pelos seus status

Valores possíveis:

  • ANSWERED

  • UNANSWERED

  • UNANSWERED_BY_YOU

UNANSWERED

platform

String

Required

Filtro para retornar somente as mensagens de uma plataform específica.

Valores possíveis

  • B2W

B2W

cursor

String

Optional

Utilizado para fazer a paginação das perguntas.

Caso este parâmetro esteja presente, os parâmetros de status e platform serão ignorados.

eyJwbGF0Zm9ybSI6Ik1lbGkiLCJvZmZzZXQiO

Responses:

200 - Success

{
"questions": [{
"status": "UNANSWERED",
"product_sku": "29267596",
"platform_sku": "29267596",
"platform": "B2W",
"customer": {
"name": "Rodrigo"
},
"created_at": "2019-10-10T16:58:07.297Z",
"code": "B2W-5d9f631fec233600327e3205",
"body": "Ola boa tarde...\nFiz o pagamento dos autofalantes ontem ainda e ate agora nao foi despachado! Vocês não tem eles a pronta entrega?",
"answers": [],
"answer": {}
},
{
"status": "UNANSWERED",
"product_sku": "23237068",
"platform_sku": "23237068",
"platform": "B2W",
"customer": {
"name": "Ronaldo"
},
"created_at": "2019-10-10T12:06:52.758Z",
"code": "B2W-5d9f1edca8bad6003227cbe5",
"body": "Nao poderia retirar em alguma loja de vcs ??? Preciso muito rapido",
"answers": [],
"answer": {}
}
],
"qty": 50,
"cursor": "eyJvZmZzZXQiOjUxLCJsaW1pdCI6NTB9"
}

400 - BAD REQUEST

Não foi possível processar a requisição

401 - AUTHENTICATION FAILED

Não foi possível realizar a autenticação. Verifique se as credenciais de acesso estão corretas.

500 - INTERNAL SERVER ERROR

Caso ocorra algum erro interno no servidor

Show Question:

Tem como função visualizar as perguntas através do code, que é disponibilizado ao efetuar o GET /questions. Por exemplo:

"code": "B2W-5d9e80ed9df1b1002c39716a"

Neste caso é necessário utilizar a seguinte endpoint:

GET /questions/{code}

Example Request:

curl -X GET \
https://api.skyhub.com.br/questions/{code} \
-H 'accept: application/json' \
-H 'cache-control: no-cache' \
-H 'content-type: application/json' \
-H 'x-accountmanager-key: SUAXACCOUNT' \
-H 'x-api-key: YOUR API KEY HERE' \
-H 'x-user-email: MUDAR@SEU_EMAIL.COM'

Request Headers

Name

Type

Required

Description

Example

accept

String

Required

application/json

application/json

Content-type

String

Required

application/json

application/json

x-user-email

String

Required

E-mail da loja

seu@email.com

x-api-key

String

Required

Token da loja

SuaApiKey

x-accountmanager-key

String

Required

Código identificador da sua Integração

SUAXACCOUNT

Responses:

200 - SUCCESS

400 - BAD REQUEST

401 - AUTHENTICATION FAILED

404 - NOT FOUND

422 - UNPROCESSABLE ENTITY

500 - INTERNAL SERVER ERROR

501 - Not Implemented

Questions Answer:

Tem como função responder perguntas através do code. Neste caso é necessário utilizar a seguinte endpoint:

POST /questions​/{code}​

Example Request:

curl -X GET \
https://api.skyhub.com.br/questions/{code} \
-H 'accept: application/json' \
-H 'cache-control: no-cache' \
-H 'content-type: application/json' \
-H 'x-accountmanager-key: SUAXACCOUNT' \
-H 'x-api-key: YOUR API KEY HERE' \
-H 'x-user-email: MUDAR@SEU_EMAIL.COM'

Request Headers

Name

Type

Required

Description

Example

accept

String

Required

application/json

application/json

Content-type

String

Required

application/json

application/json

x-user-email

String

Required

E-mail da loja

seu@email.com

x-api-key

String

Required

Token da loja

SuaApiKey

x-accountmanager-key

String

Required

Código identificador da sua Integração

SUAXACCOUNT

Listar Answers

Tem como função retornar as respostas de uma pergunta através do code.

Neste caso é necessário utilizar a seguinte endpoint:

GET /questions/{code}/answers

Example Request:

curl -X GET \
https://api.skyhub.com.br/questions/{code}/answers \
-H 'accept: application/json' \
-H 'cache-control: no-cache' \
-H 'content-type: application/json' \
-H 'x-accountmanager-key: SUAXACCOUNT' \
-H 'x-api-key: YOUR API KEY HERE' \
-H 'x-user-email: MUDAR@SEU_EMAIL.COM'

Request Headers

Name

Type

Required

Description

Example

accept

String

Required

application/json

application/json

Content-type

String

Required

application/json

application/json

x-user-email

String

Required

E-mail da loja

seu@email.com

x-api-key

String

Required

Token da loja

SuaApiKey

x-accountmanager-key

String

Required

Código identificador da sua Integração

SUAXACCOUNT

Summaries

Tem como função retornar as perguntas com sumário baseado no produto. Os status do sumário serão:

  • REJECTED

  • UNANSWERED

  • APPROVED

Rejected e Approved: quantidade de respostas que o seller deu e que foram aprovadas ou rejeitadas pela moderação.

Unanswered: quantidade de perguntas que o seller não respondeu

Neste caso é necessário utilizar a seguinte endpoint:

GET /questions/products/summaries

Example Request:

curl -X GET \
https://api.skyhub.com.br/questions/products/summaries \
-H 'accept: application/json' \
-H 'cache-control: no-cache' \
-H 'content-type: application/json' \
-H 'x-accountmanager-key: SUAXACCOUNT' \
-H 'x-api-key: YOUR API KEY HERE' \
-H 'x-user-email: MUDAR@SEU_EMAIL.COM'

Request Headers

Name

Type

Required

Description

Example

accept

String

Required

application/json

application/json

Content-type

String

Required

application/json

application/json

x-user-email

String

Required

E-mail da loja

seu@email.com

x-api-key

String

Required

Token da loja

SuaApiKey

x-accountmanager-key

String

Required

Código identificador da sua Integração

SUAXACCOUNT

Query Parameters

Name

Type

Required

Description

Example

platform

String

Required

Filtro para retornar somente as mensagens de uma plataform específica.

Valores possíveis

  • B2W

B2W

Response:

200 - SUCCESS

401 - AUTHENTICATION FAILED

422 - UNPROCESSABLE ENTITY

500 - INTERNAL SERVER ERROR

501 - Not Implemented

{
"summary": {
"UNANSWERED": 1,
"REJECTED": 2
},
"name": "Mp3 Player Roadstar 2 Din Bluetooth Usb Micro Sd Auxiliar P2 Rádio Fm Rs-3707br",
"image": "https://images-americanas.b2w.io/produtos/01/00/img3/108424/7/108424700_1SZ.jpg",
"id": "108424697"
},
{
"summary": {
"UNANSWERED": 1
},
"name": "Para-choque Impulsão Quebra Mato S10 2012 2013 2014 2015 2016 2017 2018 Grafite",
"image": "https://images-americanas.b2w.io/produtos/01/00/oferta/60681/9/60681918_1SZ.jpg",
"id": "60681921"

Questions especifico - produto

Responsável por retornar as perguntas especificas do produto informado.

Será possível verificar o ID do produto através da endpoint: GET /questions/products/summaries.

Para obter o retorno das perguntas será necessário utilizar a seguinte endpoint:

GET /questions/product/:id

Example Request:

curl -X GET \
https://api.skyhub.com.br/questions/product/{id} \
-H 'accept: application/json' \
-H 'cache-control: no-cache' \
-H 'content-type: application/json' \
-H 'x-accountmanager-key: SUAXACCOUNT' \
-H 'x-api-key: YOUR API KEY HERE' \
-H 'x-user-email: MUDAR@SEU_EMAIL.COM'

Request Headers

Name

Type

Required

Description

Example

accept

String

Required

application/json

application/json

Content-type

String

Required

application/json

application/json

x-user-email

String

Required

E-mail da loja

seu@email.com

x-api-key

String

Required

Token da loja

SuaApiKey

x-accountmanager-key

String

Required

Código identificador da sua Integração

SUAXACCOUNT

Query Parameters

Name

Type

Required

Description

Example

platform

String

Required

Filtro para retornar somente as mensagens de uma plataform específica.

Valores possíveis

  • B2W

B2W

200 - SUCCESS

401 - AUTHENTICATION FAILED

422 - UNPROCESSABLE ENTITY

500 - INTERNAL SERVER ERROR

501 - Not Implemented

{
"questions": [
{
"status": "APPROVED",
"product_sku": "71028130",
"platform_sku": "71028130",
"platform": "B2W",
"customer": {
"name": "Fabio"
},
"created_at": "2019-09-18T10:15:19.861Z",
"code": "B2W-5d8203b7b983f70032a4faf4",
"body": "Tem na cor preta?",
"answers": [],
"answer": {}
}
],
"qty": 1,
"cursor": null
}

Questions não respondidas:

Tem como função retornar a quantidade de perguntas não respondidas de acordo com o BuyBox.

Para obter o retorno é necessário utilizar a enpoint:

GET /questions/count_unanswered_by_all

Example Request:

curl -X GET \
https://api.skyhub.com.br/questions/count_unanswered_by_all \
-H 'accept: application/json' \
-H 'cache-control: no-cache' \
-H 'content-type: application/json' \
-H 'x-accountmanager-key: SUAXACCOUNT' \
-H 'x-api-key: YOUR API KEY HERE' \
-H 'x-user-email: MUDAR@SEU_EMAIL.COM'

Request Headers

Name

Type

Required

Description

Example

accept

String

Required

application/json

application/json

Content-type

String

Required

application/json

application/json

x-user-email

String

Required

E-mail da loja

seu@email.com

x-api-key

String

Required

Token da loja

SuaApiKey

x-accountmanager-key

String

Required

Código identificador da sua Integração

SUAXACCOUNT

Query Parameters

Name

Type

Required

Description

Example

platform

String

Required

Filtro para retornar somente as mensagens de uma plataform específica.

Valores possíveis

  • B2W

B2W

200 - SUCCESS

401 - AUTHENTICATION FAILED

422 - UNPROCESSABLE ENTITY

500 - INTERNAL SERVER ERROR

501 - Not Implemented

{
"unansweredQuestions": 484
}