Sie sind auf Seite 1von 11

Canal Autorizador

Manual GraphQL
Versão 2.0Outubro/2017

DOCUMENTAÇÕES
As documentações de toda as requisições poderão ser acessadas no Menu “Docs”, que fica
ao lado direito da tela.

Obs.: As mesmas poderão ser acessadas somente após configurações de Operação


(Exemplos: Query e Mutation).

Query: Consulta de informação no banco.


Mutation: Alteração/inclusão de informação no banco.

TESTES DE REQUISIÇÃO

1.1 Download

Os testes de requisição deverão ser feitos via extensão “GraphIQL” para o


navegador Google Chrome. O download do mesmo pode ser feito neste link:
https://chrome.google.com/webstore/detail/graphiql-
feen/mcbfdonlkfpbfdpimkjilhdneikhfklp.

1.2 Configuração do Token


1. Ao abrir a extensão, clicar em “Servers”, depois nas opções do menu dropdown,
conforme print abaixo e selecionar “Post”.

2. Adicionar a URL https://ws.fidelize.com.br/autorizador_dev/graphql/public ao


campo “Server URL”.
3. Clicar em “Queries”.
4. No editor de texto, adicionar a query abaixo para retornar o token:

mutation createToken {
createToken(
login: "teste.distribuidor",
password: "t3$$t#hosp"
){
token
}}
5. Clicar no botão “Play” para executar a query, conforme imagem abaixo:

6. Salvar o Token que foi gerado, conforme imagem abaixo

Exemplo de token

eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOjEsImlhdCI6MTUwODM1MDI5NywiZXhwIj
oxNTA4NDM2Njk3LCJqdGkiOiJjcW5oOFVIU29ISVY3d2FlIn0.VAyNQxVtb6uZHPUTnbj8VZoI-
FehsO5kri-ouWoRABw
1.3 Acessando Requisições

1. Clicar em “Servers”, depois nas opções do menu dropdown, conforme print abaixo e
selecionar “Post”.

Adicionar a URL https://ws.fidelize.com.br/autorizador_dev/graphql ao campo “Server URL”.

2. No campo “Header Name”, adicionar “Authorization” e, no campo “Header Value”,


adicionar “Bearer + espaço + token”.
3. Clicar em “ADD HEADER”.
4. Clicar em “SAVE”
5. Clicar em “Queries” e dar F5.
6. Clicar em “Mutation” para aparecer toda a documentação da API, conforme imagem
abaixo:
1.3.1 Importante Sobre a Documentação
● PreOrder: Resposta da requisição enviada. Esta resposta será enviada a todas as
requisições enviadas à Fidelize.
● Ao clicar nos campos clicáveis, serão mostrados todos os campos que podem/devem
ser enviados (obrigatórios e não obrigatórios).
● Todos os campos que surgirem com um ponto de exclamação, são obrigatórios.

DEFINIÇÃO DAS REQUISIÇÕES

2.1 Dados da Requisição “createPreOrder”


Requisição para criação de pré-pedido na Fidelize.

2.1.1 Campos

grouped_order_code: Código Fidelize de Pedido Agrupado.


client_identification: CNPJ do PDV.
wholesaler: CNPJ da filial do Distribuidor.
client_code: Código Interno do PDV.
comercial_condition: Código da Condição Comercial (informado pela Indústria). Esta
condição estará cadastrada na Fidelize.
products: Deverá conter os campos abaixo:
ean: Código EAN do produto.
ordered_quantity: Quantidade pedida.
wholesaler_discount: Desconto do Produto

Observação:Em toda as requisições, o usuário deverá realizar uma consulta do pré-pedido


criado. Sendo assim, é obrigatório o envio do campo “grouped_order_code”. Caso a
requisição seja enviada sem este campo, a requisição não será válida.

O usuário poderá definir quais campos retornarão no “PreOrder” enviando os mesmos


conforme destacado no lado esquerdo da imagem abaixo. Ao ser enviada a requisição, a
resposta será mostrada ao lado direito da tela (também conforme destacado):

2.2 Dados da Resposta da requisição “createPreOrder”


Quando for enviada a requisição createPreOrder, será dada a resposta PreOrder
Clicar em PreOrder ao lado direito da tela para aparecer toda a documentação da API,
conforme imagem abaixo:

Observação 1: A resposta PreOrder será dada a todas as requisições enviadas à Fidelize.


Observação 2: Como a URL do endpoint é de uma área de testes, os dados das respostas
são fixos, pois o objetivo deste manual é orientar o distribuidor a configurar seu sistema
para se comunicar com a Fidelize via API.

2.2.1 Consulta se o Pedido foi criado no portal Fidelize

Observação: No campo grouped_order_code: devemos colocar o id que retornou quando


executamos o createPreOrder.

No exemplo de pedido que utilizamos acima, o mesmo gerou o grouped_order_code: 42

Segue abaixo uma query de consulta de pedido


query getOrderDetails{
getOrderDetails(
grouped_order_code: 42
){
grouped_order_code
client_identification
wholesaler
client_code
commercial_condition
status
total_products
products
{
ean
ordered_quantity
wholesaler_discount
order_discount
unit_net_price
industry_order_code
industry_abbreviation
product_reason
}
}
}

Segue o que acontece quando eu executo a Query acima.

2.3 Dados da Requisição “updateOrderResponse”


Requisição para envio do retorno de pedido à Fidelize.

Observação¹: Como o envio das requisições foi explicado na primeira requisição (acima),
“createPreOrder”, na definição das próximas requisições, iremos utilizar somente as
imagens.

Observação²: O campo date_time_processing deverá seguir o seguinte formato: YY-MM-DD


HH:MM:SS
Exemplo: 2017-11-29 10:00:00

EXEMPLOS DE REQUISIÇÃO

3.1 createPreOrder

mutation createPreOrder{createPreOrder(
client_identification: "20294088000109",
wholesaler: "18269125000187",
client_code: "1234",
commercial_condition: "",
products: [
{
ean: "7891058003203",
ordered_quantity: 1
wholesaler_discount : 50
}
{
ean: "7891058003241",
ordered_quantity: 2
wholesaler_discount : 40
}
]
){

grouped_order_code
client_identification
wholesaler
client_code
commercial_condition
status
total_products
}
}

3.2 updateOrderResponse

mutation updateOrderResponse{
updateOrderResponse(
date_time_processing:"2017-11-30 10:00:00",
grouped_order_code:42,
order_motive: ORDER_SUCCESSFULLY_ACCEPTED,
products:
[
{
ean : "7891058003203",
response_quantity : 1,
percent_discount : 1,
unit_discount_price : 0.40,
unit_net_price : 40.00,
product_reason : PRODUCT_SUCCESSFULLY_ACCEPTED,
monitored : true,
wholesaler_reason : "PRODUCT_SUCCESSFULLY_ACCEPTED ",
industry_order_code : "30040",
industry_abbreviation : "FAB"
}
{
ean : "7891058003241",
response_quantity : 1,
percent_discount : 1,
unit_discount_price : 0.20,
unit_net_price : 30.00,
product_reason : PRODUCT_SUCCESSFULLY_ACCEPTED,
monitored : true,
wholesaler_reason : "PRODUCT_SUCCESSFULLY_ACCEPTED ",
industry_order_code : "30040",
industry_abbreviation : "FAB"
}

],
total_value: 39.20,
discount_value:0.80
){
grouped_order_code
client_identification
wholesaler
client_code
commercial_condition
status
total_products
}
}