You are on page 1of 14

Canal Autorizador

Manual GraphQL
Versão 2.0 Outubro/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 deverá 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):

Observação 2: Os distribuidores que irão homologar a integração de API com o processo de


OL deverá substituir o campo grouped_order_code pelo ID.
2.2 Dados da Resposta da requisição “createPreOrder”
Quando for enviada a requisição createPreOrder, será dada a resposta dessa PreOrder.
Clicar em GroupedOrder do createPreOrder ao lado direito da tela para aparecer toda a
documentação da API, conforme imagem abaixo:

Observação 1: A resposta GroupedOrder 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. Então no sistema é necessário informar
exatamente qual campo quer que volte na resposta da requisição.
Observação 3: O campo ID que foi acrescentado irá retornar o mesmo valor do campo
grouped_order_code.

2.2.1 Consulta se o Pedido foi criado no portal Fidelize

Observação: No campo grouped_order_code ou id: devemos colocar o código 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: 354
){
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
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
2.4 Dados da Requisição “updateOrderInvoice”
Requisição para envio da nota do pedido à Fidelize.

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:354,
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 : 30375,
industry_abbreviation : "FAB"
}
{
ean : "7891058003241",
response_quantity : 2,
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 : 30375,
industry_abbreviation : "FAB"
}
],
total_value: 39.20,
discount_value:0.80
){
grouped_order_code
client_identification
wholesaler
client_code
commercial_condition
status
total_products
}
}

3.3 updateOrderInvoice

mutation updateOrderInvoice {
updateOrderInvoice(
invoice_issue_date:"2017-12-08",
date_time_processing:"2017-12-08 10:00:00",
grouped_order_code: 354,
invoice_number: 3984,
base_calculation_icms_tax_substitution: 10.23,
base_calculation_icms: 6.89,
danfe: "A9490",
invoice_value: 180.39,
invoice_discount_value: 38.10,
icms_value_transferred: 40.27,
products_total_value: 185.39,
invoice_products: [
{
ean: "7891058003203",
invoice_quantity: 2,
percent_discount: 1.87,
unit_discount_price: 2.30,
unit_net_price: 10.38,
base_calculation_icms: 5.30,
base_calculation_icms_tax_substitution: 4.23,
percent_icms_aliquot: 1.39,
percent_ipi_aliquot: 1.23,
icms_value: 5.00,
st_value: 1.39,
icms_transferred_value: 3.98,
cfop: 10.55,
tax_substitution_flag: "O",
positive_list_identifier: "P",
product_deadline: 90,
product_classification: 2,
dcb: "abcd",
transfer_value: 5.44,
product_total_value: 10.93,
product_total_value_charges: 19.10,
tax_status_code: "D",
percent_financial_discount: 10.18,
percent_unit_financial_discount: 7.58,
type: "M",
}
{
ean: "7891058003241",
invoice_quantity: 1,
percent_discount: 1.87,
unit_discount_price: 2.30,
unit_net_price: 10.38,
base_calculation_icms: 5.30,
base_calculation_icms_tax_substitution: 4.23,
percent_icms_aliquot: 1.39,
percent_ipi_aliquot: 1.23,
icms_value: 5.00,
st_value: 1.39,
icms_transferred_value: 3.98,
cfop: 10.55,
tax_substitution_flag: "O",
positive_list_identifier: "P",
product_deadline: 90,
product_classification: 2,
dcb: "abcd",
transfer_value: 5.44,
product_total_value: 10.93,
product_total_value_charges: 19.10,
tax_status_code: "D",
percent_financial_discount: 10.18,
percent_unit_financial_discount: 7.58,
type: "M",
}
]
icms_total_value_withheld: 3.34,
icms_total_value: 4.45,
volume_quantity: 10,
) {
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
}
}
}

You might also like