Introdução

A API de integração Flexy permite a comunicação da plataforma de e-commerce com outros sistemas, sejam eles ERP, CRM, back office ou outros que sejam necessários a operação de sua loja.

Usando padrões internacionais de comunicação a API Flexy foi desenvolvida no formato Rest(JSON), permitindo conectar bancos de dados e softwares desenvolvidos em diferentes linguagens.

Acesso

Todas as chamadas à sua API serão feitas através do endereço https://flexy.api.flexy.com.br/platform/api/ seguidas do método a ser escolhido.

A cada requisição você deve informar o token de acesso, disponível no seu painel administrativo no menu Configurações > API. As requisições somente serão aceitas se o token utilizado estiver correto.

Acesso Lojas Shopping

A cada requisição você deve informar o token de acesso da loja, bem como o código de referência da mesma através do parâmetro referenceCodeStore.

O token de acesso está disponível no seu painel administrativo no menu Configurações > Minha Loja na aba API .

Ferramentas para Testes

A API Rest(JSON) permite conexão a partir de diversos softwares. Sugerimos que o responsável pela integração utilize o software POSTMAN, um complemento do navegador Chrome para realizar testes e acompanhar retornos, diminuindo assim as dúvidas e otimizando o processo de integração.

Suporte Técnico

Caso hajam dúvidas sobre a API de integração ou as melhores formas de realizá-la, entre em nossa equipe através do e-mail suporte@flexy.com.br.

Assinaturas

Listar assinaturas (GET)

Recupera um ou mais assinaturas baseado nos filtros enviados. Os filtros podem ser data de realização do assinatura, número do assinatura, ou status dos assinaturas.

Parâmetros aceitos neste método:

Parâmetro Tipo Obrigatório Descrição
numbers string false Números dos assinaturas desejados, separados por vírgulas (,)
offset int false Posição inicial dos registros retornados. Exemplo, se houver 100 registros use offset 10 para pegar a partir do décimo primeiro registro. Default: 0
limit int false Limite máximo de registros a retornar. Default: 10
from date false Data início de filtro baseado na data de criação do assinatura. e.g. 2014-01-01T13:45:59 (YYYY-mm-ddTH:i:s). Serão considerados todos os registros cadastrados desde às 00:00 do dia informado ou até o horário informado. Somente é válido em uso com 'to'
to date false Data fim de filtro baseado na data de criação do assinatura. e.g. 2014-01-01T13:45:59 (YYYY-mm-ddTH:i:s). Serão considerados todos os registros cadastrados até às 23:59:59 do dia informado ou até o horário informado. Somente é válido em uso com 'from'
statusChangeFrom date false Data início de filtro baseado na data de alteração do status do assinatura. e.g. 2014-01-01T13:45:59 (YYYY-mm-ddTH:i:s). Serão considerados todos os registros cadastrados até às 23:59:59 do dia informado ou até o horário informado. Somente é válido em uso com 'statusChangeTo' e 'statusFilter'
statusChangeTo date false Data fim de filtro baseado na data de alteração do status do assinatura. e.g. 2014-01-01T13:45:59 (YYYY-mm-ddTH:i:s). Serão considerados todos os registros cadastrados até às 23:59:59 do dia informado ou até o horário informado. Somente é válido em uso com 'statusChangeFrom' e 'statusFilter'
status string false Status atual do assinatura. Valores possíveis: Aguardando Pagamento: status.waiting_payment, Pago: status.paid, Cancelado: status.canceled, Pagamento parcialmente: status.billed_partial, Aguardando Pagamento: status.waiting_payment
statusFilter string false Filtro para status do assinatura em um período. Valores possíveis: Aguardando Pagamento: status.waiting_payment, Pago: status.paid, Não autorizado: status.payment_refused, Cancelado: status.canceled, Somente é válido em uso com 'statusChangeFrom' e 'statusChangeTo'

Request Example

Obs: o parâmetro da url referenceCodeStore, deve ser somente utilizado para lojas de shopping

GET /platform/api/subscriptions/?from=2015-01-01T13:45:59&to=2015-01-31T13:45:59&offset=10&limit=5&token=******&referenceCodeStore=shoppingstore-flexy&version=1 HTTP/1.1
Host: https://flexy.api.flexy.com.br
Accept: application/json
Content-Type: application/json
Exemplo utilizando números de assinaturas

GET /platform/api/subscriptions/?numbers=28420150105094511,18920141210122230&token=******&referenceCodeStore=shoppingstore-flexy&version=1 HTTP/1.1
Host: https://flexy.api.flexy.com.br
Accept: application/json
Content-Type: application/json
.

Response Example


HTTP/1.1 200 OK
Content-Type: application/json

 [
     "plan":
     {
         "number": "99785120141222233440",
         "total": 151.91,
         "promotionDiscount": 0,
         "grossAmount": "159.90",
         "promotionsApplied": [
             {
                 "name": "Carrinho de Compras"
             },
             {
                 "name": "Promoção de Cumpom de Desconto"
             }
         ],
         agent": [
             {
                 "name" : "John Smith",
                 "email" : "agent@flexy.com.br"
             }
         ],
         agents": [
             {
                 "email" : "agent@flexy.com.br",
                 "commission" : 105.77
             }
         ],
         attributeValues": [
             {
                 "referenceCode" : "parceiro",
                 "value" : "walmart"
             }
         ],
         "customer": {
             "firstName": "Edson Arantes",
             "lastName": "Arantes do Nascimento",
             "gender": 1,
             "dateOfBirth": "1982-06-20",
             "identityNumber": "11111111111",
             "primaryPhone": "(48) 5555-15454",
             "secondPhone": null,
             "address": {
                 "postCode": "88010540",
                 "city": "Florianópolis",
                 "state": "SC",
                 "country": "Brasil",
                 "street": "Praça XV",
                 "district": "Centro",
                 "complement": null,
                 "number": 3
             },
         "createdAt": "2014-12-22 23:30:59",
         "updatedAt": "2014-12-22 23:32:59",
         "customerType": null,
         "email": "email@cliente.com.br",
         "attributeValues": null
         },
         "paymentMethods": [
         {
             "name": "payment.method.boleto",
             "installments": null,
             "amount": 159.9,
             "discount": 7.99,
             "addition": 8.54,
             "boletoRule": null
         }
         ],
         "createdAt": "2014-12-22 23:34:40",
         "updatedAt": null,
         "deletedAt": null,
         "items": [
         {
             "name": "Produto 1",
             "quantity": 1,
             "unitPrice": 159.9,
             "totalPrice": 159.9,
             "promotionDiscount": 0,
             "promotionsApplied": [
                 {
                     "name": "Super promoção",
                     "referenceCode": "super-promocao",
                     "type": "promotion.type.catalog",
                     "discountApplied": 10,
                     "shoppingStore": {
                         "name": "Loja",
                         "referenceCode": "loja",
                     }
                 },
                 {
                     "name": "Mega promoção",
                     "referenceCode": "mega-promocao",
                     "type": "promotion.type.progressive",
                     "discountApplied": 20,
                     "shoppingStore": null
                 }
             ],
             "grossAmount": 159.9,
             "taxSubstitution": 0,
             "variant": {
                 "referenceCode": "produto1",
                 "presentation": "produto-1",
                 "url": "/produto/produto1/produto-1",
                 "price": 159.9,
                 "master": true,
                 "masterImage": null,
                 "isFractionalStock": false,
                 "stock": {
                     "quantity": 1,
                     "minimumQuantity": 0
                 },
                 "priceList": null,
                 "dimensionGroup": {
                     "height": 10,
                     "width": 50.5,
                     "depth": 31.4,
                     "weight": 2.79
                 }
             },
             "shippingAddress": {
                 "postCode": "88010540",
                 "city": "Florianópolis",
                 "state": "SC",
                 "country": "Brasil",
                 "street": "Praça XV",
                 "district": "Centro",
                 "complement": null,
                 "number": 3
             },
             "shippingMethod": {
                 "name": "PAC",
                 "referenceCode": "correios.pac",
                 "estimatedDeliveryFrom": 9,
                 "estimatedDeliveryTo": 9,
                 "deliveryTimeFrom": null,
                 "deliveryTimeTo": null,
                 "price": 0,
                 "carrier": null,
                 "observations": null
             },
             "trackingCode": null,
             "properties": [
               {
                 "name": "Nome da Característica,
                 "referenceCode": "cod-ref-caracteristica",
                 "value": "42"
               }
           ]
         },
         {
             "name": "Kit",
             "quantity": 1,
             "unitPrice": 90.00,
             "totalPrice": 90.00,
             "promotionDiscount": 0,
             "promotionsApplied": [],
             "grossAmount": 90.00,
             "taxSubstitution": 0,
             "variant": {
                 "referenceCode": "kit",
                 "presentation": "kit",
                 "url": "/produto/kit/kit",
                 "price": 90.00,
                 "master": true,
                 "masterImage": null,
                 "isFractionalStock": false,
                 "stock": {
                     "quantity": 1,
                     "minimumQuantity": 0
                 },
                 "priceList": null,
                 "dimensionGroup": {
                     "height": 10,
                     "width": 50.5,
                     "depth": 31.4,
                     "weight": 2.79
                 }
             },
             "shippingAddress": {
                 "postCode": "88010540",
                 "city": "Florianópolis",
                 "state": "SC",
                 "country": "Brasil",
                 "street": "Praça XV",
                 "district": "Centro",
                 "complement": null,
                 "number": 3
             },
             "shippingMethod": {
                 "name": "PAC",
                 "referenceCode": "correios.pac",
                 "estimatedDeliveryFrom": 9,
                 "estimatedDeliveryTo": 9,
                 "deliveryTimeFrom": null,
                 "deliveryTimeTo": null,
                 "price": 0,
                 "carrier": null,
                 "observations": null
             },
             "trackingCode": null,
             "properties": [],
             "taxSubstitutionsApplied": [
                 {
                     "taxBilled": 0.03,
                     "mvaOriginal": 1,
                     "mvaAdjusted": null,
                     "internalAliquot": 17,
                     "interstateAliquot": null,
                     "freightRate": 3.15,
                     "ipi": 0.14,
                     "itemUnitPrice": 15,
                     "itemTotalPrice": 15,
                     "variantReferenceCode": "icms-1",
                     "productReferenceCode": "icms-1"
                 },
                 {
                     "taxBilled": 0.06,
                     "mvaOriginal": 1,
                     "mvaAdjusted": null,
                     "internalAliquot": 17,
                     "interstateAliquot": null,
                     "freightRate": 6.3,
                     "ipi": 0.29,
                     "itemUnitPrice": 30,
                     "itemTotalPrice": 30,
                     "variantReferenceCode": "icms-2",
                     "productReferenceCode": "icms-2"
                 },
                 {
                     "taxBilled": 0.09,
                     "mvaOriginal": 1,
                     "mvaAdjusted": null,
                     "internalAliquot": 17,
                     "interstateAliquot": null,
                     "freightRate": 9.45,
                     "ipi": 0.44,
                     "itemUnitPrice": 45,
                     "itemTotalPrice": 45,
                     "variantReferenceCode": "icms-3",
                     "productReferenceCode": "icms-3"
                 }
             ],
             "itemsKit": [
                 {
                     "variantReferenceCode": "icms-1",
                     "productReferenceCode": "icms-1",
                     "quantity": 1
                 },
                 {
                     "variantReferenceCode": "icms-2",
                     "productReferenceCode": "icms-2",
                     "quantity": 1
                 },
                 {
                     "variantReferenceCode": "icms-3",
                     "productReferenceCode": "icms-3",
                     "quantity": 1
                 }
             ],
             "additionalTo": "produto-1"
         }
         ],
         "status": {
             "name": "status.paid",
             "info": null,
             "createdAt": "2014-12-29 01:59:54"
         },
         "shippingTotal": 0,
         "orderGatewayInfo": {
             "data": [
                 {
                     "code": "transaction-id",
                     "value": "654321"
                 },
                 {
                     "code": "transaction-nsu",
                     "value": "123456"
                 }
             ],
             "gatewayReferenceCode": "payment.gateway.pagarme"
         }
     },
     "subscriptions": [
     {
         "orderNumber": "9978512014463476784"
     },
     {
         "orderNumber": "9978512014146346734"
     }
     ]
 ]

Carrinhos abandonados

Listar carrinhos abandonados (GET)

Listar carrinhos abandonados.

Parâmetros aceitos neste método:

Parâmetro Tipo Obrigatório Descrição
from date false Data de início, baseada na data atualização do carrinho abandonado. Ex: 2018-01-01 (YYYY-mm-dd). Serão considerados todos os registros atualizados desde às 00:00 do dia informado.
to date false Data de fim, baseada na data de atualização do carrinho abandonado. Ex: 2018-02-01 (YYYY-mm-dd). Serão considerados todos os registros atualizados até às 23:59:59 do dia informado.
offset integer false Posição inicial dos registros retornados. Exemplo, se houver 100 registros use offset 10 para pegar a partir do décimo primeiro registro. Default: 0.
limit integer false Limite máximo de registros a retornar. Default: 10.

Exemplo de requisição


GET /platform/api/cart-abandoned/?token=******&version=1 HTTP/1.1
Host: https://flexy.api.flexy.com.br/
Accept: application/json
Content-Type: application/json
Exemplo utilizando parâmetros de contato

GET /platform/api/cart-abandoned/?token=******&from=2017-01-01&to=2019-02-01&version=1 HTTP/1.1
Host: https://flexy.api.flexy.com.br/
Accept: application/json
Content-Type: application/json

GET /platform/api/cart-abandoned/?token=******&offset=10&limit=5&version=1 HTTP/1.1
Host: https://flexy.api.flexy.com.br/
Accept: application/json
Content-Type: application/json

Exemplo de resposta

.

HTTP/1.1 200 OK
Content-Type: application/json

[
    {
        "id":308,
        "number":null,
        "total":20.9,
        "totalWithDiscount":20.9,
        "salePromotionDiscountTotal":0,
        "itemsCount":2,
        "items":[

        ],
        "customer":{
            "firstName":"testes",
            "lastName":null,
            "gender":1,
            "dateOfBirth":"1991-01-01",
            "identityNumber":"03226818554",
            "primaryPhone":"(48) 3213-2132",
            "secondPhone":null,
            "address":{
                "postCode":"88050501",
                "city":"Florianópolis",
                "state":"sc",
                "country":"Brasil",
                "street":"Rua Deputado Walter Gomes",
                "district":"Santo Antônio de Lisboa",
                "complement":null,
                "number":111
            },
            "createdAt":"2018-03-16 14:23:52",
            "updatedAt":"2018-11-01 17:14:31",
            "customerType":{
                "name":"Consumidor",
                "referenceCode":"default.customer",
                "priceList":null
            },
            "priceList":null,
            "email":"testes@flexy.com.br",
            "attributeValues":[

            ]
        },
        "shoppingStore":null,
        "status":null,
        "createdAt":"2018-08-16 17:03:05",
        "updatedAt":"2018-08-17 11:59:00",
        "observation":null,
        "sales":[
            {
                "id":309,
                "number":null,
                "total":0,
                "totalWithDiscount":0,
                "salePromotionDiscountTotal":0,
                "itemsCount":0,
                "items":[

                ],
                "customer":{
                    "firstName":"testes",
                    "lastName":null,
                    "gender":1,
                    "dateOfBirth":"1991-01-01",
                    "identityNumber":"03226818554",
                    "primaryPhone":"(48) 3213-2132",
                    "secondPhone":null,
                    "address":{
                        "postCode":"88050501",
                        "city":"Florianópolis",
                        "state":"sc",
                        "country":"Brasil",
                        "street":"Rua Deputado Walter Gomes",
                        "district":"Santo Antônio de Lisboa",
                        "complement":null,
                        "number":111
                    },
                    "createdAt":"2018-03-16 14:23:52",
                    "updatedAt":"2018-11-01 17:14:31",
                    "customerType":{
                        "name":"Consumidor",
                        "referenceCode":"default.customer",
                        "priceList":null
                    },
                    "priceList":null,
                    "email":"testes@flexy.com.br",
                    "attributeValues":[

                    ]
                },
                "shoppingStore":"Cisa",
                "status":null,
                "createdAt":"2018-08-16 17:03:06",
                "updatedAt":"2018-08-17 11:59:00",
                "observation":null,
                "sales":null
            },
            {
                "id":311,
                "number":null,
                "total":1,
                "totalWithDiscount":1,
                "salePromotionDiscountTotal":0,
                "itemsCount":1,
                "items":[
                    {
                        "id":117,
                        "name":"produto 3 (3)",
                        "referenceCode":"3",
                        "quantity":1,
                        "unitPrice":1,
                        "unitPriceWithDiscount":1,
                        "totalPrice":1,
                        "totalPriceWithDiscount":1,
                        "image":"//d8vlg9z1oftyc.cloudfront.net/example/image/product/34nn3454bkb/180/produto-2.jpeg",
                        "variant":{
                            "id":71,
                            "referenceCode":"3",
                            "productReferenceCode":"3",
                            "eanCode":"",
                            "presentation":"produto 3",
                            "url":"/loja/vertec/produto/3/3",
                            "price":1,
                            "promotionalPrice":null,
                            "master":true,
                            "masterImage":null,
                            "isFractionalStock": false,
                            "stock":{
                                "quantity":10,
                                "minimumQuantity":2,
                                "distributionCenter":{
                                    "referenceCode":"vertec",
                                    "postcode":"8809535",
                                    "city":"Florianópolis",
                                    "state":"SC",
                                    "country":"Brasil",
                                    "district":"Jardim Atlântico",
                                    "street":"Rua Evaldo Schaeffer ",
                                    "complement":"",
                                    "number":2
                                }
                            },
                            "distributionCenterList":[
                                {
                                    "quantity":10,
                                    "minimumQuantity":2,
                                    "distributionCenter":{
                                        "referenceCode":"vertec",
                                        "postcode":"8809535",
                                        "city":"Florianópolis",
                                        "state":"SC",
                                        "country":"Brasil",
                                        "district":"Jardim Atlântico",
                                        "street":"Rua Evaldo Schaeffer ",
                                        "complement":"",
                                        "number":2
                                    }
                                }
                            ],
                            "priceList":null,
                            "dimensionGroup":{
                                "height":1,
                                "width":1,
                                "depth":1,
                                "weight":1
                            },
                            "additionalDeliveryTime":7,
                            "availableAt":"2015-10-08",
                            "deletedAt":null
                        }
                    }
                ],
                "customer":{
                    "firstName":"testes",
                    "lastName":null,
                    "gender":1,
                    "dateOfBirth":"1991-01-01",
                    "identityNumber":"03226818554",
                    "primaryPhone":"(48) 3213-2132",
                    "secondPhone":null,
                    "address":{
                        "postCode":"88050501",
                        "city":"Florianópolis",
                        "state":"sc",
                        "country":"Brasil",
                        "street":"Rua Deputado Walter Gomes",
                        "district":"Santo Antônio de Lisboa",
                        "complement":null,
                        "number":111
                    },
                    "createdAt":"2018-03-16 14:23:52",
                    "updatedAt":"2018-11-01 17:14:31",
                    "customerType":{
                        "name":"Consumidor",
                        "referenceCode":"default.customer",
                        "priceList":null
                    },
                    "priceList":null,
                    "email":"testes@flexy.com.br",
                    "attributeValues":[

                    ]
                },
                "shoppingStore":"Vertec",
                "status":null,
                "createdAt":"2018-08-16 17:09:44",
                "updatedAt":"2018-08-17 11:59:00",
                "observation":null,
                "sales":null
            }
        ]
    }
]


Cartão

Dados dos cartões (GET)

Obtem os dados criptografados dos cartões referente ao pedido

Request Example

Obs: o parâmetro da url referenceCodeStore, deve ser somente utilizado para lojas de shopping

GET /platform/api/card/1426412014080000000?token=******&referenceCodeStore=shoppingstore-flexy&version=1 HTTP/1.1
Host: https://flexy.api.flexy.com.br
Accept: application/json
Content-Type: application/json
{
}
.

Response Example


HTTP/1.1 200 OK
Location: https://flexy.api.flexy.com.br/platform/api/card/1426412014080000000
Content-Type: application/json

{
    "card":"VGhpcyBpcyBhIHRlc3QuIFJlYWwgZGF0YSBpcyBlbmNyeXB0ZWQgOyk="
}

Categorias

Cadastro/Alteração de categoria (PUT)

Efetua o cadastro ou alteração de uma categoria, caso a categoria já exista, esta será atualizada.

Parâmetros aceitos neste método:

Parâmetro Tipo Obrigatório Descrição
category[name] string true Nome da categoria.
category[description] string true Descrição da categoria, aceita formatação html.
category[referenceCode] string true Código de referência.
category[sortOrder] string false Prioridade de ordenação da categoria para o front-end.
category[parent] string false Código de referência da categoria pai.
category[metaTags][url] string false Url da categoria.
category[metaTags][keyword] string false Palavras-chave para a categoria.
category[metaTags][description] string false Descrição da categoria para SEO.
category[metaTags][trackingId] string false valor de Código de remarketing.

Request Example

.

PUT /platform/api/categories/?token=tokenLoja&referenceCodeStore=shoppingstore-flexy HTTP/1.1

Host: https://flexy.api.flexy.com.br
Content-Type: application/json

{
    "category" : {
        "name" : "chuteiras ",
        "description" : "chuteiras de precisão",
        "referenceCode" : "calcados",
        "sortOrder":"17",
        "metaTags": {
            "url": "url",
            "keyword": "calçado, tênis, corrida",
            "description": "este é um calçado muito confortável",
            "trackingId": "21354654654654"
        }
    }
}
Exemplo com categoria-pai
{
    "category" : {
        "name" : "Bermudas",
        "description" : "Bermudas para futebol de campo, suíço e <b>futsal</b>",
        "referenceCode" : "bermudas",
        "sortOrder":"17",
        "parent" : "calcados"
    }
}

Response Example


HTTP/1.1 200 OK
Location: https://flexy.api.flexy.com.br/platform/api/categories/chuteiras
Content-Type: application/json

{
     "name":"Bermudas",
     "description":"Bermudas para futebol de campo, suíço e futsal.",
     "referenceCode":"chuteiras",
     "sortOrder":"17",
     "shoppingStore":'nome da loja',
     "parent":null,
     "createdAt":"2014-12-19 17:32:28",
     "updatedAt":"2014-12-30 11:23:57"
}


Exemplo com categoria-pai

{
     "name":"Bermudas",
     "description":"Bermudas para futebol de campo, suíço e <b>futsal</b>.",
     "referenceCode":"chuteiras",
     "sortOrder":"17",
     "shoppingStore":'nome da loja',
     "parent":"calcados",
     "createdAt":"2014-12-19 17:32:28",
     "updatedAt":"2014-12-30 13:30:20",
     "links":{
         "parent":"https://meusite.com.br/platform/api/categories/calcados"
     }
}

Listar categorias (GET)

Recupera uma ou mais categorias, de acordo com os códigos de referência enviados.

Parâmetros aceitos neste método:

Parâmetro Tipo Obrigatório Descrição
offset int false Posição inicial dos registros retornados. Exemplo, se houver 100 registros use offset 10 para pegar a partir do décimo primeiro registro. Default: 0.
limit int false Limite máximo de registros a retornar. Default: 10.

Request Example

.

GET /platform/api/categories/?token=tokenLoja&referenceCodeStore=shoppingstore-flexy&version=1 HTTP/1.1
OU
GET /platform/api/categories/calcados,chuteiras?token=tokenLoja&referenceCodeStore=shoppingstore-flexy&version=1 HTTP/1.1
Host: https://flexy.api.flexy.com.br
Accept: application/json
Content-Type: application/json

Response Example


HTTP/1.1 200 OK
Content-Type: application/json

{
    name: "chuteiras ",
    description: "chuteiras de precisão.",
    referenceCode: "calcados",
    shoppingStore: 'nome da loja',
    parent: null,
    createdAt: "2014-12-19 17:32:28",
    updatedAt: "2014-12-30 11:23:57",
    links: null
},
{
     name: "Bermudas",
     description: "Bermudas para futebol de campo, suíço e futsal.",
     referenceCode: "chuteiras",
     shoppingStore: 'nome da loja',
     parent: "calcados",
     createdAt: "2014-12-19 17:32:28",
     updatedAt: "2014-12-30 13:30:20",
     links: {
         parent: "https://meusite.com.br/platform/api/categories/calcados"
     }
}

Clientes

Cadastro Perfil de Cliente (POST)

Cadastra um perfil de cliente.

Parâmetros aceitos neste método:

Parâmetro Tipo Obrigatório Descrição
name string true Nome do perfil de cliente.
referenceCode string true Código de referência. Necessita ser um valor único, ou seja, se o valor inserido já estiver cadastrado a chamada retornará um erro.
priceList string true Código da lista de preço a ser anexada ao perfil de cliente criado.
disableUser boolean true O bloqueio automático após cadastro impossibilita que o este perfil de cliente faça login e tenha acesso aos preços após se cadastrar.
minimumSaleAmount float true Valor mínimo necessário para a realização de pedidos.
usesTaxSubstitution boolean true Informa se o ICMS-ST deverá ser calculado, e cobrado.
paymentMethods[referenceCode] string true Informar o código de referência do método de pagamento. Valores aceitos: payment.method.boleto, payment.method.boletoafaturar, payment.method.creditcard.americanexpress, payment.method.creditcard.aura, payment.method.creditcard.bndes, payment.method.creditcard.dinners, payment.method.creditcard.discover, payment.method.creditcard.elo, payment.method.creditcard.hipercard, payment.method.creditcard.jcb, payment.method.creditcard.mastercard, payment.method.creditcard.oipaggo, payment.method.creditcard.visa, payment.method.creditcard.visaelectron, payment.method.deposit, payment.method.forfree, payment.method.negotiable.

Request Example

Exemplo Perfil de Cliente

POST /platform/api/customer-type/?token=******&version=1 HTTP/1.1
Host: https://flexy.api.flexy.com.br/
Accept: application/json
Content-Type: application/json
 {
   "name": "Perfil Atacadista",
   "referenceCode": "PC5201326",
   "priceList": "LC0296471APX",
   "disableUser": true,
   "minimumSaleAmount": 5.10,
   "usesTaxSubstitution": false,
   "paymentMethods": [
         {
             "referenceCode":"payment.method.boletoafaturar"
         },
         {
             "referenceCode":"payment.method.creditcard.bndes"
         }
   ]
}
.

Response Example


HTTP/1.1 200 OK
Content-Type: application/json

[
    {
        "name": "Perfil Atacadista",
        "referenceCode": "PC5201326",
        "priceList": [
             {
                 "name":"Lista de Casamento",
                 "referenceCode":"LC0296471APX"
             }
        ],
        "disableUser": true,
        "minimumSaleAmount": 5.10,
        "usesTaxSubstitution": false,
        "paymentMethods": [
             {
                 "name":"Boleto a Faturar"
                 "referenceCode":"payment.method.boletoafaturar"
             },
             {
                 "name":"BNDES"
                 "referenceCode":"payment.method.creditcard.bndes"
             }
         ]
    }
]

Listar clientes (GET)

Recupera um ou mais clientes, de acordo com os documentos de identificação enviados, os quais podem ser CPF ou CNPJ (somente números).

Parâmetros aceitos neste método:

Parâmetro Tipo Obrigatório Descrição
identityNumbers string false CPF(s) ou CNPJ(s) dos clientes separados por vírgula. e.g. 12345678912, 12345678912345.
offset int false Posição inicial dos registros retornados. Exemplo, se houver 100 registros use offset 10 para pegar a partir do décimo primeiro registro. Default: 0.
limit int false Limite máximo de registros a retornar. Default: 10.
from date false Data de cadastro inicial, baseado na 00:00 hora do dia. e.g. 2014-01-01 (YYYY-mm-dd). Este filtro será executado com base na data de cadastro dos clientes.
to date false Data de cadastro final, baseado na 00:00 hora do dia. e.g. 2014-01-01 (YYYY-mm-dd). Este filtro será executado com base na data de cadastro dos clientes.
fromUpdatedAt date false Data de início, baseado na 00:00 hora do dia de último update. e.g. 2014-01-01 (YYYY-mm-dd).
toUpdatedAt date false Data de fim, baseado na 00:00 hora do dia de último update. e.g. 2014-01-01 (YYYY-mm-dd).

Request Example

.

GET /platform/api/customers/?identityNumbers=12345678900,12345678912345&token=******&version=1 HTTP/1.1
Host: https://flexy.api.flexy.com.br
Accept: application/json
Content-Type: application/json
Exemplo utilizando filtros de data

GET /p/platform/api/customers/?from=2014-10-28&to=2015-01-01&token=******&version=1 HTTP/1.1
Host: https://flexy.api.flexy.com.br
Accept: application/json
Content-Type: application/json

Response Example


HTTP/1.1 200 OK
Content-Type: application/json

[
    {
        "identityNumber": "05039800000154",
        "companyName": "Razao empresa",
        "tradeName": "Fantasia empresa",
        "responsible": "Rep empresa",
        "freeStateRegistration": true,
        "stateRegistration": "123456789",
        "primaryPhone": "48 32222222",
        "secondPhone": "48 32222222",
        "address": {
            "postCode": "88117030",
            "city": "Nome Cidade",
            "state": "SC",
            "country": "pais",
            "street": "rua teste",
            "district": "bairro",
            "complement": "Casa",
            "number": 998
        },
        "createdAt": "2014-06-25 12:11:20",
        "updatedAt": "2014-06-25 12:11:20",
        "email": "cliente@email.com",
        "customerType": {
            "name": "Tipo de Cliente",
            "referenceCode": "tipo.de.cliente",
            "priceList": {
                "name": "Ofertas",
                "referenceCode": "lista.ofertas"
            }
         },
        "priceList": {
            "name": "Outlet",
            "referenceCode": "lista.outlet"
         },
        "attributeValues": [
            {
                "name": "Site da empresa",
                "value": "www.flexy.com.br"
            }
        ]

Cadastrar Cliente (POST)

Cadastra um cliente. Utiliza corpo de request diferenciado para clientes de pessoa física e pessoa jurídica conforme exemplo abaixo

Parâmetros aceitos neste método:

Parâmetro Tipo Obrigatório Descrição
identityNumbers string true número do documento identificador do cliente, CPF para pessoa física ou CNPJ para pessoa jurídica.
companyName string true Somente utilizado para pessoa jurídica, nome da companhia.
tradeName string true Somente utilizado para pessoa jurídica, nome fantasia da companhia.
freeStateRegistration boolean true Somente utilizado para pessoa jurídica, se tem inscrição estadual como isenta (true ou false).
stateRegistration string true Somente utilizado para pessoa jurídica, Inscrição estadual.
responsible string true Somente utilizado para pessoa jurídica, nome do responsável.
firstName string true Somente utilizado para pessoa física, primeiro nome do cliente - A correta exibição na loja depende da ativação.
lastName string true Somente utilizado para pessoa física, sobrenome do cliente - A correta exibição na loja depende da ativação.
gender integer true Somente utilizado para pessoa física, gênero atribuido ao cliente, 0 para feminino 1 para masculino.
dateOfBirth date true Somente utilizado para pessoa física, data de nascimento formato yyyy-mm-dd.
enabled boolean false Identifica se o usuário/cliente está ativo no sistema
primaryPhone string false Telefone principal.
secondPhone string false telefone alternativo.
address[postCode] string true Endereço de entrega CEP do endereço.
address[city] string true Endereço de entrega Cidade do endereço.
address[state] string true Sigla do estado do endereço de entrega, por ex.: SC.
address[country] string true Endereço de entrega País do endereço.
address[street] string true Endereço de entrega Logradouro do endereço.
address[district] string true Endereço de entrega Bairro do endereço.
address[complement] string false Endereço de entrega Complemento do endereço.
address[number] string true Endereço de entrega Número do endereço.
customerType[referenceCode] string false Tipo de cliente, informar o código de referência do tipo de cliente cadastrado no sistema.
priceList string false Lista de preço associada ao cliente, informar o código de referência cadastrado no sistema.
attributeValues[referenceCode] string false Campos adicionais, informar código de referência.
attributeValues[value] string false Campos adicionais, informar valor do campo.

Request Example

Exemplo pessoa jurídica

POST /platform/api/customers/?token=******&version=1 HTTP/1.1
Host: https://flexy.api.flexy.com.br/
Accept: application/json
Content-Type: application/json
 {
   "identityNumber": "05039800000150",
   "companyName": "Razao empresa",
   "tradeName": "Fantasia empresa",
   "responsible": "Rep empresa",
   "freeStateRegistration": true,
   "stateRegistration": "123456789",
   "primaryPhone": "48 32222222",
   "secondPhone": "48 32222222",
   "address": {
      "postCode": "88117030",
      "city": "Nome Cidade",
      "state": "SC",
      "country": "pais",
      "street": "rua teste",
      "district": "bairro",
      "complement": "Casa",
      "number": 998
   },
   "email": "cliente@clientehost.com",
   "enabled": false,
   "customerType": {
      "referenceCode": "default.customer"
   },
   "priceList": "6",
   "attributeValues": [
      {
         "referenceCode": "campo_do_campo_de_referencia1",
         "value": "valor deste campo"
      },
      {
         "referenceCode": "campo_do_campo_de_referencia2",
         "value": "outro valor para outro campo"
      }
   ]
}
Exemplo pessoa física

POST /platform/api/customers/?token=******&version=1 HTTP/1.1
Host: https://flexy.api.flexy.com.br/
Accept: application/json
Content-Type: application/json
 {
   "firstName": "João",
   "lastName": "da Silva",
   "gender": 1,
   "dateOfBirth": "1973-04-14",
   "identityNumber": "11111111111",
   "primaryPhone": "(48) 3322-0851",
   "secondPhone": null,
   "address": {
     "postCode": "88010540",
     "city": "Florianópolis",
     "state": "SC",
     "country": "Brasil",
     "street": "Praça Pereira Oliveira",
     "district": "Centro",
     "complement": null,
     "number": 1170
   },
   "customerType": {
      "referenceCode": "default.customer"
   },
   "email": "cliente@clientehost.com.br",
   "attributeValues": [
      {
         "referenceCode": "campo_do_campo_de_referencia1",
         "value": "valor deste campo"
      },
      {
         "referenceCode": "campo_do_campo_de_referencia2",
         "value": "outro valor para outro campo"
      }
   ]
}
.

Response Example


HTTP/1.1 200 OK
Content-Type: application/json

[
    {
        "identityNumber": "05039800000154",
        "companyName": "Razao empresa",
        "tradeName": "Fantasia empresa",
        "responsible": "Rep empresa",
        "freeStateRegistration": true,
        "stateRegistration": "123456789",
        "primaryPhone": "48 32222222",
        "secondPhone": "48 32222222",
        "address": {
            "postCode": "88117030",
            "city": "Nome Cidade",
            "state": "SC",
            "country": "pais",
            "street": "rua teste",
            "district": "bairro",
            "complement": "Casa",
            "number": 998
        },
        "createdAt": "2014-06-25 12:11:20",
        "updatedAt": "2014-06-25 12:11:20",
        "email": "cliente@email.com",
        "customerType": {
            "referenceCode": "Tipo de Cliente"
         },
        "attributeValues": [
            {
                "name": "Site da empresa",
                "value": "www.flexy.com.br"
            }
        ]

Listar endereços (GET)

Recupera um ou mais endereços, de acordo com os documentos de identificação enviados, os quais podem ser CPF ou CNPJ (somente números).

Request Example

.

GET /platform/api/customers/11111111111/address/?token=******&version=1 HTTP/1.1
Host: https://flexy.api.flexy.com.br
Accept: application/json
Content-Type: application/json

Response Example


HTTP/1.1 200 OK
Content-Type: application/json

[
 {
     "postCode":"88010540",
     "city":"Florianópolis",
     "state":"sc",
     "country":"Brasil",
     "street":"Pra\u00e7a Pereira Oliveira",
     "district":"Centro",
     "complement":null,
     "number":15
 }
]

Cadastro de endereço (POST)

Cadastra um endereço para o cliente informado.

Parâmetros aceitos neste método:

Parâmetro Tipo Obrigatório Descrição
postCode string true Numero do CEP do endereço
city string true nome da cidade do endereço
state string true Sigla do estado relativo ao endereço, por ex.: SC
country string true Nome do país
street string true Logradouro do endereço
district string true Bairro do endereço
complement string false complemento do endereço, caso necessário
number integer true número do endereço

Request Example

Obs: o parâmetro da url referenceCodeStore, deve ser somente utilizado para lojas de shopping

POST /platform/api/customers/{numberIdentity}/address/?token=******&referenceCodeStore=shoppingstore-flexy&version=1 HTTP/1.1
Host: https://flexy.api.flexy.com.br/
Content-Type: application/json.

{
    "address": {
    "postCode": "88095385",
    "city": "Florianópolis",
    "state": "SC",
    "country": "Brasil",
    "street": "Praça XV",
    "district": "Centro",
    "number": 9
    }
}

Response Example

git
HTTP/1.1 200 OK
Content-Type: application/json

{
    "address": {
    "postCode": "88095385",
    "city": "Florianópolis",
    "state": "SC",
    "country": "Brasil",
    "street": "Praça XV",
    "district": "Centro",
    "number": 9
    }
}

Atualizar Cliente (PUT)

Atualiza ou cadastra um cliente. Utiliza corpo de request diferenciado para clientes de pessoa física e pessoa jurídica conforme exemplo abaixo

Parâmetros aceitos neste método:

Parâmetro Tipo Obrigatório Descrição
identityNumbers string true número do documento identificador do cliente, CPF para pessoa física ou CNPJ para pessoa jurídica.
companyName string true Somente utilizado para pessoa jurídica, nome da companhia.
tradeName string true Somente utilizado para pessoa jurídica, nome fantasia da companhia.
freeStateRegistration boolean true Somente utilizado para pessoa jurídica, se tem inscrição estadual como isenta (true ou false).
stateRegistration string true Somente utilizado para pessoa jurídica, Inscrição estadual.
responsible string true Somente utilizado para pessoa jurídica, nome do responsável.
firstName string true Somente utilizado para pessoa física, primeiro nome do cliente - A correta exibição na loja depende da ativação.
lastName string true Somente utilizado para pessoa física, sobrenome do cliente - A correta exibição na loja depende da ativação.
gender integer true Somente utilizado para pessoa física, gênero atribuido ao cliente, 0 para feminino 1 para masculino.
dateOfBirth date true Somente utilizado para pessoa física, data de nascimento formato yyyy-mm-dd.
enabled boolean false Identifica se o usuário/cliente está ativo no sistema
primaryPhone string false Telefone principal.
secondPhone string false telefone alternativo.
address[postCode] string false Endereço de entrega CEP do endereço.
address[city] string false Endereço de entrega Cidade do endereço.
address[state] string false Sigla do estado do endereço de entrega, por ex.: SC.
address[country] string false Endereço de entrega País do endereço.
address[street] string false Endereço de entrega Logradouro do endereço.
address[district] string false Endereço de entrega Bairro do endereço.
address[complement] string false Endereço de entrega Complemento do endereço.
address[number] string false Endereço de entrega Número do endereço.
customerType[referenceCode] string false Tipo de cliente, informar o código de referência do tipo de cliente cadastrado no sistema.
priceList string false Lista de preço associada ao cliente, informar o código de referência cadastrado no sistema. Use 'default' para retornar para a Lista de preço padrão
attributeValues[referenceCode] string false Campos adicionais, informar código de referência cadastrado no sistema.
attributeValues[value] string false Campos adicionais, informar valor do campo.

Request Example

Exemplo pessoa jurídica

PUT /platform/api/customers/05039800000150?token=******&version=1 HTTP/1.1
Host: https://flexy.api.flexy.com.br/
Accept: application/json
Content-Type: application/json
 {
   "identityNumber": "05039800000150",
   "companyName": "Razao empresa",
   "tradeName": "Fantasia empresa",
   "responsible": "Rep empresa",
   "freeStateRegistration": true,
   "stateRegistration": "123456789",
   "primaryPhone": "48 32222222",
   "secondPhone": "48 32222222",
   "address": {
      "postCode": "88117030",
      "city": "Nome Cidade",
      "state": "SC",
      "country": "pais",
      "street": "rua teste",
      "district": "bairro",
      "complement": "Casa",
      "number": 998
   },
   "email": "cliente@clientehost.com",
   "enabled": false,
   "customerType": {
      "referenceCode": "default.customer"
   },
   "priceList": "6",
   "attributeValues": [
      {
         "referenceCode": "campo_do_campo_de_referencia1",
         "value": "valor deste campo"
      },
      {
         "referenceCode": "campo_do_campo_de_referencia2",
         "value": "outro valor para outro campo"
      }
   ]
}
Exemplo pessoa física

PUT /platform/api/customers/11111111111?token=******&version=1 HTTP/1.1
Host: https://flexy.api.flexy.com.br/
Accept: application/json
Content-Type: application/json
 {
   "firstName": "João",
   "lastName": "da Silva",
   "gender": 1,
   "dateOfBirth": "1973-04-14",
   "identityNumber": "11111111111",
   "primaryPhone": "(48) 3322-0851",
   "secondPhone": null,
   "address": {
     "postCode": "88010540",
     "city": "Florianópolis",
     "state": "SC",
     "country": "Brasil",
     "street": "Praça Pereira Oliveira",
     "district": "Centro",
     "complement": null,
     "number": 1170
   },
   "customerType": {
      "referenceCode": "default.customer"
   },
   "email": "cliente@clientehost.com.br",
   "attributeValues": [
      {
         "referenceCode": "campo_do_campo_de_referencia1",
         "value": "valor deste campo"
      },
      {
         "referenceCode": "campo_do_campo_de_referencia2",
         "value": "outro valor para outro campo"
      }
   ]
}
.

Response Example


HTTP/1.1 200 OK
Content-Type: application/json

[
    {
        "identityNumber": "05039800000154",
        "companyName": "Razao empresa",
        "tradeName": "Fantasia empresa",
        "responsible": "Rep empresa",
        "freeStateRegistration": true,
        "stateRegistration": "123456789",
        "primaryPhone": "48 32222222",
        "secondPhone": "48 32222222",
        "address": {
            "postCode": "88117030",
            "city": "Nome Cidade",
            "state": "SC",
            "country": "pais",
            "street": "rua teste",
            "district": "bairro",
            "complement": "Casa",
            "number": 998
        },
        "createdAt": "2014-06-25 12:11:20",
        "updatedAt": "2014-06-25 12:11:20",
        "email": "cliente@email.com",
        "customerType": {
            "referenceCode": "Tipo de Cliente"
         },
        "attributeValues": [
            {
                "name": "Site da empresa",
                "value": "www.flexy.com.br"
            }
        ]

Autenticação de cliente (POST)

Efetua autenticação no sistema, validando se os dados de login e senha estão de acordo com o cadastro do cliente. Este método não faz o login do usuário no sistema apenas verifica se as informações fornecidas são autênticas. Os parâmetros para autenticação devem ser enviados via POST, como em um formulário para o correto tratamento da validação dos dados

Parâmetros aceitos neste método:

Parâmetro Tipo Obrigatório Descrição
username string true Username do cliente.
password string true Senha do cliente para validação.

Request Example

.

POST /platform/api/user/credentialsUserValidator?token=******&version=1
Host: https://flexy.api.flexy.com.br/
Parâmetros:
[chave] : [valor]
chave: username
valor: cliente@host.com.br

chave: password
valor: minhasenha

Response Example


HTTP/1.1 200 OK

[
    {
        "firstName": "João",
        "lastName": "da Silva",
        "gender": 0,
        "dateOfBirth": "1992-07-12",
        "identityNumber": "98293810765",
        "primaryPhone": "4832222222",
        "secondPhone": "4832222222",
        "address": {
            "postCode": "88015900",
            "city": "florianópolis",
            "state": "SC",
            "country": "Brasil",
            "street": "Avenida Osmar Cunha",
            "district": "Centro",
            "complement": "sala 201 bloco c",
            "number": 555
        },
        "createdAt": "2013-12-09 09:39:31",
        "updatedAt": "2013-12-09 09:40:31",
        "attributeValues": [
            {
                "name": "Nome da mãe",
                "value": "Maria Aparecida da Silva"
            }
        ]
    },
    {
        "identityNumber": "05039800000154",
        "companyName": "Razao empresa",
        "tradeName": "Fantasia empresa",
        "responsible": "Rep empresa",
        "freeStateRegistration": true,
        "stateRegistration": "123456789",
        "primaryPhone": "48 32222222",
        "secondPhone": "48 32222222",
        "address": {
            "postCode": "88117030",
            "city": "Nome Cidade",
            "state": "SC",
            "country": "pais",
            "street": "rua teste",
            "district": "bairro",
            "complement": "Casa",
            "number": 998
        },
        "createdAt": "2014-06-25 12:11:20",
        "updatedAt": "2014-06-25 12:11:20",
        "attributeValues": [
            {
                "name": "Site da empresa",
                "value": "www.flexy.com.br"
            }
        ]

Contatos

Contato (GET)

Lista de mensagens.

Parâmetros aceitos neste método:

Parâmetro Tipo Obrigatório Descrição
referenceCodeStore string false Código de referência da loja para qual as mensagens foram enviadas.
answer boolean false Lista de mensagens que foram respondidas.
from date false Data de início, baseada na data de criação do contato. Ex: 2017-01-01 (YYYY-mm-dd). Serão considerados todos os registros cadastrados desde às 00:00 do dia informado.
to date false Data de fim, baseada na data de criação do contato. Ex: 2017-02-01 (YYYY-mm-dd). Serão considerados todos os registros cadastrados desde às 00:00 do dia informado.
referenceCodes string false Código de referência do contato. Ex: referenceCodes=referenceCode1,referenceCode2,...
offset integer false Posição inicial dos registros retornados. Exemplo, se houver 100 registros use offset 10 para pegar a partir do décimo primeiro registro. Default: 0.
limit integer false Limite máximo de registros a retornar. Default: 10.

Exemplo de requisição

Obs: o parâmetro da url referenceCodeStore, deve ser somente utilizado para lojas de shopping

GET /platform/api/contact/?token=******&version=1 HTTP/1.1
Host: https://flexy.api.flexy.com.br/
Accept: application/json
Content-Type: application/json
Exemplo utilizando parâmetros de contato

GET /platform/api/contact/?token=******&answer=true&from=2017-01-01&to=2017-02-01&referenceCodeStore=shoppingstore-flexy&version=1 HTTP/1.1
Host: https://flexy.api.flexy.com.br/
Accept: application/json
Content-Type: application/json

GET /platform/api/contact/?token=******&referenceCodes=referenceCode1,referenceCode2&version=1 HTTP/1.1
Host: https://flexy.api.flexy.com.br/
Accept: application/json
Content-Type: application/json

GET /platform/api/contact/?token=******&offset=10&limit=5&version=1 HTTP/1.1
Host: https://flexy.api.flexy.com.br/
Accept: application/json
Content-Type: application/json

Exemplo de resposta

.

HTTP/1.1 200 OK
Content-Type: application/json

 [
     {
          "id": 67,
          "referenceCode": "rli4RL7CkW076",
          "shoppingStoreReferenceCode": null,
          "createdAt": "2017-08-28 13:28:23",
          "name": "Edson",
          "email": "edson@test.com.br",
          "phone": "(11) 11111-1111",
          "platformUserName": null,
          "platformUserEmail": null,
          "customer": {
              "firstName": "Edson A.",
              "lastName": null,
              "gender": 0,
              "dateOfBirth": "1988-03-28",
              "identityNumber": "06823201967",
              "primaryPhone": "(48) 8404-5954",
              "secondPhone": null,
                  "address": {
                  "postCode": "88062030",
                  "city": "Florianópolis",
                  "state": "SC",
                  "country": "Brasil",
                  "street": "Rua José Henrique Veras",
                  "district": "Lagoa da Conceição",
                  "complement": "03",
                  "number": 533
                  },
              "createdAt": "2016-07-04 16:20:13",
              "updatedAt": "2017-08-25 16:25:00",
              "customerType": {
                  "name": "Lojista VIP",
                  "referenceCode": null
                  },
          "email": "edson@flexy.com.br",
          "attributeValues": [
                  {
                      "name": "teste",
                      "referenceCode": "teste123",
                      "value": ""
                  },
                  {
                      "name": "teste teste",
                      "referenceCode": "123456",
                      "value": "teste"
                  },
                  {
                      "name": "whattsapp",
                      "referenceCode": "1111",
                      "value": "45"
                  }
              ]
          },
          "subject": "test",
          "message": "test message",
          "answeredAt": null,
          "answer": null,
          "orderNumber": null,
          "orderId": null,
          "parentReferenceCode": null,
          "answerReferenceCode": null
      }
 ]

Listas

Cadastro Lista de Preço (POST)

Cadastra uma lista de preço.

Parâmetros aceitos neste método:

Parâmetro Tipo Obrigatório Descrição
name string true Nome da lista de preço.
referenceCode string true Código de referência. Necessita ser um valor única, ou seja, se o valor inserido já estiver cadastrado a chamada retornará um erro

Request Example

Exemplo Lista de Preço

POST /platform/api/price-list/?token=******&version=1 HTTP/1.1
Host: https://flexy.api.flexy.com.br/
Accept: application/json
Content-Type: application/json
 {
   "name": "Lista de Casamento",
   "referenceCode": "LC0296471"
}
.

Response Example


HTTP/1.1 200 OK
Content-Type: application/json

[
    {
        "name": "Lista de Casamento",
        "referenceCode": "LC0296471"
    }
]

Lojas

Listar lojas (GET)

Recupera uma ou mais lojas de acordo com os códigos de referência.

Parâmetros aceitos neste método:

Parâmetro Tipo Obrigatório Descrição
offset int false Posição inicial dos registros retornados. Exemplo, se houver 100 registros use offset 10 para pegar a partir do décimo primeiro registro. Default: 0.
limit int false Limite máximo de registros a retornar. Default: 10.

Request Example

.

GET /platform/api/shopping-store/?token=token&version=1 HTTP/1.1
OU
GET /platform/api/shopping-store/?token=token&referenceCodes=loja-1,loja-2,loja-3&version=1 HTTP/1.1
Host: https://flexy.api.flexy.com.br
Accept: application/json
Content-Type: application/json

Response Example


HTTP/1.1 200 OK
Content-Type: application/json

[
    {
        "name": "loja-1",
        "createdAt": "2016-10-14 14:47:05",
        "updatedAt": "2017-08-07 14:39:32",
        "referenceCode": "loja-1",
        "logoUrl": "//d8vlg9z1oftyc.cloudfront.net/test/image/media/logo-test-581295ef0b42e.png",
        "faviconUrl": "//d8vlg9z1oftyc.cloudfront.net/test/image/media/favicon-test-581295f0c728a.png",
        "primaryPhone": "(11) 3333-3333",
        "domain": "www.test.com.br",
        "email": "test@test.com.br",
        "userEmail": "user@test.com.br",
        "cnpj": "99.999.999/0001-99",
        "stateRegistration": "999.999.999.999",
        "responsibleName": "John",
        "companyName": "Test company",
        "tradeName": "Test company name",
        "isEnabled": true,
        "isActivated": true,
        "address": "Rua test, 280. District, SP. 88888888, Brasil",
        "distributionCenter": {
            "referenceCode": "test",
            "postcode": "88888888",
            "city": "Test",
            "state": "SP",
            "country": "Brasil",
            "district": "Test",
            "street": "Rua test",
            "complement": "",
            "number": 777
        },
        "socialMedia": {
            "facebookUrl": "http://www.facebook.com/test/events/",
            "twitterUrl": "http://twitter.com/test?lang=pt-br",
            "youtubeUrl": "http://www.youtube.com",
            "googleplusUrl": "http://www.google.com",
            "instagramUrl": "http://www.instagram.com/test/?hl=pt-br"
        },
        "attributeValues": [
            "name" : "test",
            "referenceCode" : "test-code",
            "value" : "Test text"
        ],
        "shoppingStoreGateway": [
            {
                "name": "moip",
                "commission": {
                     "value": "25",
                     "type": "percentual"
                }
            },
            {
                "name": "pagseguro",
                "commission": {
                     "value": "50",
                     "type": "percentual"
                }
            }
        ]
    }
]

Notas

Busca de Nota Fiscal (GET)

Busca as Notas Fiscais de um pedido.

Request Example

.

GET /platform/api/invoices/?order=123456789&token=loja&referenceCodeStore=shoppingstore-flexy&version=1 HTTP/1.1
Host: https://flexy.api.flexy.com.br/
Content-Type: application/json

Response Example


HTTP/1.1 200 OK
Location: https://flexy.api.flexy.com.br/platform/api/invoices
Content-Type: application/json
 [
     {
         "invoice": {
             "code": "63051",
             "order": "123456789",
             "secret": "546848435435465464646546541321354",
             "url": "http://teste.com.br/link/nota.html"
         }
     }
 ]

Cadastro de Nota Fiscal (PUT)

Efetua o cadastro/atualização de uma nota fiscal em um pedido.

Parâmetros aceitos neste método:

Parâmetro Tipo Obrigatório Descrição
code string true Número da nota fiscal gerada.
secret string true Chave da nota fiscal.
url string true Link para visualização da nota fiscal .
order string true Número do pedido a ser associado a nota fiscal

A Nota Fiscal possui 3 informações: Código da nota (code), Chave (secret) e Link (url),
e está sempre associada a um pedido (order).

Regras:

 > Um pedido pode de ter mais de uma nota fiscal.
 > Uma mesma nota fiscal pode ser cadastrada em pedidos diferentes (marketplaces).
 > A plataforma Flexy apenas recebe e registra os dados de nota fiscal nos pedidos, sem que haja ingerência sobre os mesmos.

Request Example

Obs: o parâmetro da url referenceCodeStore, deve ser somente utilizado para lojas de shopping

PUT /platform/api/invoices/?token=******&referenceCodeStore=shoppingstore-flexy&version=1 HTTP/1.1
Host: https://flexy.api.flexy.com.br/
Content-Type: application/json

{
     "invoice": {
         "code": "63051",
         "secret": "546848435435465464646546541321354",
         "url": "http://teste.com.br/link/nota.html",
         "order": "8496464654684684"
     }
 }

Response Example


HTTP/1.1 201 Created
Location: https://flexy.api.flexy.com.br/platform/api/invoices/1
Content-Type: application/json
 {
     "invoice": {
         "code": "63051",
         "order": "123456789",
         "secret": "546848435435465464646546541321354",
         "url": "http://teste.com.br/link/nota.html"
     }
 }

Orçamentos

Listar orçamentos (GET)

Recupera um ou mais orçamentos de acordo com os filtros de data enviados.

Parâmetros aceitos neste método:

Parâmetro Tipo Obrigatório Descrição
from date false Data de fim, baseado na data de criação do orçamento. e.g. 2020-01-01T00:00:00 (YYYY-mm-ddTH:i:s). Somente é válido em uso com 'to'
to date false Data de fim, baseado na data de criação do orçamento. e.g. 2020-01-01T23:59:59 (YYYY-mm-ddTH:i:s). Somente é válido em uso com 'from'
status string false Status atual do orçamento. Valores possíveis: Em Aberto: status.opened, Fechado: status.closed
statusChangeFrom date false Data início de filtro baseado na data de alteração do status do orçamento. e.g. 2020-01-01T00:00:00 (YYYY-mm-ddTH:i:s). Somente é válido em uso com 'statusChangeTo' e 'statusFilter'
statusChangeTo date false Data fim de filtro baseado na data de alteração do status do orçamento. e.g. 2020-01-01T23:59:59 (YYYY-mm-ddTH:i:s). Somente é válido em uso com 'statusChangeFrom' e 'statusFilter'
statusFilter string false Filtro para status do orçamento em um período. Valores possíveis: Em Aberto: status.opened, Fechado: status.closed
limit integer false Limite máximo de registros a retornar. Default: 10
offset integer false Posição inicial dos registros retornados. Exemplo, se houver 100 registros use offset 10 para pegar a partir do décimo primeiro registro. Default: 0

Exemplo de requisição

Obs: o parâmetro da url referenceCodeStore, deve ser somente utilizado para lojas de shopping

GET /platform/api/quotes/?from=2015-01-01&to=2015-01-31&offset=10&limit=5&token=******&referenceCodeStore=shoppingstore-flexy&version=1  HTTP/1.1
Host: https://flexy.api.flexy.com.br/
Accept: application/json
Content-Type: application/json
Exemplo utilizando números de orçamentos

GET /platform/api/quotes/?numbers=28420150105094511,18920141210122230&token=******&referenceCodeStore=shoppingstore-flexy&version=1 HTTP/1.1
Host: https://flexy.api.flexy.com.br/
Accept: application/json
Content-Type: application/json
.

Exemplo de resposta


HTTP/1.1 200 OK
Content-Type: application/json

 [
     {
         "number":"28420150105094511",
         "shoppingStore":null,
         "itemsCount":"1",
         "total":"85.70",
         "totalWithDiscount":"79.90",
         "shoppingStore":"My Store Test",
         "observation": "Minha observação",
         "customer":{
             "firstName":"Edson A.",
             "lastName":"do Nascimento",
             "gender":1,
             "dateOfBirth":"1942-07-12",
             "identityNumber":"11111111111",
             "primaryPhone":"(48) 5554-4990",
             "secondPhone":"(48) 5555-4991",
             "address":{
                 "postCode":"88010540",
                 "city":"Florianópolis",
                 "state":"SC",
                 "country":"Brasil",
                 "street":"Praça XV",
                 "district":"Centro",
                 "complement":"123",
                 "number":5
             },
             "createdAt":"2014-06-22 11:21:54",
             "updatedAt":"2014-12-08 10:00:08",
             "customerType":{
                 "name":"Consumidor"
             },
             "email":"cliente@host.com.br",
             "attributeValues":[]
         },
         "createdAt":"2015-01-05 09:45:11",
         "updatedAt":"2015-01-05 09:45:47",
         "items":[
            {
                "name":"Chuteira 40",
                "referenceCode": "chuteira-40",
                "quantity":1,
                "unitPrice":85.7,
                "unitPriceWithDiscount":85.7,
                "totalPrice":85.7,
                "totalPriceWithDiscount":85.7,
                "image":"https://flexy.api.flexy.com.br/images/image.png"
            }
        ],
        status: {
             name: "status.closed",
             createdAt: "2015-09-11 14:41:55"
        },
    }
 ]

Pedidos

Listar pedidos (GET)

Recupera um ou mais pedidos baseado nos filtros enviados. Os filtros podem ser data de realização do pedido, número do pedido, ou status dos pedidos.

Parâmetros aceitos neste método:

Parâmetro Tipo Obrigatório Descrição
numbers string false Números dos pedidos desejados, separados por vírgulas (,)
offset int false Posição inicial dos registros retornados. Exemplo, se houver 100 registros use offset 10 para pegar a partir do décimo primeiro registro. Default: 0
limit int false Limite máximo de registros a retornar. Default: 10. Máximo: 100
from date false Data início de filtro baseado na data de criação do pedido. e.g. 2014-01-01T13:45:59 (YYYY-mm-ddTH:i:s). Serão considerados todos os registros cadastrados desde às 00:00 do dia informado ou até o horário informado. Somente é válido em uso com 'to'
to date false Data fim de filtro baseado na data de criação do pedido. e.g. 2014-01-01T13:45:59 (YYYY-mm-ddTH:i:s). Serão considerados todos os registros cadastrados até às 23:59:59 do dia informado ou até o horário informado. Somente é válido em uso com 'from'
statusChangeFrom date false Data início de filtro baseado na data de alteração do status do pedido. e.g. 2014-01-01T13:45:59 (YYYY-mm-ddTH:i:s). Serão considerados todos os registros cadastrados até às 23:59:59 do dia informado ou até o horário informado. Somente é válido em uso com 'statusChangeTo' e 'statusFilter'
statusChangeTo date false Data fim de filtro baseado na data de alteração do status do pedido. e.g. 2014-01-01T13:45:59 (YYYY-mm-ddTH:i:s). Serão considerados todos os registros cadastrados até às 23:59:59 do dia informado ou até o horário informado. Somente é válido em uso com 'statusChangeFrom' e 'statusFilter'
status string false Status atual do pedido. Valores possíveis: Aguardando Pagamento: status.waiting_payment,Pago: status.paid, Não autorizado: status.payment_refused, Aguardando envio: status.waiting_shipment, Em separação: status.preparing_shipment, Enviado: status.shipped, Aguardado retirada: status.waiting_pick_up, Entregue: status.delivered, Cancelado: status.canceled, Faturado: status.billed, Faturado parcialmente: status.billed_partial, Devolvido parcialmente: status.returned_partial, Devolvido: status.returned
statusFilter string false Filtro para status do pedido em um período. Valores possíveis: Aguardando Pagamento: status.waiting_payment, Pago: status.paid, Não autorizado: status.payment_refused, Aguardando envio: status.waiting_shipment, Enviado: status.shipped, Entregue: status.delivered, Cancelado: status.canceled, Somente é válido em uso com 'statusChangeFrom' e 'statusChangeTo'
onlySubscriptions string false Se true, retorna os pedidos gerados a partir de alguma assinatura. Se false, retorna os pedidos normais
masterSaleNumber string false Número do pedido master. Quando uma loja é um marketplace ou múltiplos CDs, um mesmo checkout pode gerar múltiplos pedidos. Agrupamos esses pedidos através do masterSaleNumber.

Request Example

Obs: o parâmetro da url referenceCodeStore, deve ser somente utilizado para lojas de shopping

GET /platform/api/orders/?from=2015-01-01T13:45:59&to=2015-01-31T13:45:59&offset=10&limit=5&token=******&referenceCodeStore=shoppingstore-flexy&version=1 HTTP/1.1
Host: https://flexy.api.flexy.com.br
Accept: application/json
Content-Type: application/json
Exemplo utilizando números de pedidos

GET /platform/api/orders/?numbers=28420150105094511,18920141210122230&token=******&referenceCodeStore=shoppingstore-flexy&version=1 HTTP/1.1
Host: https://flexy.api.flexy.com.br
Accept: application/json
Content-Type: application/json
Exemplo utilizando assinatura

GET /platform/api/orders/?onlySubscriptions=true&token=******&version=1 HTTP/1.1
Host: https://flexy.api.flexy.com.br
Accept: application/json
Content-Type: application/json
.

Response Example


HTTP/1.1 200 OK
Content-Type: application/json

 [
     {
         "number": "99785120141222233440",
         "total": 151.91,
         "promotionDiscount": 0,
         "grossAmount": "159.90",
         "promotionsApplied": [
             {
                 "name": "2",
                 "referenceCode": "2",
                 "type": "promotion.type.cart",
                 "discountApplied": 10,
                 "shoppingStore": {
                     "referenceCode": "loja"
                 }
             },
                 {
                 "name": "3",
                 "referenceCode": "3",
                 "type": "promotion.type.cart",
                 "discountApplied": 20,
                 "shoppingStore": null
             },
         ],
         "agent": [
             {
                 "name" : "John Smith",
                 "email" : "agent@flexy.com.br",
                 "token" : 2eef5d09
             }
         ],
         "agents": [
             {
                 "email" : "agent@flexy.com.br",
                 "commission" : 105.77,
                 "token" : 2eef5d09
             }
         ],
         "attributeValues": [
             {
                 "referenceCode" : "parceiro",
                 "value" : "walmart"
             }
         ],
          "user": {
             "responsible": "nome de usuario",
             "email": "usuario@flexy.com.br"
         },
         "customer": {
             "firstName": "Edson Arantes",
             "lastName": "Arantes do Nascimento",
             "gender": 1,
             "dateOfBirth": "1982-06-20",
             "identityNumber": "11111111111",
             "primaryPhone": "(48) 5555-15454",
             "secondPhone": null,
             "address": {
                 "postCode": "88010540",
                 "city": "Florianópolis",
                 "state": "SC",
                 "country": "Brasil",
                 "street": "Praça XV",
                 "district": "Centro",
                 "complement": null,
                 "number": 3
             },
         "createdAt": "2014-12-22 23:30:59",
         "updatedAt": "2014-12-22 23:32:59",
         "customerType": null,
         "email": "email@cliente.com.br",
         "attributeValues": null
         },
         "paymentMethods": [
         {
             "name": "payment.method.boleto",
             "installments": null,
             "amount": 159.9,
             "discount": 7.99,
             "addition": 8.54,
             "boletoRule": null,
             "interestValue": 0,
             "boletoUrl": null,
             "creditCardToken": null
         }
         ],
         "createdAt": "2014-12-22 23:34:40",
         "updatedAt": null,
         "deletedAt": null,
         "items": [
         {
             "name": "Produto 1",
             "quantity": 1,
             "unitPrice": 159.9,
             "totalPrice": 159.9,
             "promotionDiscount": 0,
             "promotionsApplied": [
                 {
                     "quantity": null,
                     "name": "Super promoção",
                     "referenceCode": "super-promocao",
                     "type": "promotion.type.catalog",
                     "discountApplied": 10,
                     "shoppingStore": {
                         "referenceCode": "loja"
                     }
                 },
                 {
                     "quantity": null,
                     "name": "Mega promoção",
                     "referenceCode": "mega-promocao",
                     "type": "promotion.type.progressive",
                     "discountApplied": 20,
                     "shoppingStore": null
                 }
             ],
             "grossAmount": 159.9,
             "taxSubstitution": 0,
             "variant": {
                 "referenceCode": "produto1",
                 "presentation": "produto-1",
                 "url": "/produto/produto1/produto-1",
                 "price": 159.9,
                 "master": true,
                 "masterImage": null,
                 "stock": {
                     "quantity": 1,
                     "minimumQuantity": 0
                 },
                 "priceList": null,
                 "dimensionGroup": {
                     "height": 10,
                     "width": 50.5,
                     "depth": 31.4,
                     "weight": 2.79
                 }
             },
             "shippingAddress": {
                 "postCode": "88010540",
                 "city": "Florianópolis",
                 "state": "SC",
                 "country": "Brasil",
                 "street": "Praça XV",
                 "district": "Centro",
                 "complement": null,
                 "number": 3
             },
             "shippingMethod": {
                 "name": "PAC",
                 "referenceCode": "correios.pac",
                 "estimatedDeliveryFrom": 9,
                 "estimatedDeliveryTo": 9,
                 "deliveryTimeFrom": null,
                 "deliveryTimeTo": null,
                 "price": 0,
                 "carrier": null,
                 "observations": null,
                 "quoteId": "24437830"
             },
             "trackingCode": null,
             "properties": [
               {
                 "name": "Nome da Característica,
                 "referenceCode": "cod-ref-caracteristica",
                 "value": "42"
               }
           ]
         },
         {
             "name": "Kit",
             "quantity": 1,
             "unitPrice": 90.00,
             "totalPrice": 90.00,
             "promotionDiscount": 0,
             "promotionsApplied": [],
             "grossAmount": 90.00,
             "taxSubstitution": 0,
             "variant": {
                 "referenceCode": "kit",
                 "presentation": "kit",
                 "url": "/produto/kit/kit",
                 "price": 90.00,
                 "master": true,
                 "masterImage": null,
                 "stock": {
                     "quantity": 1,
                     "minimumQuantity": 0
                 },
                 "priceList": null,
                 "dimensionGroup": {
                     "height": 10,
                     "width": 50.5,
                     "depth": 31.4,
                     "weight": 2.79
                 }
             },
             "shippingAddress": {
                 "postCode": "88010540",
                 "city": "Florianópolis",
                 "state": "SC",
                 "country": "Brasil",
                 "street": "Praça XV",
                 "district": "Centro",
                 "complement": null,
                 "number": 3
             },
             "shippingMethod": {
                 "name": "PAC",
                 "referenceCode": "correios.pac",
                 "estimatedDeliveryFrom": 9,
                 "estimatedDeliveryTo": 9,
                 "deliveryTimeFrom": null,
                 "deliveryTimeTo": null,
                 "price": 0,
                 "carrier": null,
                 "observations": null
             },
             "trackingCode": null,
             "properties": [],
             "taxSubstitutionsApplied": [
                 {
                     "taxBilled": 0.03,
                     "mvaOriginal": 1,
                     "mvaAdjusted": null,
                     "internalAliquot": 17,
                     "internalAliquotAdjustedByProduct": 10,
                     "interstateAliquot": null,
                     "interstateAliquotAdjustedByProduct": 5,
                     "freightRate": 3.15,
                     "ipi": 0.14,
                     "itemUnitPrice": 15,
                     "itemTotalPrice": 15,
                     "variantReferenceCode": "icms-1",
                     "productReferenceCode": "icms-1"
                 },
                 {
                     "taxBilled": 0.06,
                     "mvaOriginal": 1,
                     "mvaAdjusted": null,
                     "internalAliquot": 17,
                     "interstateAliquot": null,
                     "freightRate": 6.3,
                     "ipi": 0.29,
                     "itemUnitPrice": 30,
                     "itemTotalPrice": 30,
                     "variantReferenceCode": "icms-2",
                     "productReferenceCode": "icms-2"
                 },
                 {
                     "taxBilled": 0.09,
                     "mvaOriginal": 1,
                     "mvaAdjusted": null,
                     "internalAliquot": 17,
                     "interstateAliquot": null,
                     "freightRate": 9.45,
                     "ipi": 0.44,
                     "itemUnitPrice": 45,
                     "itemTotalPrice": 45,
                     "variantReferenceCode": "icms-3",
                     "productReferenceCode": "icms-3"
                 }
             ],
             "itemsKit": [
                 {
                     "variantReferenceCode": "icms-1",
                     "productReferenceCode": "icms-1",
                     "quantity": 1
                 },
                 {
                     "variantReferenceCode": "icms-2",
                     "productReferenceCode": "icms-2",
                     "quantity": 1
                 },
                 {
                     "variantReferenceCode": "icms-3",
                     "productReferenceCode": "icms-3",
                     "quantity": 1
                 }
             ],
             "additionalTo": "produto-1"
         }
         ],
         "status": {
             "name": "status.paid",
             "info": null,
             "createdAt": "2014-12-29 01:59:54"
         },
         "shippingTotal": 0,
         "subscription": {
             "number": "1806604344",
             "planConfiguration": {
                 "referenceCode": "0006x",
                 "name": "Plano de 6 meses",
                 "paymentInterval": 2,
                 "paymentIntervalType": "month",
                 "maxPaymentsAllowed": 3,
                 "maxPaymentAttempts": 0,
                 "paymentAttemptsDelay": 1,
                 "maxPendingPayments": 1,
                 "trialDays": 0
             }
         },
         "orderGatewayInfo": {
             "data": [
                 {
                     "code": "transaction-id",
                     "value": "654321"
                 },
                 {
                     "code": "transaction-nsu",
                     "value": "123456"
                 }
             ],
             "gatewayReferenceCode": "payment.gateway.pagarme"
         },
         "masterSale": {
              "number": "1809013804"
          }
     }
 ]

Objeto "orderGatewayInfo"

Consiste em um objeto com 2 posições, "data" e "gatewayReferenceCode". Na propriedade "gatewayReferenceCode", encontra-se uma String constando o código de referência do gateway de pagamento utilizado para o pagamento do pedido. Os valores possíveis para "gatewayReferenceCode" são:
  • payment.gateway.payu
  • payment.gateway.moip
  • payment.gateway.cielo
  • payment.gateway.pagseguro
  • payment.gateway.none
  • payment.gateway.pagarme
  • payment.gateway.rede
  • payment.gateway.mundipagg
  • payment.gateway.juno
Na propriedade "data" encontra-se um array composto por objetos com a estrutura a seguir:

Content-Type: application/json

{
    "code": "Código propriedade",
    "value": "Valor propriedade"
}
As propriedades e sua disponibilidade conforme o gateway estão listadas abaixo:
Código propriedade Valor propriedade Gateways
transaction-id string Todos
transaction-nsu string payment.gateway.pagarme
additional-value-percentage float payment.gateway.rede
authorized-value float payment.gateway.rede
captured-value float payment.gateway.rede
refunded-value float payment.gateway.rede
refunded-status string - 3 valores são possíveis:
'waiting' (aguardando estorno),
'approved' (estorno aprovado),
'denied' (estorno negado)
payment.gateway.rede

Cadastro de pedido (POST)

Efetua o cadastro de pedido.

Parâmetros aceitos neste método:

Parâmetro Tipo Obrigatório Descrição
orderNumber string false Número de referência do pedido no sistema. Deve conter apenas números e ter no máximo 30 dígitos.
shippingTotal float true Preço de frete.
status[name] string true Status do pedido. Valores aceitos: 'status.waiting_payment', 'status.paid', 'status.payment_refused', 'status.waiting_shipment', 'status.preparing_shipment', 'status.shipped', 'status.waiting_pick_up', 'status.delivered', 'status.canceled', 'status.billed', 'status.billed_partial', 'status.returned_partial', 'status.returned'
status[info] string false Mensagem informativa. Utilizada nos status: aguardando retirada, devolvido, devolvido parcialmente e cancelado
customer[identityNumber] string true CPF ou CNPJ do cliente
agent[email] string false E-mail do agente que realizou o pedido
agent[commission] float false Valor em reais da comissão do agente sobre o pedido
shoppingStore[referenceCode] string false Código de referência da loja ou do centro de distribuição. Necessário somente para multiplos CDs ou Shopping
promotionsApplied[referenceCode] string false Código de referência da promoção. Somente serão aceitas as promoções dos tipos 'Cupom' e 'Carrinho'
promotionsApplied[discountApplied] float false Desconto aplicado pela promoção. Esse é o valor calculado do desconto, portando um valor em reais. Por exemplo, numa promoção de catálogo com desconto de 10% e um produto de R$200,00, o valor do discountApplied deve ser de 20.00. O valor de 10% para cadastrar no pedido é obtido através da consulta pelo referenceCode da promoção já cadastrada.
promotionsApplied[quantity] integer false Quantidade de items que terão a promoção aplicada. Aplicável somente a promoção Compre X Leve Y
attributeValues[][referenceCode] string false Código de referência do campo adicional
attributeValues[][value] string false Valor do campo adicional
paymentMethods[][name] string true Nome do metodo de pagamento. Opções permitidas: 'payment.method.creditcard.hipercard', 'payment.method.creditcard.oipaggo', 'payment.method.creditcard.visa', 'payment.method.creditcard.visaelectron', 'payment.method.creditcard.mastercard', 'payment.method.creditcard.americanexpress', 'payment.method.creditcard.elo', 'payment.method.creditcard.dinners', 'payment.method.creditcard.jcb', 'payment.method.creditcard.discover', 'payment.method.creditcard.aura', 'payment.method.creditcard.bndes', 'payment.method.boleto', 'payment.method.boletoafaturar', 'payment.method.deposit', 'payment.method.forfree', 'payment.method.negotiable'
paymentMethods[][installments] integer false Número de parcelas, caso seja cartão de crédito
paymentMethods[][boletoRule][rule] float false Código da regra para boleto a faturar usada
items[][quantity] float true Quantidade de items
items[][unitPrice] float true Preço unitário do produto
items[][variant][referenceCode] string true Código de referência da variação
items[][shippingAddress][postCode] integer true CEP de um endereço do cliente previamente cadastrado
items[][shippingMethod][referenceCode] string true Código de referência do metodo de entrega. Valores aceitos: * 'correios.pac', * 'correios.sedex', * 'correios.esedex'
items[][shippingMethod][estimatedDeliveryFrom] integer true Quantidade mínima de dias estimado para a entrega
items[][shippingMethod][estimatedDeliveryTo] integer true Quantidade máxima de dias estimado para a entrega
items[][shippingMethod][deliveryTimeFrom] datetime true Data mínima para entrega
items[][shippingMethod][deliveryTimeTo] datetime true Data máxima para entrega
items[][shippingMethod][observations] string false Observação do método de entrega
items[][promotionsApplied][referenceCode] string false Código de referência da promoção. Serão aceitas as promoções dos tipos 'Catalogo', 'Cupom' e 'Carrinho'
items[][promotionsApplied][discountApplied] float false Desconto aplicado pela promoção
items[][taxSubstitutionApplied][taxBilled] float false ICMS St cobrado no item
items[][taxSubstitutionApplied][mvaOriginal] float false MVA original utilizado
items[][taxSubstitutionApplied][mvaAdjusted] float false MVA ajustado utilizado
items[][taxSubstitutionApplied][internalAliquot] float false Alíquota interna utilizada
items[][taxSubstitutionApplied][interstateAliquot] float false Alíquota externa utilizada
items[][taxSubstitutionApplied][freightRate] float false Frete reteado para o item
items[][taxSubstitutionApplied][ipi] float false Valor do IPI do item
items[][properties][][referenceCode] string false Código de referência do campo personalizado do produto.
items[][properties][][value] string false Valor para atribuir ao campo personalizado do produto.

Request Example

Obs: o parâmetro da url referenceCodeStore, deve ser somente utilizado para lojas de shopping

POST /platform/api/orders/?token=******&referenceCodeStore=shoppingstore-flexy&version=1 HTTP/1.1
Host: https://flexy.api.flexy.com.br
Accept: application/json
Content-Type: application/json
{
   "orderNumber": "0000000000000042",
   "customer": {
       "identityNumber":"08466306994"
   },
   "agent": {
       "email" : "agent@agent-comapny.com",
       "commission" : 10.00
   },
   "shoppingStore": {
       "referenceCode" : "my-store"
   },
   "promotionsApplied": [
       {
           "referenceCode" : "test",
           "discountApplied" : 2.50
       }
   ],
   "attributeValues": [
       {
           "referenceCode" : "parceiro",
           "value" : "walmart"
       }
   ],
   "paymentMethods":[
       {
           "name":"payment.method.boleto",
           "installments":null,
           "boletoRule":null
       }
   ],
   "items":[
       {
           "quantity":1,
           "unitPrice":145.80,
           "variant":{
               "referenceCode":"chuteira40"
           },
           "shippingAddress":{
               "postCode":"88010450"
           },
           "shippingMethod":{
               "referenceCode":"correios.pac",
               "estimatedDeliveryFrom":5,
               "estimatedDeliveryTo":5,
               "deliveryTimeFrom":null,
               "deliveryTimeTo":null,
               "carrier":null,
               "observations": null
           },
           "promotionsApplied": [
                {
                    "referenceCode" : "test",
                    "discountApplied" : 2.50
                }
           ],
           "taxSubstitutionApplied" : {
               "taxBilled" : 10.15,
               "mvaOriginal": 40.00,
               "mvaAdjusted": 47.00,
               "internalAliquot": 19.00,
               "interstateAliquot": 20.00,
               "freightRate": 8.62,
               "ipi": 10.55
           },
           "properties": [
               {
                  "referenceCode": "campopersonalizado",
                  "value": "10"
               }
           ],
       }
   ],
   "status":{
       "name":"status.paid",
       "info":null
   },
   "shippingTotal":8.62
}
.

Response Example


HTTP/1.1 200 OK
Location: https://flexy.api.flexy.com.br/platform/api/order/tracking-code/
Content-Type: application/json

{
    "number":"1509597027",
    "total":154.42,
    "promotionDiscount":0,
    "grossAmount":"145.80",
    "user": {
             "responsible": "nome de usuario",
             "email": "usuario@flexy.com.br"
         },
    "customer":{
        "firstName":"Edson A.",
        "lastName":"do Nascimento",
        "gender":0,
        "dateOfBirth":"1942-07-12",
        "identityNumber":"08466306994",
        "primaryPhone":"(48) 5555-4990",
        "secondPhone":"(48) 5555-4991",
        "address":{
            "postCode":"88010540",
            "city":"Florianópolis",
            "state":"SC",
            "country":"Brasil",
            "street":"Praça XV",
            "district":"Centro",
            "complement":"123",
            "number":5
        },
        "createdAt":"2014-06-22 11:21:54",
        "updatedAt":"2014-12-08 10:00:08",
        "customerType":{
            "name":"Consumidor"
        },
        "email":"cliente@host.com.rb",
        "attributeValues":[]
    },
    "agent": {
       "name" : "John Smith",
       "email" : "agent@agent-comapny.com"
    },
    "agents": {
       "email" : "agent@agent-comapny.com",
       "commission" : 105.77
    },
    "paymentMethods":[
        {
             "name":"payment.method.boleto",
             "installments": null,
             "amount": 317.94,
             "discount": 0,
             "addition": 0,
             "boletoRule": null,
             "interestValue": 0,
             "boletoUrl": null,
             "creditCardToken": null
        }
    ],
    attributeValues": [
        {
            referenceCode" : "parceiro",
            value" : "walmart"
        }
    ],
    "createdAt":"2014-12-10 10:17:26",
    "updatedAt":null,
    "deletedAt":null,
    "items":[
        {
            "name":"Chuteira",
            "quantity":1,
            "unitPrice":145.8,
            "totalPrice":145.8,
            "promotionDiscount":0,
            "grossAmount":145.8,
            "variant":{
                "id":9605,
                "referenceCode":"chuteira40",
                "presentation":"40",
                "url":"/produto/chuteira40/chuteira-40",
                "price":145.8,
                "master":true,
                "masterImage":null,
                "isFractionalStock": false,
                "stock":{
                    "quantity":8,
                    "minimumQuantity":1
                },
                "priceList":null,
                "dimensionGroup":{
                    "height":20,
                    "width":25,
                    "depth":35,
                    "weight":0.9
                }
            },
            "shippingAddress":{
                "postCode":"88010450",
                "city":"Blumenau",
                "state":"SC",
                "country":"Brasil",
                "street":"Rua Amazonas",
                "district":"Garcia",
                "complement":null,
                "number":105
            },
            "shippingMethod":{
                "name":"Correios",
                "referenceCode":"correios.pac",
                "estimatedDeliveryFrom":5,
                "estimatedDeliveryTo":5,
                "deliveryTimeFrom":null,
                "deliveryTimeTo":null,
                "price":8.62,
                "carrier":null,
                "observations": null
            },
            "properties": [
                {
                   "name": "Campo Personalizado",
                   "referenceCode": "campopersonalizado",
                   "value": "10"
                }
            ],
            "trackingCode":null
        }
    ],
    "status":{
        "name":"status.paid",
        "info":null,
        "createdAt":"2015-01-06 09:51:51"
    },
    "shippingTotal":8.62
}

Alteração de status de um pedido (PUT)

Altera status de um pedido.

Parâmetros aceitos neste método:

Parâmetro Tipo Obrigatório Descrição
number string true Número do pedido a ser alterado.
status string true Aguardando Pagamento: status.waiting_payment, Pago: status.paid, Pago parcialmente: status.paid_partial, Não autorizado: status.payment_refused, Aguardando envio: status.waiting_shipment, Em separação: status.preparing_shipment, Enviado: status.shipped, Aguardando retirada: status.waiting_pick_up, Entregue: status.delivered, Entregue parcialmente: status.delivered_partial, Cancelado: status.canceled, Em aberto: status.opened, Faturado: status.billed, Faturado parcialmente: status.billed_partial, Devolvido parcialmente: status.returned_partial, Devolvido: status.returned
info string false Mensagem informativa. Utilizada nos status: aguardando retirada, devolvido, devolvido parcialmente e cancelado

Request Example

Obs: o parâmetro da url referenceCodeStore, deve ser somente utilizado para lojas de shopping

PUT /platform/api/orders/status/?token=******&referenceCodeStore=shoppingstore-flexy&version=1 HTTP/1.1
Host: https://flexy.api.flexy.com.br
Accept: application/json
Content-Type: application/json
{
     "number": "1426412014080000000",
     "status": "status.waiting_pick_up",
     "info": "Retire o seu pacote na agência dos Correios indicada."
}
.

Response Example


HTTP/1.1 200 OK
Location: https://flexy.api.flexy.com.br/platform/api/order/status/1
Content-Type: application/json

 [
     {
         "number":"19953520141210101726",
         "total":154.42,
         "promotionDiscount":0,
         "grossAmount":"145.80",
          "user": {
             "responsible": "nome de usuario",
             "email": "usuario@flexy.com.br"
         },
         "customer":{
             "firstName":"Edson A.",
             "lastName":"do Nascimento",
             "gender":0,
             "dateOfBirth":"1942-07-12",
             "identityNumber":"08466306994",
             "primaryPhone":"(48) 5555-4990",
             "secondPhone":"(48) 5555-4991",
             "address":{
                 "postCode":"88010540",
                 "city":"Florianópolis",
                 "state":"SC",
                 "country":"Brasil",
                 "street":"Praça XV",
                 "district":"Centro",
                 "complement":"123",
                 "number":5
             },
             "createdAt":"2014-06-22 11:21:54",
             "updatedAt":"2014-12-08 10:00:08",
             "customerType":{
                 "name":"Consumidor"
             },
             "email":"cliente@host.com.rb",
             "attributeValues":[]
         },
         "paymentMethods":[
             {
                 "name":"payment.method.boleto",
                 "installments":null,
                 "amount":154.42,
                 "discount":0,
                 "addition":0,
                 "boletoRule":null,
                 "interestValue": 0,
                 "boletoUrl": null,
                 "creditCardToken": null
             }
         ],
         "createdAt":"2014-12-10 10:17:26",
         "updatedAt":null,
         "deletedAt":null,
         "items":[
             {
                 "name":"Chuteira",
                 "quantity":1,
                 "unitPrice":145.8,
                 "totalPrice":145.8,
                 "promotionDiscount":0,
                 "grossAmount":145.8,
                 "variant":{
                     "id":9605,
                     "referenceCode":"chuteira40",
                     "presentation":"40",
                     "url":"/produto/chuteira40/chuteira-40",
                     "price":145.8,
                     "master":true,
                     "masterImage":null,
                     "isFractionalStock": false,
                     "stock":{
                         "quantity":8,
                         "minimumQuantity":1
                     },
                     "priceList":null,
                     "dimensionGroup":{
                         "height":20,
                         "width":25,
                         "depth":35,
                         "weight":0.9
                     }
                 },
                 "shippingAddress":{
                     "postCode":"89041460",
                     "city":"Blumenau",
                     "state":"SC",
                     "country":"Brasil",
                     "street":"Rua Amazonas",
                     "district":"Garcia",
                     "complement":null,
                     "number":105
                 },
                 "shippingMethod":{
                     "name":"Axado",
                     "referenceCode":"dromo-expresso",
                     "estimatedDeliveryFrom":5,
                     "estimatedDeliveryTo":5,
                     "deliveryTimeFrom":null,
                     "deliveryTimeTo":null,
                     "price":8.62,
                     "carrier":null,
                 "observations": null
                 },
                 "trackingCode":null
             }
         ],
         "status":{
             "name":"status.waiting_pick_up",
             "info":"Retire o seu pacote na agência dos Correios indicada."
             "createdAt":"2015-01-06 09:51:51"
         },
         "shippingTotal":8.62
     }
 ]

Associar código de rastreio (PUT)

Associa um código de rastreio enviado a um ou mais pedidos, ou gera o próximo código de rastreio da forma de envio associada a este.

Parâmetros aceitos neste método:

Parâmetro Tipo Obrigatório Descrição
number string true Número do pedido a ser alterado.
trackingCode string false String do código de rastreio, caso não seja enviado nenhum será gerado, se possível a partir das regras de correio

Request Example

Obs: o parâmetro da url referenceCodeStore, deve ser somente utilizado para lojas de shopping

PUT /platform/api/orders/tracking-code/?token=******&referenceCodeStore=shoppingstore-flexy&version=1 HTTP/1.1
Host: https://flexy.api.flexy.com.br
Accept: application/json
Content-Type: application/json
[
   { "number": "1509597027",  "trackingCode": "traking code próprio" },
   { "number": "1509913606" }
]
.

Response Example


HTTP/1.1 200 OK
Location: https://flexy.api.flexy.com.br/platform/api/order/tracking-code/
Content-Type: application/json

 [
     {
         "number":"1509597027",
         "total":154.42,
         "promotionDiscount":0,
         "grossAmount":"145.80",
          "user": {
             "responsible": "nome de usuario",
             "email": "usuario@flexy.com.br"
         },
         "customer":{
             "firstName":"Edson A.",
             "lastName":"do Nascimento",
             "gender":0,
             "dateOfBirth":"1942-07-12",
             "identityNumber":"08466306994",
             "primaryPhone":"(48) 5555-4990",
             "secondPhone":"(48) 5555-4991",
             "address":{
                 "postCode":"88010540",
                 "city":"Florianópolis",
                 "state":"SC",
                 "country":"Brasil",
                 "street":"Praça XV",
                 "district":"Centro",
                 "complement":"123",
                 "number":5
             },
             "createdAt":"2014-06-22 11:21:54",
             "updatedAt":"2014-12-08 10:00:08",
             "customerType":{
                 "name":"Consumidor"
             },
             "email":"cliente@host.com.rb",
             "attributeValues":[]
         },
         "paymentMethods":[
             {
                 "name":"payment.method.boleto",
                 "installments":null,
                 "amount":154.42,
                 "discount":0,
                 "addition":0,
                 "boletoRule":null,
                 "interestValue": 0,
                 "boletoUrl": null,
                 "creditCardToken": null
             }
         ],
         "createdAt":"2014-12-10 10:17:26",
         "updatedAt":null,
         "deletedAt":null,
         "items":[
             {
                 "name":"Chuteira",
                 "quantity":1,
                 "unitPrice":145.8,
                 "totalPrice":145.8,
                 "promotionDiscount":0,
                 "grossAmount":145.8,
                 "variant":{
                     "id":9605,
                     "referenceCode":"chuteira40",
                     "presentation":"40",
                     "url":"/produto/chuteira40/chuteira-40",
                     "price":145.8,
                     "master":true,
                     "masterImage":null,
                     "isFractionalStock": false,
                     "stock":{
                         "quantity":8,
                         "minimumQuantity":1
                     },
                     "priceList":null,
                     "dimensionGroup":{
                         "height":20,
                         "width":25,
                         "depth":35,
                         "weight":0.9
                     }
                 },
                 "shippingAddress":{
                     "postCode":"89041460",
                     "city":"Blumenau",
                     "state":"SC",
                     "country":"Brasil",
                     "street":"Rua Amazonas",
                     "district":"Garcia",
                     "complement":null,
                     "number":105
                 },
                 "shippingMethod":{
                     "name":"Axado",
                     "referenceCode":"dromo-expresso",
                     "estimatedDeliveryFrom":5,
                     "estimatedDeliveryTo":5,
                     "deliveryTimeFrom":null,
                     "deliveryTimeTo":null,
                     "price":8.62,
                     "carrier":null,
                     "observations": null
                 },
                 "trackingCode":null
             }
         ],
         "status":{
             "name":"status.paid",
             "info":null,
             "createdAt":"2015-01-06 09:51:51"
         },
         "shippingTotal":8.62
     },
     {
         "number":"1509913606",
         "total":"42,15",
         "promotionDiscount":0,
         "grossAmount":"42,15",
         "customer":{
             "firstName":"Luis Fernando",
             "lastName":"Veríssimo",
             "gender":0,
             "dateOfBirth":"1942-07-12",
             "identityNumber":"08466306994",
             "primaryPhone":"(48) 5555-4990",
             "secondPhone":"(48) 5555-4991",
             "address":{
                 "postCode":"88010540",
                 "city":"Florianópolis",
                 "state":"SC",
                 "country":"Brasil",
                 "street":"Praça XV",
                 "district":"Centro",
                 "complement":"123",
                 "number":5
             },
             "createdAt":"2014-06-22 11:21:54",
             "updatedAt":"2014-12-08 10:00:08",
             "customerType":{
                 "name":"Consumidor"
             },
             "email":"cliente@host.com.rb",
             "attributeValues":[]
         },
         "paymentMethods":[
             {
                 "name":"payment.method.boleto",
                 "installments":null,
                 "amount":154.42,
                 "discount":0,
                 "boletoRule":null,
                 "interestValue": 0,
                 "boletoUrl": null,
                 "creditCardToken": null
             }
         ],
         "createdAt":"2014-12-10 10:17:26",
         "updatedAt":null,
         "deletedAt":null,
         "items":[
             {
                 "name":"Chuteira",
                 "quantity":1,
                 "unitPrice":42,15,
                 "totalPrice":142,15,
                 "promotionDiscount":0,
                 "grossAmount":42,15
,
                 "variant":{
                     "id":9605,
                     "referenceCode":"chuteira40",
                     "presentation":"40",
                     "url":"/produto/chuteira40/chuteira-40",
                     "price":145.8,
                     "master":true,
                     "masterImage":null,
                     "isFractionalStock": false,
                     "stock":{
                         "quantity":8,
                         "minimumQuantity":1
                     },
                     "priceList":null,
                     "dimensionGroup":{
                         "height":20,
                         "width":25,
                         "depth":35,
                         "weight":0.9
                     }
                 },
                 "shippingAddress":{
                     "postCode":"89041460",
                     "city":"Blumenau",
                     "state":"SC",
                     "country":"Brasil",
                     "street":"Rua Amazonas",
                     "district":"Garcia",
                     "complement":null,
                     "number":105
                 },
                 "shippingMethod":{
                     "name":"Axado",
                     "referenceCode":"dromo-expresso",
                     "estimatedDeliveryFrom":5,
                     "estimatedDeliveryTo":5,
                     "deliveryTimeFrom":null,
                     "deliveryTimeTo":null,
                     "price":8.62,
                     "carrier":null,
                     "observations": null
                 },
                 "trackingCode":null
             }
         ],
         "status":{
             "name":"status.paid",
             "info":null,
             "createdAt":"2015-01-06 09:51:51"
         },
         "shippingTotal":8.62
     }
 ]

Excluir pedidos (DELETE)

Exclui um pedido de acordo com o número de pedido enviado. Somente administradores do shopping podem excluir um pedido.

Request Example

.

DELETE /platform/api/orders/{number}?token=******&version=1 HTTP/1.1
Host: https://flexy.api.flexy.com.br
Accept: application/json
Content-Type: application/json

Response Example


HTTP/1.1 200 OK
Content-Type: application/json

{
   "msg": "Order [1902754576] deleted."
}

Capturar pagamento de pedido (POST)

Realiza a captura manual do pagamento do pedido. Atualmente suportado apenas para pedidos realizados pelo gateway 'payment.gateway.rede'.

Parâmetros aceitos neste método:

Parâmetro Tipo Obrigatório Descrição
amount float true Montante a ser capturado. O montante capturado deve ser menor ou igual ao autorizado pelo sistema.

Endpoint template

.

POST /platform/api/orders/{orderNumber}/capture?token=******&version=1 HTTP/1.1
Host: http://flexy.api.flexy.com.br/

Request Example


POST /platform/api/orders/1907526851/capture?token=******&version=1 HTTP/1.1
Host: https://flexy.api.flexy.com.br
Accept: application/json
Content-Type: application/json
{
     "amount": 9.01
}

Response Example


HTTP/1.1 200 OK
Content-Type: application/json

{
     "orderGatewayInfo": {
         "data": [
             {
                 "code": "transaction-id",
                 "value": "181930968"
             },
             {
                 "code": "authorization-additional-percentage",
                 "value": 10.11
             },
             {
                 "code": "authorized-value",
                 "value": 19.39
             },
             {
                 "code": "captured-value",
                 "value": 9.01
             }
         ],
         "gatewayReferenceCode": "payment.gateway.rede"
     }
}

Estornar pagamento de pedido (POST)

Realiza o estorno para pedidos do gateway 'payment.gateway.rede' já capturados e com o status atual 'Cancelado'. É apenas possível estorno completo do valor capturado.

Endpoint template

.

POST /platform/api/orders/{orderNumber}/refund?token=******&version=1 HTTP/1.1
Host: http://flexy.api.flexy.com.br/

Request Example


POST /platform/api/orders/1907526851/refund?token=******&version=1 HTTP/1.1
Host: https://flexy.api.flexy.com.br

Response Example


HTTP/1.1 200 OK
Content-Type: application/json

 {
     "orderGatewayInfo": {
         "data": [
             {
                 "code": "transaction-id",
                 "value": "607343028"
             },
             {
                 "code": "authorization-additional-percentage",
                 "value": 10
             },
             {
                 "code": "authorized-value",
                 "value": 413.42
             },
             {
                 "code": "captured-value",
                 "value": 413.01
             },
             {
                 "code": "refunded-value",
                 "value": 413.01
             },
             {
                 "code": "refunded-status",
                 "value": "approved"
             },
             {
                 "code": "refunded-gateway-message",
                 "value": "Transação já estornada"
             }
         ],
         "gatewayReferenceCode": "payment.gateway.rede"
     }
 }
Observação: No retorno, o objeto "refunded-status" possui 3 valores possíveis: 'waiting' (aguardando estorno), 'approved' (estorno aprovado), 'denied' (estorno negado). O objeto "refunded-gateway-message" refere-se a mensagem que o gateway retornou na requisição de estorno.

Plano de Pagamento

Cadastrar Plano de pagamento (POST)

Cadastra um plano de pagamento conforme exemplo abaixo

Parâmetros aceitos neste método:

Parâmetro Tipo Obrigatório Descrição
name string true Nome do plano de pagamento
referenceCode string true Código de referencia do pagamento
priority integer true Define se o Plano deve ser utilizado ao invés de um Plano com menor prioridade que contemple as mesmas regras definidas. Ex: Se existem dois planos que suportam os mesmo produtos e categorias, o de maior prioridade será escolhido
customerTypes[][referenceCode] string true Código de referência dos tipos de clientes que serão associados a este plano
paymentMethods[referenceCode] string true Forma de pagamento existente no sistema. Valores aceitos payment.method.boletoafaturar
paymentMethods[initialStatusOrder] string true Determina o estado do pedido ao ser executado por boleto a faturar. Valores aceitos status.waiting_payment, status.paid, status.preparing_shipment
paymentMethods[rules][name] string true O nome da opção de pagamento que será apresentada ao cliente na finalização do pedido.
paymentMethods[rules][referenceCode] string true O código de referência é exclusivo e serve para identificar a esta regra de pagamento no painel administrativo, portal e API.
paymentMethods[rules][maximumValue] float true Valor máximo do pedido para que esta regra de pagamento esteja disponível.
paymentMethods[rules][minimumValue] float true Valor mínimo do pedido para que esta regra de pagamento esteja disponível.
paymentMethods[rules][decrease/decrease] float false Utilize esta opção para fornecer um acréscimo ou um desconto aos clientes que optarem por esta forma de pagamento. Somente pode ser enviado um ou outro em um mesmo 'Rule'

Request Example

Exemplo

POST /platform/api/payment-plan/?token=******&version=1 HTTP/1.1
Host: https://flexy.api.flexy.com.br/
Accept: application/json
Content-Type: application/json
 {
   "name": "Plano de Pagamento 1",
   "referenceCode": "planoDePagamento1",
   "priority": 2,
   "customerTypes": [{
   "referenceCode": "newCustomerType"
   }, {
   "referenceCode": "default.customer"
   }],
   "paymentMethods": [{
   "referenceCode" : "payment.method.boletoafaturar",
   "initialStatusOrder": "status.preparing_shipment",
   "rules": [{
   "name": "regra1",
   "referenceCode": "codigoDeReferencia1",
   "maximumValue": 305.00,
   "minimumValue": 300.50,
   "decrease": 0.8
   },
   {
   "name": "regra2",
   "referenceCode": "codigoDeReferencia2",
   "maximumValue": 3005.00,
   "minimumValue": 300.50,
   "increase": 1.5
   }
   ]
   }
    ]
    }
Plano de Pagamento

POST /platform/api/payment-plan/?token=******&version=1 HTTP/1.1
Host: https://flexy.api.flexy.com.br/
Accept: application/json
Content-Type: application/json.

Response Example


HTTP/1.1 200 OK
Content-Type: application/json
{
    "name": "Plano de Pagamento 1",
    "referenceCode": "planoDePagamento11",
    "priority": 2,
    "customerTypes": [
       [{
           "name": "Consumidor",
           "referenceCode": "default.customer",
           "priceList": null
           }, {
           "name": "Lojista VIP",
           "referenceCode": "lojistavip",
           "priceList": {
           "name": "Cat\u00e1logo Especial",
           "referenceCode": "2202"
           }
           }]
       ],
    "paymentMethods": [
       [{
         "name": "payment.method.boleto",
         "installments": null,
         "amount": null,
         "discount": null,
         "addition": null,
         "boletoRule": null,
         "interestValue": null,
         "boletoUrl": null
       }, {
         "name": "payment.method.boletoafaturar",
         "installments": null,
         "amount": null,
         "discount": null,
         "addition": null,
         "boletoRule": [{
         "rule": "codigoDeReferencia11",
         "label": "regra1"
       }, {
         "rule": "codigoDeReferencia22",
         "label": "regra2"
       }],
         "interestValue": null,
         "boletoUrl": null
       }, {
         "name": "payment.method.creditcard.visa",
         "installments": null,
         "amount": null,
         "discount": null,
         "addition": null,
         "boletoRule": null,
         "interestValue": null,
         "boletoUrl": null
       }, {
         "name": "payment.method.creditcard.mastercard",
         "installments": null,
         "amount": null,
         "discount": null,
         "addition": null,
         "boletoRule": null,
         "interestValue": null,
         "boletoUrl": null
       }, {
         "name": "payment.method.creditcard.americanexpress",
         "installments": null,
         "amount": null,
         "discount": null,
         "addition": null,
         "boletoRule": null,
         "interestValue": null,
         "boletoUrl": null
       }, {
         "name": "payment.method.creditcard.elo",
         "installments": null,
         "amount": null,
         "discount": null,
         "addition": null,
         "boletoRule": null,
         "interestValue": null,
         "boletoUrl": null
       }, {
         "name": "payment.method.creditcard.dinners",
         "installments": null,
         "amount": null,
         "discount": null,
         "addition": null,
         "boletoRule": null,
         "interestValue": null,
         "boletoUrl": null
       }, {
         "name": "payment.method.creditcard.jcb",
         "installments": null,
         "amount": null,
         "discount": null,
         "addition": null,
         "boletoRule": null,
         "interestValue": null,
         "boletoUrl": null
       }, {
         "name": "payment.method.creditcard.discover",
         "installments": null,
         "amount": null,
         "discount": null,
         "addition": null,
         "boletoRule": null,
         "interestValue": null,
         "boletoUrl": null
       }, {
         "name": "payment.method.creditcard.aura",
         "installments": null,
         "amount": null,
         "discount": null,
         "addition": null,
         "boletoRule": null,
         "interestValue": null,
         "boletoUrl": null
       }, {
         "name": "payment.method.creditcard.hipercard",
         "installments": null,
         "amount": null,
         "discount": null,
         "addition": null,
         "boletoRule": null,
         "interestValue": null,
         "boletoUrl": null
       }, {
         "name": "payment.method.creditcard.oipaggo",
         "installments": null,
         "amount": null,
         "discount": null,
         "addition": null,
         "boletoRule": null,
         "interestValue": null,
         "boletoUrl": null
       }, {
         "name": "payment.method.creditcard.visaelectron",
         "installments": null,
         "amount": null,
         "discount": null,
         "addition": null,
         "boletoRule": null,
         "interestValue": null,
         "boletoUrl": null
       }, {
         "name": "payment.method.deposit",
         "installments": null,
         "amount": null,
         "discount": null,
         "addition": null,
         "boletoRule": null,
         "interestValue": null,
         "boletoUrl": null
       }, {
         "name": "payment.method.forfree",
         "installments": null,
         "amount": null,
         "discount": null,
         "addition": null,
         "boletoRule": null,
         "interestValue": null,
         "boletoUrl": null
       }, {
         "name": "payment.method.negotiable",
         "installments": null,
         "amount": null,
         "discount": null,
         "addition": null,
         "boletoRule": null,
         "interestValue": null,
         "boletoUrl": null
       }, {
         "name": "payment.method.creditcard.bndes",
         "installments": null,
         "amount": null,
         "discount": null,
         "addition": null,
         "boletoRule": null,
         "interestValue": null,
         "boletoUrl": null
       }]
    ]
    }

Produtos

Cadastro/Alteração de produtos (PUT)

Efetua o cadastro ou alteração de um produto.

Parâmetros aceitos neste método:

Parâmetro Tipo Obrigatório Descrição
name string true Nome do produto.
slug string false slug do produto, utilizado para construção da url amigável. Deve ser único
referenceCode string true Código de referência do produto.
deletedAt string false Para remover o produto. Formato 'YYYY-MM-DD HH:II:SS'
deactivatedAt string false Para agendar inativar o produto. Formato 'YYYY-MM-DD HH:II:SS'
stockControl boolean true Controle de estoque.
availableFor string false Disponível para. Valores aceitos: all = Venda e orçamento, quote = Somente orçamento, sale = Somente venda. Default = all
ncm boolean false NCM - Nomenclatura Comum do Mercosul. Formato aceito: 01234567
integrationCode string false Código de integração do produto.
productType string false Tipo do produto: valores aceitos 'product.type.simple', 'product.type.custom', 'product.type.additional', 'product.type.kit'
descriptionGroup[descriptionOne] string false Descrição do produto.
descriptionGroup[descriptionTwo] string false Descrição do produto.
descriptionGroup[descriptionThree] string false Descrição do produto.
descriptionGroup[descriptionFour] string false Descrição do produto.
variants[][master] boolean true Variação principal.
variants[][presentation] string true Nome de cada variação do produto. Para produtos do tipo Simples, o presentation deve ser igual ao nome do produto.
variants[][referenceCode] string true Variações do produto.
variants[][price] double true Variações do produto.
variants[][isFractionalStock] boolean false Determina se o estoque da variação pode ser fracionado. Por exemplo: produtos que sejam vendidos por peso.
variants[][stock][quantity] decimal true quantidade do produto em estoque.
variants[][stock][minimumQuantity] decimal false Quantidade mínina de estoque.
variants[][dimesionGroup][height] float false Altura da variação.
variants[][dimesionGroup][width] float false largura da variação.
variants[][dimesionGroup][weight] float false peso da variação.
variants[][dimesionGroup][depth] float false profundidade da variação.
variants[][priceList][price] double false Variações do produto.
videos[][code] string false Código do vídeo no youtube.
videos[][description] string false Descrição do vídeo.
categories array false Categoria do Produto.
metaTags[title] string false Título da metatags.
metaTags[url] string false Url da metatags.
metaTags[keyword] string false Palavra-chave da metatags.
metaTags[description] string false Descrição da metatags.
metaTags[trackingId] string false Código de rastreamento.
eanCode string true O código EAN é o código de barras do produto, ele deve ser composto por 13 dígitos.
images[] string false Imagens do produto. Para remover todas as imagens, envie 'images' : []
enabledPriceLists[][criteriaReferenceCode] string false Código de referência da lista de preços. Caso seja enviado null, fará referência ao preço padrão
enabledPriceLists[][active] bolean false Ativar ou inativar produto em determinada lista de preços.
properties[referenceCode] string false Código de referência da propriedade cadastrada
properties[value] string false Valor da propriedade atribuído ao produto.
productsRelated[][typeReferenceCode] string false Tipo da associação com produtos (Veja bem, Produto Adicional, Itens do Kit), Podendo * aceitar valores: Kit:'product.related.type.kit',* Veja Também 'product.related.type.seealso', * Produto Adicional 'product.related.type.additional'
productsRelated[][groupReferenceCode] string false Código de referência do grupo. Somente utilizado para associação Veja Também. Não é possível editar uma variação existente para adicionar um grupo. Remova a associação e insira novamente com o grupo.
productsRelated[][variantReferenceCode] string false Código de referência da variação a serem associadas. Para remover um Produto/Variação, não envie o código de referência deste no request. Para remover todas as associações, envie o array vazio.
productsRelated[][quantity] integer false Quantidade de items vendida com o Kit (Padrão 1). Deve ser omitido caso o relacionamento não seja com um kit
enabledForEmptyPriceList boolean false Ativa, ou inativa um produto para a lista de preços padrão, o valor padrão é true (ativo)
mvaOriginal float false percentual da Margem de Valor Agregado
ipi float false percentual do IPI aplicado no produto, O IPI já deve estar incluso no preço do produto
taxationRegimeMva[][referenceCode] string false Código de referência do regime de tributação, valores aceitos: taxation.regime.national.simple
taxationRegimeMva[][mvaOriginal] string false Percentual da tributação aplicada

Request Example

Obs: o parâmetro da url referenceCodeStore, deve ser somente utilizado para lojas de shopping

PUT /platform/api/products/?token=******&referenceCodeStore=shoppingstore-flexy&version=1 HTTP/1.1
Host: https://flexy.api.flexy.com.br/
Content-Type: application/json.

{
  "product": {
      "name": "Chuteira Adidas Absolado SLX",
       "slug": "chuteira-adidas-slx",
      "enabledForEmptyPriceList" : true,
      "referenceCode": "chuteira-adidas-slx",
      "productType": "product.type.custom",
      "stockControl": "1",
      "availableFor": "all"
      "ncm": "00000000",
      "integrationCode": "XPTO",
      "categories": [
          "codigoReferenciaCategoria1",
          "codigoReferenciaCategoria2",
          "codigoReferenciaCategoriaLoja1",
          "codigoReferenciaCategoriaLoja2"
      ],
      "variants": [
          {
              "referenceCode": "chuteira-adidas-slx-39",
              "presentation": "Número 39",
              "price": "239.99",
              "master": 1,
              "isFractionalStock": false,
              "eanCode": "0123456789012",
              "stock": {
                  "quantity": "312"
              },
              "dimensionGroup": {
                  "height": 1,
                  "depth": 2.3,
                  "weight": 3,
                  "width": 4
              }
          },
          {
              "referenceCode": "chuteira-adidas-slx-40",
              "presentation": "Número 40",
              "master": 0,
              "isFractionalStock": false,
              "price": "239.99",
              "stock": {
                  "quantity": "312",
                  "minimumQuantity": "12"
              },
              "dimensionGroup": {
                  "height": 1,
                  "depth": 2.3,
                  "weigth": 3,
                  "width": 4
              },
             "priceList": [
                 {
                    "price": "159.99",
                    "criteria": "abc123"
                },
                {
                    "price": "179.99",
                    "criteria": "abc123"
                 }
            ]
          }
      ],
      "descriptionGroup": [
          {
              "descriptionOne": "descrição um",
              "descriptionTwo": "descrição dois",
              "descriptionThree": "descrição três",
              "descriptionFour": "descrição quatro"
          }
      ],
      "metaTags": {
          "title": "Nome do meu produto",
          "url": "url",
          "keyword": "calçado, tênis, corrida",
          "description": "este é um calçado muito confortável",
          "trackingId": "21354654654654"
      },
      "images": [
          "http://meusite.com.br/imagens/imagem.png"
      ],
     "properties": [
         {
             "referenceCode": "property1",
             "value": "teste A"
         },
         {
             "referenceCode": "property1",
             "value": "teste B"
         },
         {
             "referenceCode": "property2",
             "value": "teste 2"
         }
     ],
     "videos": [
         {
             "code": "xYbZKilfUiowd",
             "description": "A descrição do meu vídeo aqui"
         }
     ],
      "productsRelated": [
      {
         "typeReferenceCode": "product.related.type.kit",
         "variantReferenceCode": "sapato-44",
         "quantity": "3"
      },
      {
         "typeReferenceCode": "product.related.type.seealso",
         "variantReferenceCode": "sapato-46",
         "groupReferenceCode" : "meu-grupo"
      },
      {
         "typeReferenceCode": "product.related.type.additional",
         "variantReferenceCode": "sapato-42",
         "groupReferenceCode" : "meu-grupo"
      }
     ]
  }
}

Obs: Note que para utilizar as listas de preços ("priceList"), estas devem ser cadastradas previamente no sistema. observe no ambiente administrativo > Configurações > Configurações gerais > loja

Request Example - Loja Shopping


PUT /platform/api/products/?token=tokenLoja&referenceCodeStore=shoppingstore-flexy&version=1 HTTP/1.1
Host: https://flexy.api.flexy.com.br/
Content-Type: application/json

{
  "product": {
      "name": "Chuteira Adidas Absolado SLX",
       "slug": "chuteira-adidas-slx",
       "mvaOriginal": 0.72,
       "ipi": 0.10,
       "taxationRegimeMva": [{
           "referenceCode": "taxation.regime.national.simple",
           "mvaOriginal": 0.52
      }],
      "referenceCode": "chuteira-adidas-slx",
      "productType": "product.type.custom",
      "stockControl": "1",
      "availableFor": "all"
      "ncm": "00000000",
      "integrationCode": "XPTO",
      "enabledForEmptyPriceList" : true,
      "deactivatedAt" : "2018-12-17 17:07:34",
      "variants": [
          {
              "referenceCode": "chuteira-adidas-slx-39",
              "presentation": "Número 39",
              "price": "239.99",
              "isFractionalStock": false,
              "eanCode": "0123456789012",
              "stock": {
                  "quantity": "312"
              },
              "dimensionGroup": {
                  "height": 1,
                  "depth": 2.3,
                  "weigth": 3,
                  "width": 4
              }
          },
          {
              "referenceCode": "chuteira-adidas-slx-40",
              "presentation": "Número 40",
              "master": 1,
              "price": "239.99",
              "isFractionalStock": false,
              "stock": {
                  "quantity": "312",
                  "minimumQuantity": "12"
              },
              "dimensionGroup": {
                  "height": 1,
                  "depth": 2.3,
                  "weigth": 3,
                  "width": 4
              },
             "priceList": [
                 {
                    "price": "159.99",
                    "criteria": "abc123"
                },
                {
                    "price": "179.99",
                    "criteria": "abc123"
                 }
            ]
          }
      ],
      "descriptionGroup": [
          {
              "descriptionOne": "descrição um",
              "descriptionTwo": "descrição dois",
              "descriptionThree": "descrição três",
              "descriptionFour": "descrição quatro"
          }
      ],
      "metaTags": {
          "title": "Nome do meu produto",
          "url": "url",
          "keyword": "calçado, tênis, corrida",
          "description": "este é um calçado muito confortável",
          "trackingId": "21354654654654"
      },
      "images": [
          "http://meusite.com.br/imagens/imagem.png"
      ],
     "properties": [
         {
             "name": "Property 1",
             "referenceCode": "property1",
             "value": "teste A"
         },
         {
             "name": "Property 1",
             "referenceCode": "property1",
             "value": "teste B"
         },
         {
             "name": "Property 2",
             "referenceCode": "property2",
             "value": "teste 2"
         }
     ],
     "videos": [
         {
             "code": "xYbZKilfUiowd",
             "description": "A descrição do meu vídeo aqui"
         }
     ],
     "enabledPriceLists" : [
         {
             "criteriaReferenceCode" : "importados",
             "active" : false
         },
         {
             "criteriaReferenceCode" : null,
             "active" : false
         }
     ],
     "productsRelated": [
      {
         "typeReferenceCode": "product.related.type.kit",
         "variantReferenceCode": "sapato-44",
         "quantity": "3"
      },
      {
         "typeReferenceCode": "product.related.type.seealso",
         "variantReferenceCode": "sapato-46",
         "groupReferenceCode" : "meu-grupo"
      },
      {
         "typeReferenceCode": "product.related.type.additional",
         "variantReferenceCode": "sapato-42",
         "groupReferenceCode" : "meu-grupo"
      }
     ]
  }
}

Response Example

Obs: o parâmetro da url referenceCodeStore, deve ser somente utilizado para lojas de shopping

HTTP/1.1 200 OK
Location: https://flexy.api.flexy.com.br/platform/api/products/
Content-Type: application/json

{
  "name": "Chuteira Adidas Absolado SLX",
  "url": "/produto/chuteira-adidas-slx-40/chuteira-adidas-slx",
  "masterImage": "https://meusite.com.br/imagem/enderecodaimagem.png",
  "slug": "chuteira-adidas-slx",
   "mvaOriginal": 0.72,
   "ipi": 0.10,
   "taxationRegimeMva": [{
     "referenceCode": "taxation.regime.national.simple",
     "mvaOriginal": 0.52
  }],
  "shoppingStore": 'nome da loja',
  "stockControl": false,
  "availableFor": "all",
  "integrationCode": "XPTO",
  "referenceCode": "chuteira-adidas-slx",
  "createdAt": "2014-12-17 17:07:34",
  "updatedAt": "2014-12-17 17:56:25",
  "deactivatedAt" : "2018-12-17 17:07:34",
  "deletedAt": null,
  "categories": null,
  "metaTags": null,
  "ncm" : 00000000,
  "descriptionGroup": [
      {
          "descriptionOne": "descrição um",
          "descriptionTwo": "descrição dois",
          "descriptionThree": "descrição três",
          "descriptionFour": "descrição quatro"
      }
  ],
  "variants": [
      {
          "id": 101011,
          "referenceCode": "chuteira-adidas-slx-39",
          "presentation": "Número 39",
          "url": "/produto/chuteira-adidas-slx-39/chuteira-adidas-slx",
          "price": "239.99",
          "master": false,
          "masterImage": null,
          "isFractionalStock": false,
          "eanCode": "0123456789012",
          "stock":{
                 quantity:8,
                 minimumQuantity:0,
                 distributionCenter:{
                        referenceCode:"shopping-reference-code",
                        postcode:"88032005",
                        city:"Florianópolis",
                        state:"SC",
                        country:"Brasil",
                        district:"Saco Grande",
                        street:"Rodovia José Carlos Daux",
                        complement:"teste",
                        number:5025
                 }
             },
          "distributionCenterList": null,
          "priceList": null,
          "dimensionGroup": {
          "height": 1,
          "width": 4,
          "depth": null,
          "weight": null
          }
      },
      {
      "id": 101012,
      "referenceCode": "chuteira-adidas-slx-40",
      "presentation": "Número 40",
      "url": "/produto/chuteira-adidas-slx-40/chuteira-adidas-slx",
      "price": "239.99",
      "master": true,
      "masterImage": null,
      "stock": {
      "quantity": "312",
      "minimumQuantity": "12"
      },
      "priceList": null,
      "dimensionGroup": {
      "height": 1,
      "width": 4,
      "depth": null,
      "weight": null
      }
      }
  ],
  "productType": "product.type.custom",
  "links": {
  "variants": [
  "https://cassol.ftwo.dev/platform/api/variants/chuteira-adidas-slx-39",
  "https://cassol.ftwo.dev/platform/api/variants/chuteira-adidas-slx-40"
  ]
  },
     "properties": [
         {
             "name": "Property 1",
             "referenceCode": "property1",
             "value": "teste A"
         },
         {
             "name": "Property 1",
             "referenceCode": "property1",
             "value": "teste B"
         },
         {
             "name": "Property 2",
             "referenceCode": "property2",
             "value": "teste 2"
         }
     ],
     "videos": [
         {
             "code": "xYbZKilfUiowd",
             "description": "A descrição do meu vídeo aqui"
         }
     ],
     "enabledPriceLists" : [
         {
             "criteriaReferenceCode" : "importados",
             "active" : false
         },
         {
             "criteriaReferenceCode" : null,
             "active" : false
         }
      ],
      "productsRelated": [
      {
         "typeReferenceCode": "product.related.type.kit",
         "variantReferenceCode": "sapato-44",
         "quantity": "3"
      },
      {
         "typeReferenceCode": "product.related.type.seealso",
         "variantReferenceCode": "sapato-46",
         "groupReferenceCode" : "meu-grupo"
      },
      {
         "typeReferenceCode": "product.related.type.additional",
         "variantReferenceCode": "sapato-42",
         "groupReferenceCode" : "meu-grupo"
      }
     ],
     "enabledForEmptyPriceList" : true
}

Cadastrar propriedades de produtos (POST)

Possibilita a inclusão de propriedades de produtos. Apenas os administradores do shopping é que podem cadastar propriedades para os produtos tanto via painel quanto via API, 'referenceCodeStore' não é permitido.

Parâmetros aceitos neste método:

Parâmetro Tipo Obrigatório Descrição
referenceCode string true Código de referência da propriedade do produto. Não pode conter espaços
name string true Nome da propriedade do produto.
sortOrder integer false Define a ordem em que esta propriedade será apresentada nos filtros da loja, sendo quanto maior o número, maior prioridade de exibição. Exemplo: o filtro de ordem 10 aparecerá primeiro que o de ordem 2. Valor padrão '0'.
filterable boolean false Filtra as propriedades com a opção 'Utilizar como filtro de produtos' marcada, se sim 'true' se não 'false'. Ao marcar esta opção os consumidores poderão filtrar sua lista de produtos por esta propriedade. Valor padrão 'false'.

Request Example


POST /platform/api/products/properties/?token=loja&version=1 HTTP/1.1
Host: https://flexy.api.flexy.com.br/
Content-Type: application/json.

 {
     "referenceCode": "tamanho",
     "name": "Tamanho",
     "sortOrder": 1,
     "filterable": true
 }

Response Example


HTTP/1.1 201 CREATED
Content-Type: application/json

 {
     "referenceCode": "tamanho",
     "name": "Tamanho",
     "sortOrder": 1,
     "filterable": true,
     "createdAt": "2019-07-18 16:11:14",
     "updatedAt": "2019-07-18 16:11:14"
 }

Listar propriedades dos produtos (GET)

Recupera uma ou mais propriedades dos produtos. Apenas os administradores do shopping podem listar propriedades dos produtos, 'referenceCodeStore' não é permitido.

Parâmetros aceitos neste método:

Parâmetro Tipo Obrigatório Descrição
name string false Nome da propriedade.
sortOrder integer false Filtra pela ordem em que esta propriedade será apresentada nos filtros da loja, sendo quanto maior o número, maior prioridade de exibição.
filterable boolean false Filtra as propriedades com a opção 'Utilizar como filtro de produtos' marcada, se sim 'true' se não 'false'. Ao marcar esta opção os consumidores poderão filtrar sua lista de produtos por esta propriedade.
propertyValue string false Filtra as propriedades pelos valores que contêm, podem ser pesquisados vários valores, separados por vírgula.
fromCreatedAt string false Data início de filtro baseado na data de criação da propriedade do produto. e.g. 2014-01-01T20:20:20 (YYYY-mm-ddTH:i:s). Caso não informada a hora serão considerados todos os registros cadastrados desde às 00:00:00 do dia informado. Se este parâmetro for enviado é obrigatório enviar toCreatedAt
toCreatedAt string false Data fim de filtro baseado na data de criação da propriedade do produto. e.g. 2014-01-01T20:20:20 (YYYY-mm-ddTH:i:s). Caso não informada a hora serão considerados todos os registros cadastrados até às 23:59:59 do dia informado. Se este parâmetro for enviado é obrigatório enviar fromCreatedAt
fromUpdatedAt date false Data início de filtro baseado na data de alteração do status da propriedade do produto. ex. 2014-01-01T20:20:20 (YYYY-mm-ddTH:i:s). Caso não informada a hora serão considerados todos os registros cadastrados desde às 00:00:00 do dia informado. Se este parâmetro for enviado é obrigatório enviar toUpdatedAt
toUpdatedAt date false Data fim de filtro baseado na data de alteração do status da propriedade do produto. ex. 2014-01-01T20:20:20 (YYYY-mm-ddTH:i:s). Caso não informada a hora serão considerados todos os registros cadastrados até às 23:59:59 do dia informado. Se este parâmetro for enviado é obrigatório enviar fromUpdatedAt
limit int false Limite máximo de registros a retornar. Valor padrão: 100. Se este campo for enviado é obrigatório enviar o parâmetro offset
offset date false Posição inicial dos registros retornados. Exemplo, se houver 100 registros use offset 10 para pegar a partir do décimo primeiro registro. Valor padrão: 0. Se este campo for enviado é obrigatório enviar o parâmetro limit

Request Template

.

GET /platform/api/products/properties/{referenceCodes}?token=token&version=1 HTTP/1.1
Host: https://flexy.api.flexy.com.br/
Accept: application/json
Content-Type: application/json
'{referenceCodes}' referenceCode das propriedades devem vir separados por vírgula, caso mais de uma propriedade deva ser consultada.

Request Example

Com apenas 1 referenceCode

GET /platform/api/products/properties/tamanho?token=token&version=1 HTTP/1.1
Host: https://flexy.api.flexy.com.br/
Accept: application/json
Content-Type: application/json

Response Example


HTTP/1.1 200 OK
Content-Type: application/json

 [
     {
         "referenceCode": "tamanho",
         "name": "Tamanho",
         "sortOrder": 1,
         "filterable": true,
         "createdAt": "2019-07-17 16:51:11",
         "updatedAt": "2019-07-17 16:51:11"
     }
 ]

Request Example

Com 2 referenceCodes

GET /platform/api/products/properties/tamanho,marca?token=token&version=1 HTTP/1.1
Host: https://flexy.api.flexy.com.br/
Accept: application/json
Content-Type: application/json

Response Example


HTTP/1.1 200 OK
Content-Type: application/json

 [
     {
         "referenceCode": "tamanho",
         "name": "Tamanho",
         "sortOrder": 1,
         "filterable": true,
         "createdAt": "2019-07-17 16:51:11",
         "updatedAt": "2019-07-17 16:51:11"
     },
     {
         "referenceCode": "marca",
         "name": "Marca",
         "sortOrder": 2,
         "filterable": true,
         "createdAt": "2019-07-17 16:51:11",
         "updatedAt": "2019-07-17 16:51:11"
     }
 ]

Excluir propriedades de produtos (DELETE)

Possibilita a exclusão de propriedades de produtos. Apenas os administradores do shopping é que podem excluir propriedades para os produtos tanto via painel quanto via API, 'referenceCodeStore' não é permitido.

Request Template

.

DELETE /platform/api/products/properties/{referenceCodes}?token=token&version=1 HTTP/1.1
Host: http://flexy.api.flexy.com.br/
Accept: application/json
Content-Type: application/json

Request Example


DELETE /platform/api/products/properties/tamanho?token=loja&version=1 HTTP/1.1
Host: https://flexy.api.flexy.com.br/

Response Example


HTTP/1.1 200 OK
Content-Type: application/json

 {
     "referenceCode": "tamanho",
     "name": "Tamanho",
     "sortOrder": 1,
     "filterable": true,
     "createdAt": "2019-07-18 16:11:14",
     "updatedAt": "2019-07-18 16:11:14"
 }

Editar propriedades de produtos (PUT)

Possibilita a edição de propriedades de produtos. Apenas os administradores do shopping é que podem editar propriedades para os produtos tanto via painel quanto via API, 'referenceCodeStore' não é permitido.

Parâmetros aceitos neste método:

Parâmetro Tipo Obrigatório Descrição
referenceCode string false Código de referência da propriedade do produto. Não pode conter espaços
name string false Nome da propriedade do produto.
sortOrder integer false Define a ordem em que esta propriedade será apresentada nos filtros da loja, sendo quanto maior o número, maior prioridade de exibição. Exemplo: o filtro de ordem 10 aparecerá primeiro que o de ordem 2.
filterable boolean false Filtra as propriedades com a opção 'Utilizar como filtro de produtos' marcada, se sim 'true' se não 'false'. Ao marcar esta opção os consumidores poderão filtrar sua lista de produtos por esta propriedade. Valor padrão 'false'.

Request Example


PUT /platform/api/products/properties/{referenceCode}?token=loja&version=1 HTTP/1.1
Host: https://flexy.api.flexy.com.br/
Content-Type: application/json.

 {
     "referenceCode": "tamanho",
     "name": "Tamanho",
     "sortOrder": 1,
     "filterable": true
 }

Response Example


HTTP/1.1 200 OK
Content-Type: application/json

 {
     "referenceCode": "tamanho",
     "name": "Tamanho",
     "sortOrder": 1,
     "filterable": true,
     "createdAt": "2019-07-18 16:11:14",
     "updatedAt": "2019-07-18 16:11:14"
 }

Listar valores de propriedades de produtos (GET)

Possibilita listar valores de propriedades de produtos. Apenas os administradores do shopping é que podem listar valores de propriedades para os produtos tanto via painel quanto via API, 'referenceCodeStore' não é permitido.

Request Template


GET /platform/api/products/properties/{referenceCode}/values?token=loja&version=1 HTTP/1.1
Host: http://flexy.api.flexy.com.br/.

Request Example


GET /platform/api/products/properties/tamanho/values?token=loja&version=1 HTTP/1.1
Host: https://flexy.api.flexy.com.br/

Response Example


HTTP/1.1 200 OK
Content-Type: application/json

 [
     {
         "name": "Pequeno",
         "sortOrder": 1
     },
     {
         "name": "Médio",
         "sortOrder": 2
      }
 ]

Cadastrar valores de propriedades de produtos (POST)

Possibilita cadastrar valores de propriedades de produtos, adicionando valores aos já existentes. Apenas os administradores do shopping é que podem cadastrar valores de propriedades para os produtos tanto via painel quanto via API, 'referenceCodeStore' não é permitido.

Parâmetros aceitos neste método:

Parâmetro Tipo Obrigatório Descrição
name string true Nome do valor a ser cadastrado na propriedade. Não deve ser repetido com outro valor já existente na propriedade.
sortOrder integer true Número de ordenação do valor na propriedade. Não deve ser repetido com outro valor já existente na propriedade.

Endpoint template

.

POST /platform/api/products/properties/{referenceCode}/values?token=loja&version=1 HTTP/1.1
Host: http://flexy.api.flexy.com.br/

Request Example


POST /platform/api/products/properties/tamanho/values?token=loja&version=1 HTTP/1.1
Host: https://flexy.api.flexy.com.br/
Content-Type: application/json
[
    {
        "name": "Pequeno",
        "sortOrder": 1
    },
    {
        "name": "Médio",
        "sortOrder": 2
     }
]

Response Example


HTTP/1.1 200 OK
Content-Type: application/json

[
    {
        "name": "Pequeno",
        "sortOrder": 1
    },
    {
        "name": "Médio",
        "sortOrder": 2
     },
     {
        "name": "Grande",
        "sortOrder": 3
     }
]

Substituir valores de propriedades de produtos (PUT)

Possibilita substituir valores de propriedades de produtos, apagando os anteriores. Apenas os administradores do shopping é que podem substituir valores de propriedades para os produtos tanto via painel quanto via API, 'referenceCodeStore' não é permitido. Caso a requisição seja válida, substitui todos os valores existentes por aqueles que estão contidos na requisição.

Parâmetros aceitos neste método:

Parâmetro Tipo Obrigatório Descrição
name string true Nome do valor a ser cadastrado na propriedade. Não deve ser repetido com outro valor já existente na propriedade.
sortOrder integer true Número de ordenação do valor na propriedade. Não deve ser repetido com outro valor já existente na propriedade.

Endpoint template

.

PUT /platform/api/products/properties/{referenceCode}/values?token=loja&version=1 HTTP/1.1
Host: http://flexy.api.flexy.com.br/

Request Example


PUT /platform/api/products/properties/tamanho/values?token=loja&version=1 HTTP/1.1
Host: https://flexy.api.flexy.com.br/
Content-Type: application/json
[
    {
        "name": "Pequeno",
        "sortOrder": 1
    },
    {
        "name": "Médio",
        "sortOrder": 2
     }
]

Response Example


HTTP/1.1 200 OK
Content-Type: application/json

[
    {
        "name": "Pequeno",
        "sortOrder": 1
    },
    {
        "name": "Médio",
        "sortOrder": 2
     }
]

Alteração de MVA por estados (PUT)

Efetua a alteração da Margem de Valor Agregado ou Ajustado produto enviado para cada UF.

Parâmetros aceitos neste método:

Parâmetro Tipo Obrigatório Descrição
productReferenceCode string true Código de referência do produto
mva float true Percentual do MVA ajustado para o produto no estado.
state string true UF do estado a ser aplicada a MVA do produto

Request Example

Obs: o parâmetro da url referenceCodeStore, deve ser somente utilizado para lojas de shopping

PUT /platform/api/products/state-taxes/?token=******&referenceCodeStore=shoppingstore-flexy&version=1 HTTP/1.1
Host: https://flexy.api.flexy.com.br/
Content-Type: application/json.

[
    {
        "productReferenceCode" : "6555111111111",
        "mva": 0.12,
        "state": "sc"
    },
    {
        "productReferenceCode" : "1111165551111",
        "mva": 0.21,
        "state": "ac"
    }
]

Response Example


HTTP/1.1 200 OK
Content-Type: application/json

[
    {
        "productReferenceCode" : "6555111111111",
        "mva": 0.12,
        "state": "sc"
    },
    {
        "productReferenceCode" : "1111165551111",
        "mva": 0.21,
        "state": "ac"
    }
]

Listar status de produtos (GET)

Lista uma ou mais referências de produtos de lojas do shopping baseado nos filtros enviados. O resultados são listados por ordem crescente pela data de criação do produto. Produtos de shopping não são listados nesse endpoint pois eles não possuem o sistema de status: approved, denied e pending.

Parâmetros aceitos neste método:

Parâmetro Tipo Obrigatório Descrição
productReferenceCode string false Código de referência do produto.
shoppingStoreReferenceCode string false Código de referência da shoppingStore, esse parâmetro só pode ser utilizado por administradores de shopping.
status string false Status dos produto a serem listados. Valores aceitos: 'approved' (aprovado), 'denied' (reprovado) , 'pending' (bloqueado/pendente de aprovação).
fromCreatedAt date false Intervalo de data inicial da criação do último status do produto. e.g. 2020-07-17T13:45:59 (YYYY-mm-ddTH:i:s). Serão listados todos os produtos que tiveram a última alteração de status feita após a data informada.
toCreatedAt date false Intervalo de data final da criação do último status do produto. e.g. 2020-07-17T23:59:59 (YYYY-mm-ddTH:i:s). Serão listados todos os produtos que tiveram a última alteração de status feita antes da data informada.
offset int false Posição inicial dos registros retornados. Exemplo, se houver 100 registros use offset 10 para pegar a partir do décimo primeiro registro. Default: 0
limit int false Limite máximo de registros a retornar. Default: 10. Máximo: 10
Obs: o parâmetro da url referenceCodeStore, deve ser somente utilizado para lojas de shopping.

Request Example

Lista produtos que possuam status 'pending' a partir do dia 17/07/2020 da loja shoppingstore-flexy

GET /platform/api/products/status/?token=******&shoppingStoreReferenceCode=shoppingstore-flexy&status=pending&fromCreatedAt=2020-06-17T00:00:00 HTTP/1.1
Host: https://flexy.api.flexy.com.br
Accept: application/json
Content-Type: application/json

Response Example


HTTP/1.1 200 OK
Content-Type: application/json

[
   {
       "referenceCode":"produto-loja150720",
       "variants":[
          {
             "referenceCode":"produto-loja150720"
          }
       ],
       "status":{
          "referenceCode":"pending",
          "note":"produto-loja-150720 note 4",
          "createdAt":"2020-07-20 08:54:09",
          "changedBy":"system"
       },
       "shoppingStore":{
          "referenceCode":"loja150720"
       }
   }
]

Alteração de status de produtos (PUT)

Possibilita a alteração de status (Aprovado/Reprovado) dos produtos das shoppingStores. Apenas o administrador do shopping é que podem aprovar ou reprovar os produtos tanto via painel quanto via API.

Parâmetros aceitos neste método:

Parâmetro Tipo Obrigatório Descrição
productReferenceCode string true Código de referência do produto (e não da variação).
statusReferenceCode string true Status do produto a ser atualizado. Valores aceitos: 'approved' (aprovado), 'denied' (reprovado) , 'pending' (bloqueado/pendente de aprovação).
referenceCodeStore string true Código de referência da shoppingStore a qual o produto pertence.
note text false Justificativa pela qual se está aprovando ou reprovando o produto.

Request Example


PUT /platform/api/products/status/?token=******&version=1 HTTP/1.1
Host: https://flexy.api.flexy.com.br/
Content-Type: application/json.

[
    {
        "productReferenceCode": "refcode-prod1",
        "statusReferenceCode" : "approved",
        "referenceCodeStore": "loja1"
        "note": ""
    },
    {
        "productReferenceCode": "refcode-prod2",
        "statusReferenceCode" : "denied",
        "referenceCodeStore": "loja2"
        "note": "Produto em inconformidade com as regras do marketplace"
    }
]

Response Example


HTTP/1.1 200 OK
Content-Type: application/json

[
    {
        "productReferenceCode": "refcode-prod1",
        "statusReferenceCode" : "approved",
        "referenceCodeStore": "loja1"
        "note": ""
    },
    {
        "productReferenceCode": "refcode-prod2",
        "statusReferenceCode" : "denied",
        "referenceCodeStore": "loja2"
        "note": "Produto em inconformidade com as regras do marketplace"
    }
]

Redução de base ICMS (GET)

Recupera informações de base de cálculo para ICMS entre estados por produto

Request Example

Obs: o parâmetro da url referenceCodeStore, deve ser somente utilizado para lojas de shopping

GET /platform/api/products/tax-substitution/{{referenceCode}}?token=******&referenceCodeStore=shoppingstore-flexy&version=1 HTTP/1.1
Host: https://flexy.api.flexy.com.br/
.

Response Example


HTTP/1.1 200 OK
Content-Type: application/json

[
     {
         "originState": "AC",
         "destinationState": "AC",
         "tax": 1
     },
     {
         "originState": "SC",
         "destinationState": "MG",
         "tax": 0
     },
     {
         "originState": "SC",
         "destinationState": "AC",
         "tax": 0.01
     },
     {
         "originState": "RJ",
         "destinationState": "MG",
         "tax": 11.23
     }
]

Redução de base ICMS (PUT)

Atualiza informações de base de cálculo para ICMS entre estados

Parâmetros aceitos neste método:

Parâmetro Tipo Obrigatório Descrição
originState string true Estado de origem. Deve ser uma unidade da federação. Ex: RJ, SC, SP, RS ...
taxes[state] string true Estado de destino. Deve ser uma unidade da federação. Ex: RJ, SC, SP, RS ...
taxes[tax] float true Percentual de redução no cálculo do ICMS do produto para o estado de origem e estado de destino.

Request Example

Obs: o parâmetro da url referenceCodeStore, deve ser somente utilizado para lojas de shopping

PUT /platform/api/products/tax-substitution/{{referenceCode}}?token=******&referenceCodeStore=shoppingstore-flexy&version=1 HTTP/1.1
Host: https://flexy.api.flexy.com.br/
Content-Type: application/json.

HTTP/1.1 200 OK
Content-Type: application/json

[
     {
         "originState": "SC",
         "taxes": [
           {
             "state": "MG",
             "tax": 0
           },
           {
             "state": "AC",
             "tax": 0.01
           }
        ]
     },
     {
         "originState": "RJ",
         "taxes": [
           {
             "state": "MG",
             "tax": 11.23
           }
         ]
     }
]

Response Example


HTTP/1.1 200 OK
Content-Type: application/json

[
     {
         "originState": "SC",
         "taxes": [
           {
             "state": "MG",
             "tax": 0
           },
           {
             "state": "AC",
             "tax": 0.01
           }
        ]
     },
     {
         "originState": "RJ",
         "taxes": [
           {
             "state": "MG",
             "tax": 11.23
           }
         ]
     }
]     * 

Impostos por Produto (GET)

Recupera os impostos associados ao código de referência do produto passado como parâmetro

Request Example

Obs: o parâmetro da url referenceCodeStore, deve ser somente utilizado para lojas de shopping

GET /platform/api/products/taxes/6555111111111?token=******&referenceCodeStore=shoppingstore-flexy&version=1 HTTP/1.1
Host: https://flexy.api.flexy.com.br/
Content-Type: application/json
.

Response Example


HTTP/1.1 200 OK
Content-Type: application/json

{
    "ipi": 1.15,
    "mvaOriginal": 0.02,
    "mvaNationalSimple": 0.05,
    "taxSubstitutionProduct": [
    {
         "mva": 0.01,
         "state": "AC"
    },
    {
         "mva": 0.02,
         "state": "AL"
    },
    {
         "mva": 0.03,
         "state": "AM"
    },
    {
          "mva": 0.04,
          "state": "AP"
    },
    {
         "mva": 0.05,
         "state": "BA"
    },
    {
         "mva": 0.06,
         "state": "CE"
    },
    {
         "mva": 0.07,
         "state": "DF"
     },
     {
         "mva": 0.08,
         "state": "ES"
     },
     {
         "mva": 0.09,
         "state": "GO"
     },
     {
         "mva": 0.1,
         "state": "MA"
     },
     {
         "mva": 0.11,
         "state": "MT"
     },
     {
         "mva": 0.12,
         "state": "MS"
     },
     {
         "mva": 0.13,
         "state": "MG"
     },
     {
         "mva": 0.14,
         "state": "PA"
     },
     {
         "mva": 0.15,
         "state": "PB"
     },
     {
         "mva": 0.16,
         "state": "PR"
     },
     {
         "mva": 0.17,
         "state": "PE"
     },
     {
         "mva": 0.18,
         "state": "PI"
     },
     {
         "mva": 0.2,
         "state": "RN"
     },
     {
         "mva": 0.21,
         "state": "RS"
     },
     {
         "mva": 0.22,
         "state": "RJ"
     },
     {
         "mva": 0.23,
         "state": "RO"
     },
     {
         "mva": 0.24,
         "state": "RR"
     },
     {
         "mva": 0.25,
         "state": "SC"
     },
     {
         "mva": 0.26,
         "state": "SP"
     },
     {
         "mva": 0.27,
         "state": "SE"
     },
     {
         "mva": 0.28,
         "state": "TO"
     }
  ]
 }

Listar produtos (GET)

Recupera um ou mais produtos.

Parâmetros aceitos neste método:

Parâmetro Tipo Obrigatório Descrição
fromCreatedAt string false Data início de filtro baseado na data de criação do produto. e.g. 2014-01-01T20:20:20 (YYYY-mm-ddTH:i:s). Caso não informada a hora serão considerados todos os registros cadastrados desde às 00:00:00 do dia informado. Se este parâmetro for enviado é obrigatório enviar toCreatedAt
toCreatedAt string false Data fim de filtro baseado na data de criação do produto. e.g. 2014-01-01T20:20:20 (YYYY-mm-ddTH:i:s). Caso não informada a hora serão considerados todos os registros cadastrados até às 23:59:59 do dia informado. Se este parâmetro for enviado é obrigatório enviar fromCreatedAt
fromStatusChangedAt string false Utilizado para considerar todos os produtos que tiveram alterações de status cuja data seja igual ou maior do que o valor definido. e.g. 2016-10-14T14:20:49 (YYYY-mm-ddTH:i:s)
toStatusChangedAt string false Utilizado para considerar todos os produtos que tiveram alterações de status cuja data seja menor ou igual ao valor definido. e.g. 2016-10-14T14:20:49 (YYYY-mm-ddTH:i:s)
statusChangedTo string false Utilizado para considerar todos os produtos que tiveram alterações de status para o valor definido. Valores aceitos: approved, pending, denied
currentStatus string false utilizado para considerar todos os produtos cujo status atual corresponderem ao valor definido. Valores aceitos: approved, pending, denied
limit int false Limite máximo de registros a retornar. Default: 10. Se este campo for enviado é obrigatório enviar o parâmetro offset
offset date false Posição inicial dos registros retornados. Exemplo, se houver 100 registros use offset 10 para pegar a partir do décimo primeiro registro. Default: 0. Se este campo for enviado é obrigatório enviar o parâmetro limit
fromUpdatedAt date false Data início de filtro baseado na data de alteração do status do produto. ex. 2014-01-01T20:20:20 (YYYY-mm-ddTH:i:s). Caso não informada a hora serão considerados todos os registros cadastrados desde às 00:00:00 do dia informado. Se este parâmetro for enviado é obrigatório enviar toUpdatedAt
toUpdatedAt date false Data fim de filtro baseado na data de alteração do status do produto. ex. 2014-01-01T20:20:20 (YYYY-mm-ddTH:i:s). Caso não informada a hora serão considerados todos os registros cadastrados até às 23:59:59 do dia informado. Se este parâmetro for enviado é obrigatório enviar fromUpdatedAt
calculatePromotion int false Utilize 1 para exibir preço promocional do produto. Válido apenas para promoções para o tipo de cliente padrão e promoções de catálogo

Request Example enviando reference codes de produto

. O referenceCode dos produtos deve vir separado por vírgula, caso mais de um produto deva ser consultado:

GET /platform/api/products/refcod-produto-1,refcod-produto-2?token=tokenLoja&referenceCodeStore=shoppingstore-flexy&version=1 HTTP/1.1
Host: https://flexy.api.flexy.com.br/
Accept: application/json
Content-Type: application/json

Request Example de recuperação das informações de um único produto


GET /platform/api/products/refcod-produto?token=tokenLoja&referenceCodeStore=shoppingstore-flexy&version=1 HTTP/1.1
Host: https://flexy.api.flexy.com.br/
Accept: application/json
Content-Type: application/json

Request Example enviando parâmetros de pesquisa


GET /platform/api/products/?token=tokenLoja&limit=20&offset=2&fromCreatedAt=2015-01-01T15:20:25&toCreatedAt=2016-01-01&referenceCodeStore=shoppingstore-flexy&version=1 HTTP/1.1
Host: https://flexy.api.flexy.com.br/
Accept: application/json
Content-Type: application/json

Response Example


HTTP/1.1 200 OK
Content-Type: application/json

[
 {
     "name":"Chuteira",
     "url":"/produto/934459/chuteira-kichute",
     "masterImage":"https://meusite.com.br/img/image.png",
     "shoppingStore":'nome da loja',
     "slug":"chuteira-kichute",
     "stockControl":false,
     "availableFor": "all",
     "referenceCode":"934459",
     "createdAt":"2014-09-24 14:10:06",
     "updatedAt":"2014-12-29 06:12:20",
     "deletedAt":null,
     "categories":["Produtos","calçados","Esportivos"],
     "metaTags":null,
     "descriptionGroup":[
         {
             "descriptionOne":"descrição",
             "descriptionTwo":"",
             "descriptionThree":null,
             "descriptionFour":"calçado definitivo para jogar futebol"
         }
     ],
     "variants":[
         {
             "id":84688,
             "referenceCode":"934459",
             "presentation":"chuteira-kichute",
             "url":"/produto/934459/chuteira-kichute",
             "price":226.9,
             "master":true,
             "masterImage":null,
             "isFractionalStock": false,
             "stock":{
                 quantity:8,
                 minimumQuantity:0,
                 distributionCenter:{
                        referenceCode:"shopping-reference-code",
                        postcode:"88032005",
                        city:"Florianópolis",
                        state:"SC",
                        country:"Brasil",
                        district:"Saco Grande",
                        street:"Rodovia José Carlos Daux",
                        complement:"teste",
                        number:5025
                 }
             },
             "distributionCenterList":[
                   {
                       quantity:8,
                       minimumQuantity:0,
                       distributionCenter:{
                               referenceCode:"CD1",
                               postcode:"88040000",
                               city:"Florianópolis",
                               state:"SC",
                               country:"Brasil",
                               district:"Pantanal",
                               street:"Rua Deputado Antônio Edu Vieira ",
                               complement:"123",
                               number:312
                      }
                   },
                   {
                       quantity:11,
                       minimumQuantity:0,
                       distributionCenter:{
                               referenceCode:"CD2",
                                postcode:"88010450",
                                city:"Florianópolis",
                                state:"SC",
                                country:"Brasil",
                                district:"Centro",
                                street:"Rua Saldanha Marinho",
                                complement:"apto 1",
                                number:123
                       }
                    }
             ],
             "priceList":null,
             "dimensionGroup":{
                 "height":20,
                 "width":50,
                 "depth":40,
                 "weight":2
                 }
             }
     ],
     "productType":"product.type.custom",
     "links":{
         "variants":[
             "https://meusite.com.br/platform/api/variants/934459"
         ]
     },
   "properties":null,
   "videos": [
         {
             "code": "xYbZKilfUiowd",
             "description": "A descrição do meu vídeo aqui"
         }
   ],
   "productsRelated": [
      {
         "typeReferenceCode": "product.related.type.kit",
         "variantReferenceCode": "sapato-44",
         "quantity": "3"
      },
      {
         "typeReferenceCode": "product.related.type.seealso",
         "variantReferenceCode": "sapato-46",
         "groupReferenceCode" : "meu-grupo"
      },
      {
         "typeReferenceCode": "product.related.type.additional",
         "variantReferenceCode": "sapato-42",
         "groupReferenceCode" : "meu-grupo"
      }
   ],
   "productStatus": [
       {
           "referenceCode": "approved",
           "createdAt": "2014-12-29 06:12:20",
           "note" : "Produto aprovado"
       }
   ]
 }
]

Listar SKUs por centro de distribuição (GET)

Recupera um ou mais SKUs por centro de distribuição.

Parâmetros aceitos neste método:

Parâmetro Tipo Obrigatório Descrição
referenceCode string false Código de referência da variação
offset int false Posição inicial dos registros retornados. Exemplo, se houver 100 registros use offset 10 para pegar a partir do décimo primeiro registro. Default: 0.
limit date false Limite de registros a serem retornados. Limite máximo permitido: 100

Request Example

Obs: o parâmetro da url referenceCodeStore, deve ser somente utilizado para lojas de shopping

GET /platform/api/stocks/chuteira-adidas-slx-39?token=******&referenceCodeStore=shoppingstore-flexy&limit=50&offset=50version=1 HTTP/1.1
Host: https://flexy.api.flexy.com.br/
Accept: application/json
Content-Type: application/json
Exemplo utilizando código de referencia da variação.

GET /platform/api/stocks/chuteira-adidas-slx-39?token=******&referenceCodeStore=shoppingstore-flexy&version=1 HTTP/1.1
Host: https://flexy.api.flexy.com.br/
Accept: application/json
Content-Type: application/json

Response Example


HTTP/1.1 200 OK
Content-Type: application/json

[
    {
        "quantity": 67,
        "minimumQuantity" : 0,
        "distributionCenter": {
             "referenceCode": "minha-filial",
             "postcode" : "88117020"
        }
    },
    {
        "quantity": 33,
        "minimumQuantity" : 5,
        "distributionCenter": {
             "referenceCode": "minha-filial-2",
             "postcode" : "88117030"
        }
    }
]

Alteração de estoque por centro de distribuição / SKU (PUT)

Efetua a alteração de estoques de um SKU para um centro de distribuição. Para variações sem controle de estoque, informe a quantidade 1 para compartilhar e 0 para remover o compartilhamento do estoque.

Parâmetros aceitos neste método:

Parâmetro Tipo Obrigatório Descrição
quantity double false Quantidade em estoque.
minimumQuantity double false Quantidade mínima em estoque.
distributionCenter[postcode] string false CEP do centro de distribuição

Request Example

Obs: o parâmetro da url referenceCodeStore, deve ser somente utilizado para lojas de shopping

PUT /platform/api/stocks/chuteira-adidas-slx-39?token=******&referenceCodeStore=shoppingstore-flexy&version=1 HTTP/1.1
Host: https://flexy.api.flexy.com.br/
Content-Type: application/json.

[
    {
        "quantity": 67,
        "minimumQuantity" : 0,
        "distributionCenter": {
             "referenceCode": "minha-filial"
        }
    },
    {
        "quantity": 33,
        "minimumQuantity" : 5,
        "distributionCenter": {
             "referenceCode": "minha-filial-2"
        }
    }
]

Response Example


HTTP/1.1 200 OK
Content-Type: application/json

[
    {
        "quantity": 67,
        "minimumQuantity" : 0,
        "distributionCenter": {
             "referenceCode": "minha-filial"
        }
    },
    {
        "quantity": 33,
        "minimumQuantity" : 5,
        "distributionCenter": {
             "referenceCode": "minha-filial-2"
        }
    }
]

Listar SKUs (GET)

Recupera um ou mais SKUs.

Parâmetros aceitos neste método:

Parâmetro Tipo Obrigatório Descrição
referenceCodes string false Códigos de referência das variações, separadas por vírgulas (,)
fromCreatedAt string false Data início de filtro baseado na data de criação do produto. e.g. 2014-01-01T20:20:20 (YYYY-mm-ddTH:i:s). Caso não informada a hora serão considerados todos os registros cadastrados desde às 00:00:00 do dia informado. Se este parâmetro for enviado é obrigatório enviar toCreatedAt
toCreatedAt int false Data fim de filtro baseado na data de criação do produto. e.g. 2014-01-01T20:20:20 (YYYY-mm-ddTH:i:s). Caso não informada a hora serão considerados todos os registros cadastrados até às 23:59:59 do dia informado. Se este parâmetro for enviado é obrigatório enviar fromCreatedAt
limit int false Limite máximo de registros a retornar. Default: 10. Se este campo for enviado é obrigatório enviar o parâmetro offset
offset date false Posição inicial dos registros retornados. Exemplo, se houver 100 registros use offset 10 para pegar a partir do décimo primeiro registro. Default: 0. Se este campo for enviado é obrigatório enviar o parâmetro limit
fromUpdatedAt date false Data início de filtro baseado na data de alteração do status do pedido. e.g. 2014-01-01T20:20:20 (YYYY-mm-ddTH:i:s). Caso não informada a hora serão considerados todos os registros cadastrados desde às 00:00:00 do dia informado. Se este parâmetro for enviado é obrigatório enviar toUpdatedAt
toUpdatedAt date false Data fim de filtro baseado na data de alteração do status do pedido. e.g. 2014-01-01T20:20:20 (YYYY-mm-ddTH:i:s). Caso não informada a hora serão considerados todos os registros cadastrados até às 23:59:59 do dia informado. Se este parâmetro for enviado é obrigatório enviar fromUpdatedAt

Request Example

Obs: o parâmetro da url referenceCodeStore, deve ser somente utilizado para lojas de shopping

GET /platform/api/variants?token=******&referenceCodeStore=shoppingstore-flexy&fromCreatedAt=2015-01-01T15:20:25&toCreatedAt=2016-01-01&limit=50&offset=50version=1 HTTP/1.1
Host: https://flexy.api.flexy.com.br/
Accept: application/json
Content-Type: application/json
Exemplo utilizando códigos de referencia de variações.

GET /platform/api/variants/chuteira-adidas-slx-39,chuteira-adidas-slx-40?token=******&referenceCodeStore=shoppingstore-flexy&version=1 HTTP/1.1
Host: https://flexy.api.flexy.com.br/
Accept: application/json
Content-Type: application/json

Response Example


HTTP/1.1 200 OK
Content-Type: application/json

[
   {
      "id":591,
      "referenceCode":"produto-simples-shopping-estoque-fracionado",
      "productReferenceCode":"produto-simples-shopping-estoque-fracionado",
      "eanCode":"",
      "presentation":"Produto Simples Shopping Estoque Fracionado",
      "url":"/produto/produto-simples-shopping-estoque-fracionado/produto-simples-shopping-estoque-fracionado",
      "price":100,
      "promotionalPrice":null,
      "master":true,
      "masterImage":null,
      "isFractionalStock":true,
      "stock":{
         "quantity":0,
         "minimumQuantity":0,
         "distributionCenter":{
            "referenceCode":"shopping-reference-code",
            "postcode":"88032005",
            "city":"Florianópolis",
            "state":"SC",
            "country":"Brasil",
            "district":"Saco Grande",
            "street":"Rodovia José Carlos Daux ",
            "complement":"Sala 03",
            "number":5025
         }
      },
      "distributionCenterList":[
         {
            "quantity":0,
            "minimumQuantity":0,
            "distributionCenter":{
               "referenceCode":"shopping-reference-code",
               "postcode":"88032005",
               "city":"Florianópolis",
               "state":"SC",
               "country":"Brasil",
               "district":"Saco Grande",
               "street":"Rodovia José Carlos Daux ",
               "complement":"Sala 03",
               "number":5025
            }
         },
         {
            "quantity":10000,
            "minimumQuantity":0,
            "distributionCenter":{
               "referenceCode":"testandoabergama",
               "postcode":"71215100",
               "city":"Brasília",
               "state":"DF",
               "country":"Brasil",
               "district":"Zona Industrial (Guará)",
               "street":"SGCV (St Garagens e Conces de Veículos)",
               "complement":"LOTE BL D SL 511 PARTE A",
               "number":11
            }
         }
      ],
      "priceList":null,
      "dimensionGroup":{
         "height":30,
         "width":30,
         "depth":30,
         "weight":1.5
      },
      "additionalDeliveryTime":0,
      "availableAt":null,
      "deletedAt":null
   }
]

Alteração de preço e/ou estoque de SKU (PUT)

Efetua a alteração de preços e estoques de um SKU. Lista de preços não enviadas, retirarão a variação da lista em questão

Parâmetros aceitos neste método:

Parâmetro Tipo Obrigatório Descrição
price double false Preço do SKU. Caso referenceCodeStore estiver preenchido, irá editar o valor da lista de preço padrão da referida loja.
additionalDeliveryTime integer false Dias adicionais para a entrega do produto.
availableAt String false Data em que o produto estará disponível. Formato aceito YYYY-MM-DD
priceList[criteria] string false Código de referência da lista de preços
priceList[price] double false Preço da variação na lista de preços.
isFractionalStock boolean false Determina se o estoque da SKU pode ser fracionado. Por exemplo: produtos que sejam vendidos por peso.
stock[quantity] double false Quantidade em estoque.
stock[minimumQuantity] boolean false Quantidade mínima em estoque.

Request Example

Obs: o parâmetro da url referenceCodeStore, deve ser somente utilizado para lojas de shopping

PUT /platform/api/variants/chuteira-adidas-slx-39?token=******&referenceCodeStore=shoppingstore-flexy&version=1 HTTP/1.1
Host: https://flexy.api.flexy.com.br/
Content-Type: application/json.

{
     "variant" : {
         "price": "239.99",
         "additionalDeliveryTime": 50,
         "availableAt": "2015-05-31",
         "priceList": [
         {
             "criteria": "lista_preco_a",
             "price": 42.24
         },
         {
             "criteria": "lista_preco_b",
             "price": 24.42
         }
         ],
         "isFractionalStock": false,
         "stock": {
             "quantity": "67",
             "minimumQuantity": "10"
         }
     }
}

Response Example


HTTP/1.1 200 OK
Content-Type: application/json

   {
   "id": 788,
   "referenceCode": "chuteira-adidas-slx-39,
   "presentation": "Número 39",
   "url": "/produto/chuteira-adidas-slx-39/numero-39",
   "price": 239.99,
   "master": true,
   "masterImage": null,
   "isFractionalStock": false,
   "stock": {
     "quantity": 67,
     "minimumQuantity": 10
   },
   "priceList": [
   {
     "criteria": "lista_preco_a",
     "price": 42.24
   },
   {
     "criteria": "lista_preco_b",
     "price": 24.42
   }
   ],
   "dimensionGroup": {
     "height": 40,
     "width": 54,
     "depth": 0.01,
     "weight": 0.2
   },
   "additionalDeliveryTime": 39,
   "availableAt": "2015-05-31"
   }

Produtos: Campos personalizados

Excluir campo personalizado de produto (DELETE)

Possibilita a exclusão de campos personalizados de produtos. Apenas os administradores do shopping é que podem excluir campos personalizados para os produtos tanto via painel quanto via API, 'referenceCodeStore' não é permitido.

Request Template

.

DELETE /platform/api/custom-product-attribute/{referenceCode}?token={token}
Host: http://flexy.api.flexy.com.br/
Accept: application/json
Content-Type: application/json

Request Example


DELETE /platform/api/custom-product-attribute/campo-peronalizado-imagem-2?token=******
Host: http://flexy.api.flexy.com.br/

Response Example


HTTP/1.1 200 OK
Content-Type: application/json

 {
     "name": "Campo personalizado de imagem novo",
     "referenceCode": null,
     "type": "image",
     "required": true,
     "createdAt": "2019-10-27 22:10:20",
     "updatedAt": "2019-11-01 18:06:55",
     "deletedAt": "2019-11-01 18:23:38"
 }

Listar campos personalizados dos produtos (GET)

Recupera uma ou mais campos personalizados dos produtos. Apenas os administradores do shopping podem listar campos personalizados dos produtos, 'referenceCodeStore' não é permitido.

Parâmetros aceitos neste método:

Parâmetro Tipo Obrigatório Descrição
name string false Nome do campo personalizado.
customProductAttributeReferenceCodes string false Código de referência dos campos personalizados, pode ser informado uma lista de códigos de referência separados por vírgula.
type string false Tipo do campo personalizado, valores aceitos: 'image', 'text' e 'text_area'.
required boolean false Obrigatoriedade do campo personalizado, valores aceitos: 'true' e 'false'
fromCreatedAt string false Data início de filtro baseado na data de criação do campo personalizado do produto. e.g. 2014-01-01 20:20:20 (YYYY-mm-dd H:i:s). Caso não informada a hora serão considerados todos os registros cadastrados desde às 00:00:00 do dia informado. Se este parâmetro for enviado é obrigatório enviar toCreatedAt
toCreatedAt string false Data fim de filtro baseado na data de criação da criação do campo personalizado do produto. e.g. 2014-01-01 20:20:20 (YYYY-mm-dd H:i:s). Caso não informada a hora serão considerados todos os registros cadastrados até às 23:59:59 do dia informado. Se este parâmetro for enviado é obrigatório enviar fromCreatedAt
fromUpdatedAt date false Data início de filtro baseado na data de alteração do status do campo personalizado do produto. ex. 2014-01-01 20:20:20 (YYYY-mm-dd H:i:s). Caso não informada a hora serão considerados todos os registros cadastrados desde às 00:00:00 do dia informado. Se este parâmetro for enviado é obrigatório enviar toUpdatedAt
toUpdatedAt date false Data fim de filtro baseado na data de alteração do status do campo personalizado do produto. ex. 2014-01-01 20:20:20 (YYYY-mm-dd H:i:s). Caso não informada a hora serão considerados todos os registros cadastrados até às 23:59:59 do dia informado. Se este parâmetro for enviado é obrigatório enviar fromUpdatedAt
limit int false Limite máximo de registros a retornar. Valor padrão: 100. Se este campo for enviado é obrigatório enviar o parâmetro offset
offset int false Posição inicial dos registros retornados. Exemplo, se houver 100 registros use offset 10 para pegar a partir do décimo primeiro registro. Valor padrão: 0. Se este campo for enviado é obrigatório enviar o parâmetro limit

Request Template

.

GET /platform/api/products/properties/{referenceCodes}?token=token&version=1 HTTP/1.1
Host: https://flexy.api.flexy.com.br/
Accept: application/json
Content-Type: application/json

Request Example


GET /platform/api/custom-product-attribute?token=token&customProductAttributeReferenceCodes=campo-peronalizado-frase,imagem-personalizada
Host: https://flexy.api.flexy.com.br/
Accept: application/json
Content-Type: application/json

Response Example


HTTP/1.1 200 OK
Content-Type: application/json

 [
     {
         "name": "Campo personalizado de frase",
         "referenceCode": "campo-peronalizado-frase",
         "type": "text",
         "required": false,
         "createdAt": "2019-11-01 17:15:35",
         "updatedAt": "2019-11-01 17:53:52"
     },
     {
         "name": "Campo personalizado de imagem",
         "referenceCode": "imagem-personalizada",
         "type": "image",
         "required": true,
         "createdAt": "2019-10-31 16:38:32",
         "updatedAt": "2019-10-31 16:38:32"
     }
 ]

Cadastrar campos personalizados de produtos (POST)

Cadastra campos personalizados de produtos. Apenas os administradores do shopping é que podem cadastar campos personalizados para os produtos tanto via painel quanto via API, 'referenceCodeStore' não é permitido.

Parâmetros aceitos neste método:

Parâmetro Tipo Obrigatório Descrição
referenceCode string true Código de referência do campo personalizado. Não pode conter espaços
name string true Nome do campo personalizado.
type string false Tipo do campo personalizado, valores aceitos: ‘image', 'text'(texto de 1 linha) e 'text_area'(texto de múltiplas linhas). O padrão é 'text’.
required boolean false Obrigatoriedade do campo personalizado, valores aceitos: ‘true' e 'false'. O padrão é 'false'
createdAt string false Data de criação do campo personalizado. e.g. 2019-01-01 20:20:20 (YYYY-mm-dd H:i:s). O padrão é a data e hora do momento da requisição

Request Template

.

POST /platform/api/custom-product-attribute/?token={token}
Host: http://flexy.api.flexy.com.br/
Accept: application/json
Content-Type: application/json

Exemplo 1

Request Example


POST /platform/api/custom-product-attribute/?token={token}
Host: http://flexy.api.flexy.com.br/
Content-Type: application/json

 {
     "name": "Campo personalizado de frase",
     "referenceCode": "campo-personalizado-frase",
     "type": "text",
     "required": true
 }

Response Example


HTTP/1.1 201 CREATED
Content-Type: application/json

 {
     "name": "Campo personalizado de frase",
     "referenceCode": "campo-personalizado-frase",
     "type": "text",
     "required": true,
     "createdAt": "2019-11-01 17:15:35",
     "updatedAt": "2019-11-01 17:15:35"
 }

Exemplo 2

Request Example


POST /platform/api/custom-product-attribute/?token={token}
Host: http://flexy.api.flexy.com.br/
Content-Type: application/json

 {
     "name": "Campo personalizado de texto",
     "referenceCode": "campo-personalizado-texto",
     "type": "text_area",
     "required": "true"
 }

Response Example


HTTP/1.1 201 CREATED
Content-Type: application/json

 {
     "name": "Campo personalizado de frase",
     "referenceCode": "campo-personalizado-frase",
     "type": "text",
     "required": true,
     "createdAt": "2019-11-01 17:15:35",
     "updatedAt": "2019-11-01 17:15:35"
 }

Exemplo 3

Request Example


POST /platform/api/custom-product-attribute/?token={token}
Host: http://flexy.api.flexy.com.br/
Content-Type: application/json

 {
     "name": "Campo personalizado de imagem",
     "referenceCode": "campo-personalizado-imagem",
     "type": "image",
     "required": true,
     "createdAt": "2019-10-27 22:10:20"
 }

Response Example


HTTP/1.1 201 CREATED
Content-Type: application/json

 {
     "name": "Campo personalizado de imagem",
     "referenceCode": "campo-personalizado-imagem",
     "type": "image",
     "required": true,
     "createdAt": "2019-10-27 22:10:20",
     "updatedAt": "2019-11-01 17:28:19"
 }

Atualizar campos personalizados de produtos (PUT)

Atualiza as informações de campos previamente cadastrados. Caso o referenceCode informado não exista o campo personalizado será criado e o status code retornado será 201. Quando houver criação do campo personalizado as validações feitas serão as documentadas no endpoint de criação. Apenas os administradores do shopping é que podem cadastar campos personalizados para os produtos tanto via painel quanto via API, 'referenceCodeStore' não é permitido.

Parâmetros aceitos neste método:

Parâmetro Tipo Obrigatório Descrição
referenceCode string false Código de referência do campo personalizado. Não pode conter espaços
name string false Nome do campo personalizado.
type string false Tipo do campo personalizado, valores aceitos: ‘image', 'text'(texto de 1 linha) e 'text_area'(texto de múltiplas linhas).
required boolean false Obrigatoriedade do campo personalizado, valores aceitos: ‘true' e 'false'.
createdAt string false Data de criação do campo personalizado. e.g. 2019-01-01 20:20:20 (YYYY-mm-dd H:i:s).

Request Template

.

PUT /platform/api/custom-product-attribute/{referenceCode}/?token={token}
Host: http://flexy.api.flexy.com.br/
Accept: application/json
Content-Type: application/json

Exemplo 1

Request Example


PUT /platform/api/custom-product-attribute/campo-personalizado-frase/?token=******
Host: http://flexy.api.flexy.com.br/
Content-Type: application/json

 {
     "required": false
 }

Response Example


HTTP/1.1 200 OK
Content-Type: application/json

 {
     "name": "Campo personalizado de frase",
     "referenceCode": "campo-personalizado-frase",
     "type": "text",
     "required": false,
     "createdAt": "2019-11-01 17:15:35",
     "updatedAt": "2019-11-01 17:53:52"
 }

Exemplo 2 (alterando nome e referenceCode)

Request Example


PUT /platform/api/custom-product-attribute/?token={token}
Host: http://flexy.api.flexy.com.br/
Content-Type: application/json

 {
     "name": "Campo personalizado de imagem novo",
     "referenceCode": "campo-peronalizado-imagem-2"
 }

Response Example


HTTP/1.1 200 OK
Content-Type: application/json

 {
     "name": "Campo personalizado de imagem novo",
     "referenceCode": "campo-peronalizado-imagem-2",
     "type": "image",
     "required": true,
     "createdAt": "2019-10-27 22:10:20",
     "updatedAt": "2019-11-01 18:06:55"
 }

Listar os campos personalizados relacionados a um produto (GET)

Lista os campos personalizados atribuídos a um produto.

Request Template

.

GET /platform/api/products/custom-attribute/{productReferenceCode}?token={token}
Host: https://flexy.api.flexy.com.br/
Accept: application/json
Content-Type: application/json

Request Example


GET /platform/api/products/custom-attribute/camiseta-futebol-azul?token=******
Host: https://flexy.api.flexy.com.br/
Accept: application/json
Content-Type: application/json

Response Example


HTTP/1.1 200 OK
Content-Type: application/json

 [
     {
         "name": "Campo personalizado de imagem",
         "referenceCode": "campo-peronalizado-imagem",
         "type": "image",
         "required": "true"
     }
 ]

Associar campo personalizado a um produto (POST)

Associa 1 ou mais campos personalizados a um produto. Esse método preserva os campos personalizados previamente atribuídos ao produto.

Parâmetros aceitos neste método:

Parâmetro Tipo Obrigatório Descrição
referenceCode string true Código de referência do campo personalizado. Não pode conter espaços

Request Template

.

POST /platform/api/products/custom-attribute/{productReferenceCode}?token={token}
Host: http://flexy.api.flexy.com.br/
Accept: application/json
Content-Type: application/json

Request Example


POST /platform/api/products/custom-attribute/camiseta-futebol-azul?token=******
Host: http://flexy.api.flexy.com.br/
Content-Type: application/json

 [
     {
         "referenceCode": "nome-escrito-nas-costas"
     },
     {
         "referenceCode": "campo-peronalizado-frase"
     }
 ]

Response Example


HTTP/1.1 201 CREATED
Content-Type: application/json

 [
     {
         "name": "Nome escrito nas costas",
         "referenceCode": "nome-escrito-nas-costas",
         "type": "text",
         "required": "false"
     },
     {
         "name": "Campo personalizado de frase",
         "referenceCode": "campo-peronalizado-frase",
         "type": "text",
         "required": "true"
     },
     {
         "name": "Campo personalizado de imagem",
         "referenceCode": "campo-peronalizado-imagem",
         "type": "image",
         "required": "true"
     }
 ]

Substituir associações dos campos personalizados de um produto (PUT)

Adiciona 1 ou mais campos personalizados a um produto. Esse método exclui todos os campos previamente atribuídos mantendo os campos personalizados enviados na requisição. Se o body enviado for ‘[]’ todos os campos personalizados do produto serão removidos.

Parâmetros aceitos neste método:

Parâmetro Tipo Obrigatório Descrição
referenceCode string true Código de referência do campo personalizado. Não pode conter espaços

Request Template

.

PUT /platform/api/products/custom-attribute/{productReferenceCode}?token={token}
Host: http://flexy.api.flexy.com.br/
Accept: application/json
Content-Type: application/json

Request Example


POST /platform/api/products/custom-attribute/camiseta-futebol-azul?token=******
Host: http://flexy.api.flexy.com.br/
Content-Type: application/json

 [
     {
         "referenceCode": "campo-peronalizado-imagem"
     }
 ]

Response Example


HTTP/1.1 201 CREATED
Content-Type: application/json

 [
     {
         "name": "Campo personalizado de imagem",
         "referenceCode": "campo-peronalizado-imagem",
         "type": "image",
         "required": "true"
     }
 ]

Excluir associação entre um campo personalizado e um produto (DELETE)

Exclui os campos personalizados atribuídos a um produto.

Request Template

.

DELETE /platform/api/products/custom-attribute/{productReferenceCode}/{referenceCode}?token={token}
Host: https://flexy.api.flexy.com.br/
Accept: application/json
Content-Type: application/json

Request Example


DELETE /platform/api/products/custom-attribute/camiseta-futebol-azul/campo-peronalizado-imagem?token={token}
Host: https://flexy.api.flexy.com.br/
Accept: application/json
Content-Type: application/json

Response Example


HTTP/1.1 200 OK
Content-Type: application/json

 [
     {
         "name": "Nome escrito nas costas",
         "referenceCode": "nome-escrito-nas-costas",
         "type": "text",
         "required": "false"
     },
     {
         "name": "Campo personalizado de frase",
         "referenceCode": "campo-peronalizado-frase",
         "type": "text",
         "required": "true"
     }
 ]

Promoção: Carrinho de Compras

Cadastrar promoção de carrinho de compras (POST)

Cadastra uma promoção de carrinho de compras. Para cadastrar uma promoção de carrinho de compras para uma shoppingStore utilizar o parâmetro get 'referenceCodeStore'. Esta promoção necessita de produtos ou categorias ou propriedades relacionadas para que possa ser aplicada. Essa relação pode ser feita por painel ou por API específica para isto.

Parâmetros aceitos neste método:

Parâmetro Tipo Obrigatório Descrição
priority integer false Define a prioridade da promoção. Quanto maior o número, maior a prioridade desta promoção sobre outras. Se não for passado, o valor padrão será 1.
name string true Nome da promoção.
referenceCode string true Código de referência da promoção.
discountType string true Tipo de desconto da promoção. valor ou porcentagem. Aceita apenas os valores 'money' ou 'percent'
discountValue int true Define o valor de desconto desta promoção.
minValue float false A promoção terá vigor apenas quando o valor mínimo for alcançado. Se não for passado, o valor será considerado como 0.
maxValue float true A promoção terá vigor apenas quando o valor da compra for menor que o valor máximo.
startDate boolean true Data de início da promoção. e.g. 2019-02-01 00:00:00 (YYYY-mm-ddTH:i:s)
endDate boolean true Data de término da promoção.e.g. 2019-02-01 00:00:00 (YYYY-mm-ddTH:i:s)
customerType boolean false Código de referência de perfil de cliente. Para pesquisar pelo tipo padrão, bastar colocar 'default.customer' neste campo. Shopping Stores não tem permissão para atribuir este valor.
criteria string false Código de referência de lista de preços. Shopping Stores não tem permissão para atribuir este valor.
onlyDefaultCriteria boolean false Somente clientes sem lista de preço.

Request Example

. Obs: o parâmetro da url referenceCodeStore, deve ser somente utilizado para lojas de shopping

POST /platform/api/promotion/cart/?token=******&referenceCodeStore=shoppingstore-flexy&version=1 HTTP/1.1
Host: https://flexy.api.flexy.com.br/
Accept: application/json
Content-Type: application/json

{
    "referenceCode": "promocao-de-carrinho",
    "name": "Promoção de carrinho de compras",
    "startDate": "2018-07-18 20:19:00",
    "endDate": "2018-07-30 20:19:00",
    "priority": 2,
    "discountType": "money",
    "discountValue": 3.8,
    "minValue": 10.50,
    "maxValue": 11.50,
    "onlyDefaultCriteria": true
}

Response Example


HTTP/1.1 201 CREATED
Content-Type: application/json


{
    "priority": 2,
    "name": "Promoção de carrinho de compras",
    "referenceCode": "promocao-de-carrinho",
    "discountType": "money",
    "discountValue": 3.8,
    "minValue": 10.5,
    "maxValue": 11.5,
    "startDate": "2018-07-18 20:19:00",
    "endDate": "2018-07-30 20:19:00",
    "customerType": null,
    "criteria": null,
    "onlyDefaultCriteria": true,
    "createdAt": "2019-07-22 09:34:54",
    "updatedAt": "2019-07-22 09:34:54"
}


Excluir promoção de carrinho de compras (DELETE)

Exclui uma promoção de carrinho de compras. Para excluir uma promoção de carrinho de compras de uma shoppingStore utilizar o parâmetro get 'referenceCodeStore'

Request Template


DELETE /platform/api/promotion/cart/{promotionReferenceCode}?token=******&referenceCodeStore={referenceCodeStore}&version=1 HTTP/1.1
Host: https://flexy.api.flexy.com.br
Accept: application/json
Content-Type: application/json
.

Request Example

Obs: o parâmetro da url referenceCodeStore, deve ser somente utilizado para lojas de shopping

DELETE /platform/api/promotion/cart/promocao-de-carrinho?token=******&referenceCodeStore=shoppingstore-flexy&version=1 HTTP/1.1
Host: https://flexy.api.flexy.com.br
Accept: application/json
Content-Type: application/json

Response Example


HTTP/1.1 200 OK
Content-Type: application/json


{
    "priority": 2,
    "name": "Promoção de carrinho de compras",
    "referenceCode": null,
    "discountType": "money",
    "discountValue": 4.8,
    "minValue": 11.5,
    "maxValue": 12.5,
    "startDate": "2018-07-22 19:31:00",
    "endDate": "2018-08-20 20:30:00",
    "customerType": null,
    "criteria": null,
    "onlyDefaultCriteria": false,
    "createdAt": "2019-07-22 09:34:54",
    "updatedAt": "2019-07-22 09:51:49",
    "deletedAt": "2019-07-22 09:51:49"
}

Atualizar promoção de carrinho de compras (PUT)

Atualiza ou cadastra uma promoção de carrinho de compras. Para atualizar uma promoção de carrinho de compras para uma shoppingStore utilizar o parâmetro get 'referenceCodeStore'. Esta promoção necessita de produtos ou categorias ou propriedades relacionadas para que possa ser aplicada. Essa relação pode ser feita por painel ou por API específica para isto.

Observação: Ao informar um promotionReferenceCode que não exista, a promoção será cadastrada obedecendo a obrigatoriedade dos parâmetros definidas na sessão de cadastro.

Parâmetros aceitos neste método:

Parâmetro Tipo Obrigatório Descrição
priority integer false Define a prioridade da promoção. Quanto maior o número, maior a prioridade desta promoção sobre outras.
minValue float false A promoção terá vigor apenas quando o valor mínimo for alcançado.
maxValue float false A promoção terá vigor apenas quando o valor da compra for menor que o valor máximo.
name string false Nome da promoção.
referenceCode string false Código de referência da promoção.
discountType string false Tipo de desconto da promoção. valor ou porcentagem. Aceita apenas os valores 'money' ou 'percent'
discountValue int false Define o valor de desconto desta promoção.
startDate boolean false Data de início da promoção. e.g. 2019-02-01 00:00:00 (YYYY-mm-ddTH:i:s)
endDate boolean false Data de término da promoção.e.g. 2019-02-01 00:00:00 (YYYY-mm-ddTH:i:s)
customerType boolean false Código de referência de perfil de cliente. Para pesquisar pelo tipo padrão, bastar colocar 'default.customer' neste campo. Shopping Stores não tem permissão para atribuir este valor.
criteria string false Código de referência de lista de preços. Shopping Stores não tem permissão para atribuir este valor.
onlyDefaultCriteria boolean false Somente clientes sem lista de preço.

Endpoint template


PUT /platform/api/promotion/cart/{promotionReferenceCode}?token=******&referenceCodeStore={referenceCodeStore}&version=1 HTTP/1.1
Host: https://flexy.api.flexy.com.br/
Accept: application/json
Content-Type: application/json
.

Request Example

Obs: o parâmetro da url referenceCodeStore, deve ser somente utilizado para lojas de shopping

PUT /platform/api/promotion/cart/promocao-de-carrinho?token=******&referenceCodeStore=shoppingstore-flexy&version=1 HTTP/1.1
Host: https://flexy.api.flexy.com.br/
Accept: application/json
Content-Type: application/json

{
    "referenceCode": "promocao-de-carrinho",
    "name": "Promoção de carrinho de compras",
    "startDate": "2018-07-18 20:19:00",
    "endDate": "2018-07-30 20:19:00",
    "priority": 2,
    "discountType": "money",
    "discountValue": 3.8,
    "minValue": 10.50,
    "maxValue": 11.50,
    "onlyDefaultCriteria": true
}

Response Example


HTTP/1.1 200 OK
Content-Type: application/json

{
    "priority": 2,
    "name": "Promoção de carrinho de compras",
    "referenceCode": "promocao-de-carrinho",
    "discountType": "money",
    "discountValue": 3.8,
    "minValue": 10.5,
    "maxValue": 11.5,
    "startDate": "2018-07-18 20:19:00",
    "endDate": "2018-07-30 20:19:00",
    "customerType": null,
    "criteria": null,
    "onlyDefaultCriteria": true,
    "createdAt": "2019-07-22 09:34:54",
    "updatedAt": "2019-07-22 09:34:54"
}

Listar promoções de carrinho (GET)

Recupera uma ou mais promoções de carrinho. Para listar promoções de carrinho para uma shoppingStore utilizar o parâmetro get 'referenceCodeStore'.

Parâmetros aceitos neste método:

Parâmetro Tipo Obrigatório Descrição
fromMinValue float false Filtrar por valor mínimo da compra a partir deste número.
toMinValue float false Filtrar por valor mínimo da compra até este número.
fromMaxValue float false Filtrar por valor máximo da compra a partir deste número.
toMaxValue float false Filtrar por valor máximo da compra até este número.
variants string false Códigos de referência das variações, separadas por vírgulas (,)
properties string false Códigos de referência das propriedades, separadas por vírgulas (,)
categories string false Códigos de referência das categorias, separadas por vírgulas (,)
customerType boolean false Código de referência de perfil de cliente. Para pesquisar pelo tipo padrão, bastar colocar 'default.customer' neste campo.
criteria boolean false Código de referência de lista de preços.
fromCreatedAt string false Data início de filtro baseado na data de criação da promoção. e.g. 2019-01-01T20:20:20 (YYYY-mm-ddTH:i:s).
toCreatedAt string false Data fim de filtro baseado na data de criação da promoção. e.g. 2019-01-01T20:20:20 (YYYY-mm-ddTH:i:s).
fromUpdatedAt string false Data início de filtro baseado na data da última atualização da promoção. e.g. 2019-01-01T20:20:20 (YYYY-mm-ddTH:i:s).
toUpdatedAt string false Data fim de filtro baseado na data da última atualização da promoção. e.g. 2019-01-01T20:20:20 (YYYY-mm-ddTH:i:s).
fromStartDate string false Data mínima para a busca da data inicial da promoção. e.g. 2019-01-01T20:20:20 (YYYY-mm-ddTH:i:s).
toStartDate string false Data máxima para a busca da data inicial da promoção. e.g. 2019-01-01T20:20:20 (YYYY-mm-ddTH:i:s).
fromEndDate string false Data mínima para a busca da data final da promoção. e.g. 2019-01-01T20:20:20 (YYYY-mm-ddTH:i:s).
toEndDate string false Data máxima para a busca da data final da promoção. e.g. 2019-01-01T20:20:20 (YYYY-mm-ddTH:i:s).
offset int false Posição inicial dos registros retornados. Exemplo, se houver 100 registros use offset 10 para pegar a partir do décimo primeiro registro. Default: 0.
limit int false Limite máximo de registros a retornar. Default: 100.

Endpoint Template

.

GET /platform/api/promotion/cart/?token=******&referenceCodeStore={referenceCodeStore}&version=1 HTTP/1.1
Host: https://flexy.api.flexy.com.br
Accept: application/json
Content-Type: application/json

Request Example

Obs: o parâmetro da url referenceCodeStore, deve ser somente utilizado para lojas de shopping

GET /platform/api/promotion/cart/?token=******&referenceCodeStore=shoppingstore-flexy&version=1 HTTP/1.1
Host: https://flexy.api.flexy.com.br
Accept: application/json
Content-Type: application/json
Exemplo utilizando filtros de data

GET /platform/api/promotion/cart/?token=******&fromUpdatedAt=2019-07-05T14:13:40&version=1 HTTP/1.1
Host: https://flexy.api.flexy.com.br
Accept: application/json
Content-Type: application/json

Response Example


HTTP/1.1 200 OK
Content-Type: application/json

[
    {
        "priority": 2,
        "name": "Promoção de carrinho de compras",
        "referenceCode": "promocao-de-carrinho",
        "discountType": "money",
        "discountValue": 3.8,
        "minValue": 10.5,
        "maxValue": 11.5,
        "startDate": "2018-07-18 20:19:00",
        "endDate": "2018-07-30 20:19:00",
        "customerType": null,
        "criteria": null,
        "onlyDefaultCriteria": true,
        "createdAt": "2019-07-22 09:34:54",
        "updatedAt": "2019-07-22 09:34:54"
    }
]

Promoção: Compre X Leve Y

Cadastrar promoção de compre X e leve Y (POST)

Cadastra uma promoção de compre X e leve Y. Para cadastrar uma promoção de compre X e leve Y para uma shoppingStore utilizar o parâmetro get 'referenceCodeStore'

Parâmetros aceitos neste método:

Parâmetro Tipo Obrigatório Descrição
priority integer false Define a prioridade da promoção. Quanto maior o número, maior a prioridade desta promoção sobre outras. Se não for passado, o valor padrão será 1.
recurrence integer false Especifique o número de vezes que a promoção poderá se repetir em um mesmo pedido. A recorrência só ocorrerá quando todos os itens presentes nas abas condições e descontos estiverem presentes no carrinho. Por exemplo: se a promoção for compre 2 pizzas e leve 1 refrigerente por 1 centavo, com recorrência em 2, e o cliente comprar 4 pizzas, ele terá direito a levar 2 refrigerantes por 1 centavo cada. Se não for passado, o valor padrão será 1.
name string true Nome da promoção.
referenceCode string true Código de referência da promoção.
startDate boolean true Data de início da promoção. e.g. 2019-02-01 00:00:00 (YYYY-mm-ddTH:i:s)
endDate boolean true Data de término da promoção.e.g. 2019-02-01 00:00:00 (YYYY-mm-ddTH:i:s)
customerType boolean false Código de referência de perfil de cliente. Para pesquisar pelo tipo padrão, bastar colocar 'default.customer' neste campo. Shopping Stores não tem permissão para atribuir este valor.
criteria string false Código de referência de lista de preços. Shopping Stores não tem permissão para atribuir este valor.
onlyDefaultCriteria boolean false Somente clientes sem lista de preço.

Request Example

. Obs: O parâmetro da url referenceCodeStore deve ser utilizado para cadastrar a promoção na Shopping Store

POST /platform/api/promotion/cart-buy-x-get-y/?token=******&referenceCodeStore=shoppingstore-flexy&version=1 HTTP/1.1
Host: https://flexy.api.flexy.com.br/
Accept: application/json
Content-Type: application/json

{
     "priority": 2,
     "recurrence": 3,
     "name": "Na compra de 3 pizzas leve um refrigerante",
     "referenceCode": "3pizza1refri",
     "startDate": "2019-07-11 16:42:00",
     "endDate": "2019-08-11 16:42:59",
     "customerType": null,
     "criteria": null,
     "onlyDefaultCriteria": false
}


Response Example


HTTP/1.1 201 CREATED
Content-Type: application/json


{
    "priority": 2,
    "recurrence": 3,
    "name": "Na compra de 3 pizzas leve um refrigerante",
    "referenceCode": "3pizza1refri",
    "startDate": "2019-07-11 16:42:00",
    "endDate": "2019-08-11 16:42:59",
    "customerType": null,
    "criteria": null,
    "onlyDefaultCriteria": false,
    "createdAt": "2019-07-19 14:42:11",
    "updatedAt": "2019-07-19 14:42:11"
}


Excluir promoção de compre X e leve Y (DELETE)

Exclui uma promoção de compre X e leve Y. Para excluir uma promoção de compre X e leve Y de uma shoppingStore utilizar o parâmetro get 'referenceCodeStore'

Request Template


DELETE /platform/api/promotion/cart-buy-x-get-y/{promotionReferenceCode}?token=******&referenceCodeStore={referenceCodeStore}&version=1 HTTP/1.1
Host: https://flexy.api.flexy.com.br
Accept: application/json
Content-Type: application/json
.

Request Example

Obs: o parâmetro da url referenceCodeStore, deve ser somente utilizado para lojas de shopping

DELETE /platform/api/promotion/cart-buy-x-get-y/3pizza1refri?token=******&referenceCodeStore=shoppingstore-flexy&version=1 HTTP/1.1
Host: https://flexy.api.flexy.com.br
Accept: application/json
Content-Type: application/json

Response Example


HTTP/1.1 200 OK
Content-Type: application/json


{
    "priority": 2,
    "recurrence": 3,
    "name": "Na compra de 3 pizzas leve um refrigerante",
    "referenceCode": null,
    "startDate": "2019-07-11 16:42:00",
    "endDate": "2019-08-11 16:42:59",
    "customerType": null,
    "criteria": null,
    "onlyDefaultCriteria": false,
    "createdAt": "2019-07-19 15:10:33",
    "updatedAt": "2019-07-19 15:17:06",
    "deletedAt": "2019-07-19 15:17:06"
}

Atualizar promoção de compre X e leve Y (PUT)

Atualiza ou cadastra, caso não exista, uma promoção de comre X e leve Y. Para atualizar uma promoção de compre X e leve Y para uma shoppingStore utilizar o parâmetro get 'referenceCodeStore'.

Observação: Ao informar um promotionReferenceCode que não exista, a promoção será cadastrada obedecendo a obrigatoriedade dos parâmetros definidas na sessão de cadastro.

Parâmetros aceitos neste método:

Parâmetro Tipo Obrigatório Descrição
priority integer false Define a prioridade da promoção. Quanto maior o número, maior a prioridade desta promoção sobre outras.
recurrence integer false Especifique o número de vezes que a promoção poderá se repetir em um mesmo pedido. <strong>Importante:</strong> A recorrência só ocorrerá quando todos os itens presentes nas abas condições e descontos estiverem presentes no carrinho.
name string false Nome da promoção.
referenceCode string false Código de referência da promoção.
startDate boolean false Data de início da promoção. e.g. 2019-02-01 00:00:00 (YYYY-mm-ddTH:i:s)
endDate boolean false Data de término da promoção.e.g. 2019-02-01 00:00:00 (YYYY-mm-ddTH:i:s)
customerType boolean false Código de referência de perfil de cliente. Para pesquisar pelo tipo padrão, bastar colocar 'default.customer' neste campo. Shopping Stores não tem permissão para atribuir este valor.
criteria string false Código de referência de lista de preços. Shopping Stores não tem permissão para atribuir este valor.
onlyDefaultCriteria boolean false Caso 'true', somente clientes sem lista de preço. Caso contrário, 'false'.

Endpoint template


PUT /platform/api/promotion/cart-buy-x-get-y/{promotionReferenceCode}?token=******&referenceCodeStore={referenceCodeStore}&version=1 HTTP/1.1
Host: https://flexy.api.flexy.com.br/
Accept: application/json
Content-Type: application/json

Request Example

. Obs: o parâmetro da url referenceCodeStore, deve ser somente utilizado para lojas de shopping

PUT /platform/api/promotion/cart-buy-x-get-y/{promotionReferenceCode}?token=******&referenceCodeStore=shoppingstore-flexy&version=1 HTTP/1.1
Host: https://flexy.api.flexy.com.br/
Accept: application/json
Content-Type: application/json

{
    "priority": 2,
    "recurrence": 3,
    "name": "Na compra de 3 pizzas leve um refrigerante",
    "referenceCode": "3pizza1refri",
    "startDate": "2019-07-11 16:42:00",
    "endDate": "2019-09-11 16:42:59",
    "customerType": null,
    "criteria": null,
    "onlyDefaultCriteria": false
}

Response Example


HTTP/1.1 200 OK
Content-Type: application/json

{
    "priority": 2,
    "recurrence": 3,
    "name": "Na compra de 3 pizzas leve um refrigerante",
    "referenceCode": "3pizza1refri",
    "startDate": "2019-07-11 16:42:00",
    "endDate": "2019-09-11 16:42:59",
    "customerType": null,
    "criteria": null,
    "onlyDefaultCriteria": false,
    "createdAt": "2019-07-19 14:42:11",
    "updatedAt": "2019-07-19 14:54:38"
}

Listar promoções de compre X e leve Y (GET)

Recupera uma ou mais promoções de compre X e leve Y. Para listar promoções de compre X e leve Y para uma shoppingStore utilizar o parâmetro get 'referenceCodeStore'.

Parâmetros aceitos neste método:

Parâmetro Tipo Obrigatório Descrição
conditionsVariants string false Códigos de referencias das variações nas condições, separados por vírgula.
discountVariants string false Códigos de referencias das variações nos descontos, separados por vírgula.
customerType boolean false Código de referência de perfil de cliente. Para pesquisar pelo tipo padrão, bastar colocar 'default.customer' neste campo.
criteria boolean false Código de referência de lista de preços.
fromCreatedAt string false Data início de filtro baseado na data de criação da promoção. e.g. 2019-01-01T20:20:20 (YYYY-mm-ddTH:i:s).
toCreatedAt string false Data fim de filtro baseado na data de criação da promoção. e.g. 2019-01-01T20:20:20 (YYYY-mm-ddTH:i:s).
fromUpdatedAt string false Data início de filtro baseado na data da última atualização da promoção. e.g. 2019-01-01T20:20:20 (YYYY-mm-ddTH:i:s).
toUpdatedAt string false Data fim de filtro baseado na data da última atualização da promoção. e.g. 2019-01-01T20:20:20 (YYYY-mm-ddTH:i:s).
fromStartDate string false Data mínima para a busca da data inicial da promoção. e.g. 2019-01-01T20:20:20 (YYYY-mm-ddTH:i:s).
toStartDate string false Data máxima para a busca da data inicial da promoção. e.g. 2019-01-01T20:20:20 (YYYY-mm-ddTH:i:s).
fromEndDate string false Data mínima para a busca da data final da promoção. e.g. 2019-01-01T20:20:20 (YYYY-mm-ddTH:i:s).
toEndDate string false Data máxima para a busca da data final da promoção. e.g. 2019-01-01T20:20:20 (YYYY-mm-ddTH:i:s).
offset int false Posição inicial dos registros retornados. Exemplo, se houver 100 registros use offset 10 para pegar a partir do décimo primeiro registro. Default: 0.
limit int false Limite máximo de registros a retornar. Default: 100.

Endpoint Template

.

GET /platform/api/promotion/cart-buy-x-get-y/?token=******&referenceCodeStore={referenceCodeStore}&version=1 HTTP/1.1
Host: https://flexy.api.flexy.com.br
Accept: application/json
Content-Type: application/json

Request Example

Obs: o parâmetro da url referenceCodeStore deve ser utilizado para recuperar promoções das shoppingStores.

GET /platform/api/promotion/cart-buy-x-get-y/?token=******&referenceCodeStore=shoppingstore-flexy&version=1 HTTP/1.1
Host: https://flexy.api.flexy.com.br
Accept: application/json
Content-Type: application/json
Exemplo utilizando filtros de data

GET /platform/api/promotion/cart-buy-x-get-y/?token=******&fromUpdatedAt=2019-07-05T14:13:40&version=1 HTTP/1.1
Host: https://flexy.api.flexy.com.br
Accept: application/json
Content-Type: application/json

Response Example


HTTP/1.1 200 OK
Content-Type: application/json

[
    {
        "priority": 2,
        "recurrence": 3,
        "name": "Na compra de 3 pizzas leve um refrigerante",
        "referenceCode": "3pizza1refri",
        "startDate": "2019-07-11 16:42:00",
        "endDate": "2019-08-11 16:42:59",
        "customerType": null,
        "criteria": null,
        "onlyDefaultCriteria": false,
        "createdAt": "2019-07-11 16:53:50",
        "updatedAt": "2019-07-11 17:19:31"
    }
]

Listar condições de promoção compre X leve Y (GET)

Listar condições de uma promoção compre X leve Y

Request Example

. Obs: o parâmetro da url referenceCodeStore, deve ser somente utilizado para lojas de shopping

GET /platform/api/promotion/{promotionReferenceCode}/conditions?token=******&referenceCodeStore=shoppingstore-flexy&version=1 HTTP/1.1
Host: https://flexy.api.flexy.com.br
Accept: application/json
Content-Type: application/json

Response Example


HTTP/1.1 200 OK
Content-Type: application/json


[
    {
        "quantity": 7,
        "variants": [
            {
                "referenceCode": "produto-99"
             }
        ]
    }
]

Cadastrar condições em uma promoção compre X leve Y (POST)

Cadastrar condições em uma promoção compre X leve Y. Aceita uma coleção de condições em formato de array. As variações de produto no conjunto 'variants' são condições 'ou'. E cada condição é um 'e'. O exemplo abaixo com o cadastro da promoção compre de 2 pizzas (calabresa 'ou' queijo) 'e' 1 caixa de bombom, ganhe 1 refrigerante.

Parâmetros aceitos neste método:

Parâmetro Tipo Obrigatório Descrição
quantity integer true Quantidade, dentre os produtos informados, para ativar a promoção.
variants array true Coleção de variações, documentados abaixo.
variants[][referenceCode] string true Código de referencia da variação. Deve ser um código de variação existente, e não pode existir em outras condições desta promoção.

Request Template


POST /platform/api/promotion/{promotionReferenceCode}/conditions?token=******&referenceCodeStore=shoppingstore-flexy&version=1 HTTP/1.1
Host: https://flexy.api.flexy.com.br/
Accept: application/json
.

Request Example

Obs: o parâmetro da url referenceCodeStore, deve ser somente utilizado para lojas de shopping

POST /platform/api/promotion/3pizza1refri/conditions?token=******&referenceCodeStore=shoppingstore-flexy&version=1 HTTP/1.1
Host: https://flexy.api.flexy.com.br/
Accept: application/json
Content-Type: application/json

[
    {
        "quantity": 3,
        "variants": [
            {
                "referenceCode": "pizza"
            }
        ]
    }
]

Response Example


HTTP/1.1 200 OK
Content-Type: application/json


[
    {
        "quantity": 3,
        "variants": [
            {
                "referenceCode": "pizza"
            }
        ]
    }
]

Request Example

Exemplo com 2 condições 'e' e três variações 'ou', explicado na descrição.

POST /platform/api/promotion/2pizza1bombom1refri/conditions?token=******&referenceCodeStore=shoppingstore-flexy&version=1 HTTP/1.1
Host: https://flexy.api.flexy.com.br/
Accept: application/json
Content-Type: application/json

[
    {
        "quantity": 1,
        "variants": [
            {
                "referenceCode": "caixa-bombom"
            }
        ]
    },
    {
        "quantity": 2,
        "variants": [
            {
                "referenceCode": "pizza-grande-calabresa"
            },
            {
                "referenceCode": "pizza-grande-queijo"
            }
        ]
    }
]

Response Example

Exemplo com 2 condições 'e' e três variações 'ou', explicado na descrição.

HTTP/1.1 200 OK
Content-Type: application/json


[
    {
        "quantity": 1,
        "variants": [
            {
                "referenceCode": "caixa-bombom"
            }
        ]
    },
    {
        "quantity": 2,
        "variants": [
            {
                "referenceCode": "pizza-grande-calabresa"
            },
            {
                "referenceCode": "pizza-grande-queijo"
            }
        ]
    }
]

Atualizar condições em uma promoção compre X leve Y (PUT)

Possibilita substituir as condições de uma promoção compre x leve y, apagando as anteriores. Caso a requisição seja válida, substitui todos os valores existentes por aqueles que estão contidos na requisição. As variações de produto no conjunto 'variants' são condições 'ou'. E cada condição é um 'e'. O exemplo abaixo com o cadastro da promoção compre de 2 pizzas (calabresa 'ou' queijo) 'e' 1 caixa de bombom, ganhe 1 refrigerante.

Parâmetros aceitos neste método:

Parâmetro Tipo Obrigatório Descrição
quantity integer true Quantidade, dentre os produtos informados, para ativar a promoção.
variants array true Coleção de variações, documentados abaixo.
variants[][referenceCode] string true Código de referencia da variação. Deve ser um código de variação existente, e não pode existir em outras condições desta promoção.

Request Template


PUT /platform/api/promotion/{promotionReferenceCode}/conditions?token=******&referenceCodeStore=shoppingstore-flexy&version=1 HTTP/1.1
Host: https://flexy.api.flexy.com.br/
Accept: application/json
.

Request Example

Obs: o parâmetro da url referenceCodeStore, deve ser somente utilizado para lojas de shopping

PUT /platform/api/promotion/3pizza1refri/conditions?token=******&referenceCodeStore=shoppingstore-flexy&version=1 HTTP/1.1
Host: https://flexy.api.flexy.com.br/
Accept: application/json
Content-Type: application/json

[
    {
        "quantity": 3,
        "variants": [
            {
                "referenceCode": "pizza"
            }
        ]
    }
]

Response Example


HTTP/1.1 200 OK
Content-Type: application/json


[
    {
        "quantity": 3,
        "variants": [
            {
                "referenceCode": "pizza"
            }
        ]
    }
]

Request Example

Exemplo com 2 condições 'e' e três variações 'ou', explicado na descrição.

PUT /platform/api/promotion/2pizza1bombom1refri/conditions?token=******&referenceCodeStore=shoppingstore-flexy&version=1 HTTP/1.1
Host: https://flexy.api.flexy.com.br/
Accept: application/json
Content-Type: application/json

[
    {
        "quantity": 1,
        "variants": [
            {
                "referenceCode": "caixa-bombom"
            }
        ]
    },
    {
        "quantity": 2,
        "variants": [
            {
                "referenceCode": "pizza-grande-calabresa"
            },
            {
                "referenceCode": "pizza-grande-queijo"
            }
        ]
    }
]

Response Example

Exemplo com 2 condições 'e' e três variações 'ou', explicado na descrição.

HTTP/1.1 200 OK
Content-Type: application/json


[
    {
        "quantity": 1,
        "variants": [
            {
                "referenceCode": "caixa-bombom"
            }
        ]
    },
    {
        "quantity": 2,
        "variants": [
            {
                "referenceCode": "pizza-grande-calabresa"
            },
            {
                "referenceCode": "pizza-grande-queijo"
            }
        ]
    }
]

Listar descontos de promoção compre X leve Y (GET)

Listar descontos de uma promoção compre X leve Y

Request Template


GET /platform/api/promotion/{promotionReferenceCode}/conditions?token=******&referenceCodeStore=shoppingstore-flexy&version=1 HTTP/1.1
Host: https://flexy.api.flexy.com.br/
Accept: application/json
.

Request Example

Obs: o parâmetro da url referenceCodeStore, deve ser somente utilizado para lojas de shopping

GET /platform/api/promotion/3pizza1refri/discounts?token=******&referenceCodeStore=shoppingstore-flexy&version=1 HTTP/1.1
Host: https://flexy.api.flexy.com.br
Accept: application/json
Content-Type: application/json

Response Example


HTTP/1.1 200 OK
Content-Type: application/json


[
    {
        "quantity": 1,
        "isReplacementValue": false,
        "promotionType": "percent",
        "promotionValue": 100,
        "variants": [
            {
                "referenceCode": "refri"
            }
        ]
    }
]

Cadastrar descontos em uma promoção compre X leve Y (POST)

Cadastrar descontos em uma promoção compre X leve Y. Aceita uma coleção de descontos em formato de array. As variações de produto no conjunto 'variants' são descontos 'ou'. E cada condição é um 'e'. O exemplo abaixo com o cadastro da promoção compre de 2 pizzas, ganhe 1 refrigerante 'ou' 1 água mineral 'e' 1 caixa de bombom.

Parâmetros aceitos neste método:

Parâmetro Tipo Obrigatório Descrição
quantity integer true Quantidade, dentre os produtos informados, para ativar a promoção.
isReplacementValue boolean false Caso verdadeiro, ao invés de desconto, deve ser informado o novo valor para o(s) produto(s) informado(s). Deve ser usado, caso verdadeiro, sempre com 'promotionType' com o valor 'money', caso contrário, retornará erro. Valor padrão é 'false'
promotionType string true Tipo de desconto, se será por valor absoluto ou por porcentagem. Aceita apenas 'money' ou 'percent'.
promotionValue float true Valor de desconto, em reais, caso promotionType seja 'money' ou porcentual, caso promotionType seja 'percent'.
variants array true Coleção de variações, documentados abaixo.
variants[][referenceCode] string true Código de referencia da variação. Deve ser um código de variação existente.

Request Template


POST /platform/api/promotion/{promotionReferenceCode}/discounts?token=******&referenceCodeStore=shoppingstore-flexy&version=1 HTTP/1.1
Host: https://flexy.api.flexy.com.br/
Accept: application/json
.

Request Example

Obs: o parâmetro da url referenceCodeStore, deve ser somente utilizado para lojas de shopping

POST /platform/api/promotion/3pizza1refri/discounts?token=******&referenceCodeStore=shoppingstore-flexy&version=1 HTTP/1.1
Host: https://flexy.api.flexy.com.br/
Accept: application/json
Content-Type: application/json

[
    {
        "quantity": 1,
        "isReplacementValue": false,
        "promotionType": "percent",
        "promotionValue": 100,
        "variants": [
            {
               "referenceCode": "refri"
            }
        ]
    }
]

Response Example


HTTP/1.1 200 OK
Content-Type: application/json

[
    {
        "quantity": 1,
        "isReplacementValue": false,
        "promotionType": "percent",
        "promotionValue": 100,
        "variants": [
            {
               "referenceCode": "refri"
            }
        ]
    }
]

Request Example

Exemplo com 2 descontos 'e' e três variações 'ou', explicado na descrição.

PUT /platform/api/promotion/2pizza1refriou1agua1bombom/conditions?token=******&referenceCodeStore=shoppingstore-flexy&version=1 HTTP/1.1
Host: https://flexy.api.flexy.com.br/
Accept: application/json
Content-Type: application/json

[
    {
        "quantity": 1,
        "isReplacementValue": false,
        "promotionType": "percent",
        "promotionValue": 100,
        "variants": [
           {
               "referenceCode": "refri"
           },
           {
               "referenceCode": "agua-mineral"
           }
        ]
    },
    {
        "quantity": 1,
        "isReplacementValue": false,
        "promotionType": "percent",
        "promotionValue": 100,
        "variants": [
           {
               "referenceCode": "caixa-bombom"
           }
        ]
    }
]

Response Example

Exemplo com 2 condições 'e' e três variações 'ou', explicado na descrição.

HTTP/1.1 201 CREATED
Content-Type: application/json


[
    {
        "quantity": 1,
        "variants": [
            {
                "referenceCode": "caixa-bombom"
            }
        ]
    },
    {
        "quantity": 2,
        "variants": [
            {
                "referenceCode": "pizza-grande-calabresa"
            },
            {
                "referenceCode": "pizza-grande-queijo"
            }
        ]
    }
]

Alterar descontos em uma promoção compre X leve Y (PUT)

Substitui os descontos cadastrados uma promoção compre X leve Y por novas condições. Aceita uma coleção de condições em formato de array. As variações de produto no conjunto 'variants' são condições 'ou'. E cada condição é um 'e'. O exemplo abaixo com o cadastro da promoção compre de 2 pizzas, ganhe 1 refrigerante 'ou' 1 água mineral 'e' 1 caixa de bombom. Caso a requisição seja válida, substitui todos os valores existentes por aqueles que estão contidos na requisição.

Parâmetros aceitos neste método:

Parâmetro Tipo Obrigatório Descrição
quantity integer true Quantidade, dentre os produtos informados, para ativar a promoção.
isReplacementValue boolean false Caso verdadeiro, ao invés de desconto, deve ser informado o novo valor para o(s) produto(s) informado(s). Deve ser usado, caso verdadeiro, sempre com 'promotionType' com o valor 'money', caso contrário, retornará erro. Valor padrão é 'false'.
promotionType string true Tipo de desconto, se será por valor absoluto ou por porcentagem. Aceita apenas 'money' ou 'percent'.
promotionValue float true Valor de desconto, em reais, caso promotionType seja 'money' ou porcentual, caso promotionType seja 'percent'.
variants array true Coleção de variações, documentados abaixo.
variants[][referenceCode] string true Código de referencia da variação. Deve ser um código de variação existente.

Request Template


POST /platform/api/promotion/{promotionReferenceCode}/discounts?token=******&referenceCodeStore=shoppingstore-flexy&version=1 HTTP/1.1
Host: https://flexy.api.flexy.com.br/
Accept: application/json
.

Request Example

Obs: o parâmetro da url referenceCodeStore, deve ser somente utilizado para lojas de shopping

POST /platform/api/promotion/3pizza1refri/discounts?token=******&referenceCodeStore=shoppingstore-flexy&version=1 HTTP/1.1
Host: https://flexy.api.flexy.com.br/
Accept: application/json
Content-Type: application/json

[
    {
        "quantity": 1,
        "isReplacementValue": false,
        "promotionType": "percent",
        "promotionValue": 100,
        "variants": [
            {
               "referenceCode": "refri"
            }
        ]
    }
]

Response Example


HTTP/1.1 200 OK
Content-Type: application/json

[
    {
        "quantity": 1,
        "isReplacementValue": false,
        "promotionType": "percent",
        "promotionValue": 100,
        "variants": [
            {
               "referenceCode": "refri"
            }
        ]
    }
]

Request Example

Exemplo com 2 descontos 'e' e três variações 'ou', explicado na descrição.

PUT /platform/api/promotion/2pizza1refriou1agua1bombom/conditions?token=******&referenceCodeStore=shoppingstore-flexy&version=1 HTTP/1.1
Host: https://flexy.api.flexy.com.br/
Accept: application/json
Content-Type: application/json

[
    {
        "quantity": 1,
        "isReplacementValue": false,
        "promotionType": "percent",
        "promotionValue": 100,
        "variants": [
           {
               "referenceCode": "refri"
           },
           {
               "referenceCode": "agua-mineral"
           }
        ]
    },
    {
        "quantity": 1,
        "isReplacementValue": false,
        "promotionType": "percent",
        "promotionValue": 100,
        "variants": [
           {
               "referenceCode": "caixa-bombom"
           }
        ]
    }
]

Response Example

Exemplo com 2 condições 'e' e três variações 'ou', explicado na descrição.

HTTP/1.1 200 OK
Content-Type: application/json

[
    {
        "quantity": 1,
        "variants": [
            {
                "referenceCode": "caixa-bombom"
            }
        ]
    },
    {
        "quantity": 2,
        "variants": [
            {
                "referenceCode": "pizza-grande-calabresa"
            },
            {
                "referenceCode": "pizza-grande-queijo"
            }
        ]
    }
]

Promoção: Cupom de Desconto

Cadastrar promoção de Cupom (POST)

Cadastra uma promoção de Cupom. Para cadastrar uma promoção de cupom para uma shoppingStore utilizar o parâmetro get 'referenceCodeStore'. Esta promoção necessita de produtos ou categorias ou propriedades relacionadas para que possa ser aplicada. Essa relação pode ser feita por painel ou por API específica para isto.

Parâmetros aceitos neste método:

Parâmetro Tipo Obrigatório Descrição
name string true nome da promoção.
code string true Código do cupom.
amountOfCoupons int true Total de cupons.
usePerCustomer int true Limite de usos por cliente.
referenceCode string true Código de referência da promoção.
discountType string true tipo de desconto da promoção. valor ou porcentagem.
discountValue float true Define o valor de desconto desta promoção.
minValue float false A promoção terá vigor apenas quando o valor mínimo for alcançado. Se não for passado, o valor será considerado como 0.
maxValue float true A promoção terá vigor apenas quando o valor da compra for menor que o valor máximo.
startDate boolean true Data de início da promoção. e.g. 2019-02-01 00:00:00 (YYYY-mm-ddTH:i:s)
endDate boolean true Data de término da promoção.e.g. 2019-02-01 00:00:00 (YYYY-mm-ddTH:i:s)
customerType boolean false Código de referência de perfil de cliente. Para definir o tipo padrão, bastar colocar 'default.customer' neste campo. Shopping Stores não tem permissão para atribuir este valor.
criteria boolean false Código de referência de lista de preços. Shopping Stores não tem permissão para atribuir este valor.
onlyDefaultCriteria boolean false Somente clientes sem lista de preço.

Request Example

. Obs: o parâmetro da url referenceCodeStore, deve ser somente utilizado para lojas de shopping

POST /platform/api/promotion/coupon/?token=******&referenceCodeStore=shoppingstore-flexy&version=1 HTTP/1.1
Host: https://flexy.api.flexy.com.br/
Accept: application/json
Content-Type: application/json

 {
   "code": "couponCode",
   "amountOfCoupons": "500",
   "usePerCustomer": "1",
   "name": "promotion",
   "referenceCode": "promotionReferenceCode",
   "discountType": "percent",
   "discountValue": 25,
   "minValue": 10,
   "maxValue": 5000,
   "startDate": "2019-01-01 00:00:00",
   "endDate": "2019-02-01 00:00:00",
   "customerType": "customerTypeReferenceCode",
   "criteria": "criteriaReferenceCode",
   "onlyDefaultCriteria": false
}

Response Example


HTTP/1.1 201 CREATED
Content-Type: application/json

[
 {
   "code": "couponCode",
   "amountOfCoupons": "500",
   "usePerCustomer": "1",
   "name": "promotion",
   "referenceCode": "promotionReferenceCode",
   "discountType": "percent",
   "discountValue": 25,
   "minValue": 10,
   "maxValue": 5000,
   "startDate": "2019-01-01 00:00:00",
   "endDate": "2019-02-01 00:00:00",
   "customerType": "customerTypeReferenceCode",
   "criteria": "criteriaReferenceCode",
   "onlyDefaultCriteria": false,
   "createdAt": "2019-01-01 00:00:00",
   "updatedAt": "2019-01-01 00:00:00"
}
]

Excluir promoção de Cupom (DELETE)

Exclui uma promoção de Cupom. Para excluir uma promoção de cupom de uma shoppingStore utilizar o parâmetro get 'referenceCodeStore'

Request Example

. Obs: o parâmetro da url referenceCodeStore, deve ser somente utilizado para lojas de shopping

DELETE /platform/api/promotion/coupon/{promotionReferenceCode}?token=******&referenceCodeStore=shoppingstore-flexy&version=1 HTTP/1.1
Host: https://flexy.api.flexy.com.br
Accept: application/json
Content-Type: application/json

Response Example


HTTP/1.1 200 OK
Content-Type: application/json

[
 {
   "code": "couponCode",
   "amountOfCoupons": "500",
   "usePerCustomer": "1",
   "name": "promotion",
   "referenceCode": "promotionReferenceCode",
   "discountType": "percent",
   "discountValue": 25,
   "minValue": 10,
   "maxValue": 5000,
   "startDate": "2019-01-01 00:00:00",
   "endDate": "2019-02-01 00:00:00",
   "customerType": "customerTypeReferenceCode",
   "criteria": "criteriaReferenceCode",
   "onlyDefaultCriteria": false,
   "createdAt": "2019-01-01 00:00:00",
   "updatedAt": "2019-01-01 00:00:00",
   "deletedAt": "2019-01-01 00:00:00"
}
]

Atualizar promoção de Cupom (PUT)

Atualiza ou cadastra uma promoção de Cupom. Para atualizar uma promoção de cupom para uma shoppingStore utilizar o parâmetro get 'referenceCodeStore'. Esta promoção necessita de produtos ou categorias ou propriedades relacionadas para que possa ser aplicada. Essa relação pode ser feita por painel ou por API específica para isto.

Observação: Ao informar um promotionReferenceCode que não exista, a promoção será cadastrada obedecendo a obrigatoriedade dos parâmetros definidas na sessão de cadastro.

Parâmetros aceitos neste método:

Parâmetro Tipo Obrigatório Descrição
name string false nome da promoção.
code string false Código do cupom.
amountOfCoupons int false Total de cupons.
usePerCustomer int false Limite de usos por cliente.
referenceCode string false Código de referência da promoção.
discountType string false tipo de desconto da promoção. valor ou porcentagem.
discountValue float false Define o valor de desconto desta promoção.
minValue float false A promoção terá vigor apenas quando o valor mínimo for alcançado.
maxValue float false A promoção terá vigor apenas quando o valor da compra for menor que o valor máximo.
startDate boolean false Data de início da promoção. e.g. 2019-02-01 00:00:00 (YYYY-mm-ddTH:i:s)
endDate boolean false Data de término da promoção.e.g. 2019-02-01 00:00:00 (YYYY-mm-ddTH:i:s)
customerType boolean false Código de referência de perfil de cliente. Para pesquisar pelo tipo padrão, bastar colocar 'default.customer' neste campo. Shopping Stores não tem permissão para atribuir este valor.
criteria boolean false Código de referência de lista de preços. Shopping Stores não tem permissão para atribuir este valor.
onlyDefaultCriteria boolean false Somente clientes sem lista de preço.

Request Example

. Obs: o parâmetro da url referenceCodeStore, deve ser somente utilizado para lojas de shopping

PUT /platform/api/promotion/coupon/{promotionReferenceCode}?token=******&referenceCodeStore=shoppingstore-flexy&version=1 HTTP/1.1
Host: https://flexy.api.flexy.com.br/
Accept: application/json
Content-Type: application/json

 {
   "code": "couponCode",
   "amountOfCoupons": "500",
   "usePerCustomer": "1",
   "name": "promotion",
   "referenceCode": "promotionReferenceCode",
   "discountType": "percent",
   "discountValue": 25,
   "minValue": 10,
   "maxValue": 5000,
   "startDate": "2019-01-01 00:00:00",
   "endDate": "2019-02-01 00:00:00",
   "customerType": "customerTypeReferenceCode",
   "criteria": "criteriaReferenceCode",
   "onlyDefaultCriteria": false,
}

Response Example


HTTP/1.1 200 OK
Content-Type: application/json

[
 {
   "code": "couponCode",
   "amountOfCoupons": "500",
   "usePerCustomer": "1",
   "name": "promotion",
   "referenceCode": "promotionReferenceCode",
   "discountType": "percent",
   "discountValue": 25,
   "minValue": 10,
   "maxValue": 5000,
   "startDate": "2019-01-01 00:00:00",
   "endDate": "2019-02-01 00:00:00",
   "customerType": "customerTypeReferenceCode",
   "criteria": "criteriaReferenceCode",
   "onlyDefaultCriteria": false,
   "createdAt": "2019-01-01 00:00:00",
   "updatedAt": "2019-01-01 00:00:00"
}
]

Listar promoções de Cupom (GET)

Recupera uma ou mais promoções de Cupom. Para listar promoções de cupom para uma shoppingStore utilizar o parâmetro get 'referenceCodeStore'.

Parâmetros aceitos neste método:

Parâmetro Tipo Obrigatório Descrição
customers string false CPF(s) ou CNPJ(s) dos clientes separados por vírgula. e.g. 12345678912, 12345678912345.
variants string false Códigos de referência das variações, separadas por vírgulas (,)
codes string false Códigos do cupom separados por vírgula. e.g. code1, code2
properties string false Códigos de referência das propriedades, separadas por vírgulas (,)
categories string false Códigos de referência das categorias, separadas por vírgulas (,)
customerType boolean false Código de referência de perfil de cliente. Para pesquisar pelo tipo padrão, bastar colocar 'default.customer' (perfil 'Consumidor') neste campo.
criteria boolean false Código de referência de lista de preços.
fromCreatedAt string false Data início de filtro baseado na data de criação da promoção. e.g. 2019-01-01T20:20:20 (YYYY-mm-ddTH:i:s).
toCreatedAt string false Data fim de filtro baseado na data de criação da promoção. e.g. 2019-01-01T20:20:20 (YYYY-mm-ddTH:i:s).
fromUpdatedAt string false Data início de filtro baseado na data da última atualização da promoção. e.g. 2019-01-01T20:20:20 (YYYY-mm-ddTH:i:s).
toUpdatedAt string false Data fim de filtro baseado na data da última atualização da promoção. e.g. 2019-01-01T20:20:20 (YYYY-mm-ddTH:i:s).
fromStartDate string false Data mínima para a busca da data inicial da promoção. e.g. 2019-01-01T20:20:20 (YYYY-mm-ddTH:i:s).
toStartDate string false Data máxima para a busca da data inicial da promoção. e.g. 2019-01-01T20:20:20 (YYYY-mm-ddTH:i:s).
fromEndDate string false Data mínima para a busca da data final da promoção. e.g. 2019-01-01T20:20:20 (YYYY-mm-ddTH:i:s).
toEndDate string false Data máxima para a busca da data final da promoção. e.g. 2019-01-01T20:20:20 (YYYY-mm-ddTH:i:s).
offset int false Posição inicial dos registros retornados. Exemplo, se houver 100 registros use offset 10 para pegar a partir do décimo primeiro registro. Default: 0.
limit int false Limite máximo de registros a retornar. Default: 100.

Request Example

. Obs: o parâmetro da url referenceCodeStore, deve ser somente utilizado para lojas de shopping

GET /platform/api/promotion/coupon/?token=******&referenceCodeStore=shoppingstore-flexy&version=1 HTTP/1.1
Host: https://flexy.api.flexy.com.br
Accept: application/json
Content-Type: application/json
Exemplo utilizando filtros de data

GET /platform/api/promotion/coupon/?codes=code1,code2&referenceCodeStore=shoppingstore-flexy&token=loja&version=1 HTTP/1.1
Host: https://flexy.api.flexy.com.br
Accept: application/json
Content-Type: application/json

GET /platform/api/promotion/coupon/?fromCreatedAt=2019-03-01T20:41:00&toCreatedAt=2019-03-31T20:41:00&referenceCodeStore=shoppingstore-flexy&token=loja&version=1 HTTP/1.1
Host: https://flexy.api.flexy.com.br
Accept: application/json
Content-Type: application/json

Response Example


HTTP/1.1 200 OK
Content-Type: application/json

[
 {
   "code": "couponCode_1",
   "amountOfCoupons": "5000",
   "usePerCustomer": "5",
   "name": "promotion_1",
   "referenceCode": "promotionReferenceCode1",
   "discountType": "percent",
   "discountValue": 25,
   "minValue": 10,
   "maxValue": 5000,
   "startDate": "2019-01-01 00:00:00",
   "endDate": "2019-02-01 00:00:00",
   "customerType": "customerTypeReferenceCode",
   "criteria": "criteriaReferenceCode",
   "onlyDefaultCriteria": false,
   "createdAt": "2019-01-01 00:00:00",
   "updatedAt": "2019-01-01 00:00:00"
},
 {
   "code": "couponCode_2",
   "amountOfCoupons": "1000",
   "usePerCustomer": "1",
   "name": "promotion_2",
   "referenceCode": "promotionReferenceCode2",
   "discountType": "money",
   "discountValue": 15,
   "minValue": 0,
   "maxValue": 0,
   "startDate": "2019-01-01 00:00:00",
   "endDate": "2019-02-01 00:00:00",
   "customerType": null,
   "criteria": null,
   "onlyDefaultCriteria": false,
   "createdAt": "2019-01-01 00:00:00",
   "updatedAt": "2019-01-01 00:00:00"
}
]

Promoção: Desconto Progressivo

Cadastrar promoção progressiva (POST)

Cadastra uma promoção progressiva. Para cadastrar uma promoção progressiva para uma shoppingStore utilizar o parâmetro get 'referenceCodeStore'. Esta promoção necessita de produtos ou categorias ou propriedades relacionadas para que possa ser aplicada. Essa relação pode ser feita por painel ou por API específica para isto.

Parâmetros aceitos neste método:

Parâmetro Tipo Obrigatório Descrição
priority integer false Define a prioridade da promoção. Quanto maior o número, maior a prioridade desta promoção sobre outras. Se não for passado, o valor padrão será 1.
name string true Nome da promoção.
referenceCode string true Código de referência da promoção.
startDate boolean true Data de início da promoção. e.g. 2019-02-01 00:00:00 (YYYY-mm-ddTH:i:s)
endDate boolean true Data de término da promoção.e.g. 2019-02-01 00:00:00 (YYYY-mm-ddTH:i:s)
customerType boolean false Código de referência de perfil de cliente. Para pesquisar pelo tipo padrão, bastar colocar 'default.customer' neste campo. Shopping Stores não tem permissão para atribuir este valor.
criteria string false Código de referência de lista de preços. Shopping Stores não tem permissão para atribuir este valor.
onlyDefaultCriteria boolean false Somente clientes sem lista de preço.

Request Example

. Obs: o parâmetro da url referenceCodeStore, deve ser somente utilizado para lojas de shopping

POST /platform/api/promotion/progressive/?token=******&referenceCodeStore=shoppingstore-flexy&version=1 HTTP/1.1
Host: https://flexy.api.flexy.com.br/
Accept: application/json
Content-Type: application/json

{
    "referenceCode": "promocao-progressiva",
    "name": "Promoção progressiva",
    "startDate": "2018-07-08 20:19:00",
    "endDate": "2018-07-20 20:19:00",
    "priority": 2,
    "customerType": null,
    "onlyDefaultCriteria": true,
    "criteria": null
}

Response Example


HTTP/1.1 201 CREATED
Content-Type: application/json


{
    "priority": 2,
    "name": "Promoção progressiva",
    "referenceCode": "promocao-progressiva",
    "startDate": "2018-07-08 20:19:00",
    "endDate": "2018-07-20 20:19:00",
    "customerType": null,
    "criteria": null,
    "onlyDefaultCriteria": true,
    "createdAt": "2019-07-22 10:01:24",
    "updatedAt": "2019-07-22 10:01:24"
}


Excluir promoção progressiva (DELETE)

Exclui uma promoção progressiva. Para excluir uma promoção progressiva de uma shoppingStore utilizar o parâmetro get 'referenceCodeStore'

Endpoint template


DELETE /platform/api/promotion/progressive/{promotionReferenceCode}?token=******&referenceCodeStore={referenceCodeStore}&version=1 HTTP/1.1
Host: https://flexy.api.flexy.com.br/
Accept: application/json
Content-Type: application/json
.

Request Example

Obs: o parâmetro da url referenceCodeStore, deve ser somente utilizado para lojas de shopping

DELETE /platform/api/promotion/progressive/promocao-progressiva?token=******&referenceCodeStore=shoppingstore-flexy&version=1 HTTP/1.1
Host: https://flexy.api.flexy.com.br
Accept: application/json
Content-Type: application/json

Response Example


HTTP/1.1 200 OK
Content-Type: application/json


{
    "priority": 2,
    "name": "Promoção progressiva",
    "referenceCode": null,
    "startDate": "2018-07-22 20:19:00",
    "endDate": "2018-08-20 20:19:00",
    "customerType": null,
    "criteria": null,
    "onlyDefaultCriteria": true,
    "createdAt": "2019-07-22 10:01:24",
    "updatedAt": "2019-07-22 10:20:18",
    "deletedAt": "2019-07-22 10:20:18"
}

Atualizar promoção progressiva (PUT)

Atualiza u cadastra uma promoção progressiva. Para atualizar uma promoção progressiva para uma shoppingStore utilizar o parâmetro get 'referenceCodeStore'. Esta promoção necessita de produtos ou categorias ou propriedades relacionadas para que possa ser aplicada. Essa relação pode ser feita por painel ou por API específica para isto.

Observação: Ao informar um promotionReferenceCode que não exista, a promoção será cadastrada obedecendo a obrigatoriedade dos parâmetros definidas na sessão de cadastro.

Parâmetros aceitos neste método:

Parâmetro Tipo Obrigatório Descrição
priority integer false Define a prioridade da promoção. Quanto maior o número, maior a prioridade desta promoção sobre outras.
name string false Nome da promoção.
referenceCode string false Código de referência da promoção.
startDate boolean false Data de início da promoção. e.g. 2019-02-01 00:00:00 (YYYY-mm-ddTH:i:s)
endDate boolean false Data de término da promoção.e.g. 2019-02-01 00:00:00 (YYYY-mm-ddTH:i:s)
customerType boolean false Código de referência de perfil de cliente. Para pesquisar pelo tipo padrão, bastar colocar 'default.customer' neste campo. Shopping Stores não tem permissão para atribuir este valor.
criteria string false Código de referência de lista de preços. Shopping Stores não tem permissão para atribuir este valor.
onlyDefaultCriteria boolean false Somente clientes sem lista de preço.

Endpoint template


PUT /platform/api/promotion/progressive/{promotionReferenceCode}?token=******&referenceCodeStore={referenceCodeStore}&version=1 HTTP/1.1
Host: https://flexy.api.flexy.com.br/
Accept: application/json
Content-Type: application/json
.

Request Example

Obs: o parâmetro da url referenceCodeStore, deve ser somente utilizado para lojas de shopping

PUT /platform/api/promotion/progressive/promocao-progressiva?token=******&referenceCodeStore=shoppingstore-flexy&version=1 HTTP/1.1
Host: https://flexy.api.flexy.com.br/
Accept: application/json
Content-Type: application/json

{
    "referenceCode": "promocao-progressiva",
    "name": "Promoção progressiva",
    "startDate": "2018-07-22 20:19:00",
    "endDate": "2018-08-20 20:19:00",
    "priority": 2,
    "customerType": null,
    "onlyDefaultCriteria": true,
    "criteria": null
}

Response Example


HTTP/1.1 200 OK
Content-Type: application/json

{
    "priority": 2,
    "name": "Promoção progressiva",
    "referenceCode": "promocao-progressiva",
    "startDate": "2018-07-22 20:19:00",
    "endDate": "2018-08-20 20:19:00",
    "customerType": null,
    "criteria": null,
    "onlyDefaultCriteria": true,
    "createdAt": "2019-07-22 10:01:24",
    "updatedAt": "2019-07-22 10:17:32"
}

Listar promoções progressivas (GET)

Recupera uma ou mais promoções progressivas. Para listar promoções progressivas para uma shoppingStore utilizar o parâmetro get 'referenceCodeStore'.

Parâmetros aceitos neste método:

Parâmetro Tipo Obrigatório Descrição
variants string false Códigos de referência das variações, separadas por vírgulas (,)
properties string false Códigos de referência das propriedades, separadas por vírgulas (,)
categories string false Códigos de referência das categorias, separadas por vírgulas (,)
customerType boolean false Código de referência de perfil de cliente. Para pesquisar pelo tipo padrão, bastar colocar 'default.customer' neste campo.
criteria boolean false Código de referência de lista de preços.
fromCreatedAt string false Data início de filtro baseado na data de criação da promoção. e.g. 2019-01-01T20:20:20 (YYYY-mm-ddTH:i:s).
toCreatedAt string false Data fim de filtro baseado na data de criação da promoção. e.g. 2019-01-01T20:20:20 (YYYY-mm-ddTH:i:s).
fromUpdatedAt string false Data início de filtro baseado na data da última atualização da promoção. e.g. 2019-01-01T20:20:20 (YYYY-mm-ddTH:i:s).
toUpdatedAt string false Data fim de filtro baseado na data da última atualização da promoção. e.g. 2019-01-01T20:20:20 (YYYY-mm-ddTH:i:s).
fromStartDate string false Data mínima para a busca da data inicial da promoção. e.g. 2019-01-01T20:20:20 (YYYY-mm-ddTH:i:s).
toStartDate string false Data máxima para a busca da data inicial da promoção. e.g. 2019-01-01T20:20:20 (YYYY-mm-ddTH:i:s).
fromEndDate string false Data mínima para a busca da data final da promoção. e.g. 2019-01-01T20:20:20 (YYYY-mm-ddTH:i:s).
toEndDate string false Data máxima para a busca da data final da promoção. e.g. 2019-01-01T20:20:20 (YYYY-mm-ddTH:i:s).
offset int false Posição inicial dos registros retornados. Exemplo, se houver 100 registros use offset 10 para pegar a partir do décimo primeiro registro. Default: 0.
limit int false Limite máximo de registros a retornar. Default: 100.

Endpoint Template

.

GET /platform/api/promotion/progressive/?token=******&referenceCodeStore={referenceCodeStore}&version=1 HTTP/1.1
Host: https://flexy.api.flexy.com.br
Accept: application/json
Content-Type: application/json

Request Example

Obs: o parâmetro da url referenceCodeStore, deve ser somente utilizado para lojas de shopping

GET /platform/api/promotion/progressive/?token=******&referenceCodeStore=shoppingstore-flexy&version=1 HTTP/1.1
Host: https://flexy.api.flexy.com.br
Accept: application/json
Content-Type: application/json
Exemplo utilizando filtros de data

GET /platform/api/promotion/progressive/?token=******&fromUpdatedAt=2019-07-05T14:13:40&version=1 HTTP/1.1
Host: https://flexy.api.flexy.com.br
Accept: application/json
Content-Type: application/json

Response Example


HTTP/1.1 200 OK
Content-Type: application/json

[
    {
        "priority": 2,
        "name": "Promoção progressiva",
        "referenceCode": "promocao-progressiva",
        "startDate": "2018-07-08 20:19:00",
        "endDate": "2018-07-20 20:19:00",
        "customerType": null,
        "criteria": null,
        "onlyDefaultCriteria": true,
        "createdAt": "2019-07-22 10:01:24",
        "updatedAt": "2019-07-22 10:01:24"
    }
]

Promoção: Desconto Progressivo por Conjunto de Itens

Cadastrar promoção progressiva por conjunto de itens (POST)

Cadastra uma promoção progressiva por conjunto de itens. Para cadastrar uma promoção progressiva por conjunto de itens para uma shoppingStore utilizar o parâmetro get 'referenceCodeStore'. Esta promoção necessita de produtos ou categorias ou propriedades relacionadas para que possa ser aplicada. Essa relação pode ser feita por painel ou por API específica para isto.

Parâmetros aceitos neste método:

Parâmetro Tipo Obrigatório Descrição
priority integer false Define a prioridade da promoção. Quanto maior o número, maior a prioridade desta promoção sobre outras. Se não for passado, o valor padrão será 1.
name string true nome da promoção.
referenceCode string true Código de referência da promoção.
startDate boolean true Data de início da promoção. e.g. 2019-02-01 00:00:00 (YYYY-mm-ddTH:i:s)
endDate boolean true Data de término da promoção.e.g. 2019-02-01 00:00:00 (YYYY-mm-ddTH:i:s)
customerType boolean false Código de referência de perfil de cliente. Para pesquisar pelo tipo padrão, bastar colocar 'default.customer' neste campo. Shopping Stores não tem permissão para atribuir este valor.
criteria string false Código de referência de lista de preços. Shopping Stores não tem permissão para atribuir este valor.
onlyDefaultCriteria boolean false Somente clientes sem lista de preço.

Request Example

. Obs: o parâmetro da url referenceCodeStore, deve ser somente utilizado para lojas de shopping

POST /platform/api/promotion/cart-progressive/?token=******&referenceCodeStore=shoppingstore-flexy&version=1 HTTP/1.1
Host: https://flexy.api.flexy.com.br/
Accept: application/json
Content-Type: application/json

{
    "referenceCode": "promocao-lancamentos",
    "name": "Promoção Lançamentos",
    "startDate": "2018-07-08 20:19:00",
    "endDate": "2018-07-20 20:19:00",
    "priority": 2,
    "customerType": null,
    "onlyDefaultCriteria": true,
    "criteria": null
}

Response Example


HTTP/1.1 201 CREATED
Content-Type: application/json


{
    "priority": 2,
    "name": "Promoção Lançamentos",
    "referenceCode": "promocao-lancamentos",
    "startDate": "2018-07-08 20:19:00",
    "endDate": "2018-07-20 20:19:00",
    "customerType": null,
    "criteria": null,
    "onlyDefaultCriteria": true,
    "createdAt": "2019-07-22 10:01:24",
    "updatedAt": "2019-07-22 10:01:24"
}


Excluir promoção progressiva por conjunto de itens (DELETE)

Exclui uma promoção progressiva por conjunto de itens. Para excluir uma promoção progressiva por conjunto de itens de uma shoppingStore utilizar o parâmetro get 'referenceCodeStore'

Request template


DELETE /platform/api/promotion/cart-progressive/{promotionReferenceCode}?token=******&referenceCodeStore={referenceCodeStore}&version=1 HTTP/1.1
Host: https://flexy.api.flexy.com.br/
Accept: application/json
Content-Type: application/json
.

Request Example

Obs: o parâmetro da url referenceCodeStore, deve ser somente utilizado para lojas de shopping

DELETE /platform/api/promotion/cart-progressive/promocao-lancamentos?token=******&referenceCodeStore=shoppingstore-flexy&version=1 HTTP/1.1
Host: https://flexy.api.flexy.com.br
Accept: application/json
Content-Type: application/json

Response Example


HTTP/1.1 200 OK
Content-Type: application/json


{
    "priority": 2,
    "name": "Promoção Lançamentos",
    "referenceCode": null,
    "startDate": "2018-07-22 20:19:00",
    "endDate": "2018-08-20 20:19:00",
    "customerType": null,
    "criteria": null,
    "onlyDefaultCriteria": true,
    "createdAt": "2019-07-22 10:01:24",
    "updatedAt": "2019-07-22 10:20:18",
    "deletedAt": "2019-07-22 10:20:18"
}

Atualizar promoção progressiva por conjunto de itens (PUT)

Atualiza ou cadastra uma promoção progressiva por conjunto de itens. Para atualizar uma promoção progressiva por conjunto de itens para uma shoppingStore utilizar o parâmetro get 'referenceCodeStore'. Esta promoção necessita de produtos ou categorias ou propriedades relacionadas para que possa ser aplicada. Essa relação pode ser feita por painel ou por API específica para isto.

Observação: Ao informar um promotionReferenceCode que não exista, a promoção será cadastrada obedecendo a obrigatoriedade dos parâmetros definidas na sessão de cadastro.

Parâmetros aceitos neste método:

Parâmetro Tipo Obrigatório Descrição
priority integer false Define a prioridade da promoção. Quanto maior o número, maior a prioridade desta promoção sobre outras.
name string false nome da promoção.
referenceCode string false Código de referência da promoção.
startDate boolean false Data de início da promoção. e.g. 2019-02-01 00:00:00 (YYYY-mm-ddTH:i:s)
endDate boolean false Data de término da promoção.e.g. 2019-02-01 00:00:00 (YYYY-mm-ddTH:i:s)
customerType boolean false Código de referência de perfil de cliente. Para pesquisar pelo tipo padrão, bastar colocar 'default.customer' neste campo. Shopping Stores não tem permissão para atribuir este valor.
criteria string false Código de referência de lista de preços. Shopping Stores não tem permissão para atribuir este valor.
onlyDefaultCriteria boolean false Somente clientes sem lista de preço.

Endpoint template


PUT /platform/api/promotion/cart-progressive/{promotionReferenceCode}?token=******&referenceCodeStore={referenceCodeStore}&version=1 HTTP/1.1
Host: https://flexy.api.flexy.com.br/
Accept: application/json
Content-Type: application/json
.

Request Example

Obs: o parâmetro da url referenceCodeStore, deve ser somente utilizado para lojas de shopping

PUT /platform/api/promotion/cart-progressive/promocao-lancamentos?token=******&referenceCodeStore=shoppingstore-flexy&version=1 HTTP/1.1
Host: https://flexy.api.flexy.com.br/
Accept: application/json
Content-Type: application/json

{
    "referenceCode": "promocao-lancamentos",
    "name": "Promoção Lançamentos",
    "startDate": "2018-07-22 20:19:00",
    "endDate": "2018-08-20 20:19:00",
    "priority": 2,
    "customerType": null,
    "onlyDefaultCriteria": true,
    "criteria": null
}

Response Example


HTTP/1.1 200 OK
Content-Type: application/json

{
    "priority": 2,
    "name": "Promoção Lançamentos",
    "referenceCode": "promocao-lancamentos",
    "startDate": "2018-07-22 20:19:00",
    "endDate": "2018-08-20 20:19:00",
    "customerType": null,
    "criteria": null,
    "onlyDefaultCriteria": true,
    "createdAt": "2019-07-22 10:01:24",
    "updatedAt": "2019-07-22 10:17:32"
}

Listar promoções progressivas por conjunto de itens (GET)

Recupera uma ou mais promoções progressivas por conjunto de itens. Para listar promoções progressivas por conjunto de itens para uma shoppingStore utilizar o parâmetro get 'referenceCodeStore'.

Parâmetros aceitos neste método:

Parâmetro Tipo Obrigatório Descrição
variants string false Códigos de referência das variações, separadas por vírgulas (,)
properties string false Códigos de referência das propriedades, separadas por vírgulas (,)
categories string false Códigos de referência das categorias, separadas por vírgulas (,)
customerType boolean false Código de referência de perfil de cliente. Para pesquisar pelo tipo padrão, bastar colocar 'default.customer' neste campo.
criteria boolean false Código de referência de lista de preços.
fromCreatedAt string false Data início de filtro baseado na data de criação da promoção. e.g. 2019-01-01T20:20:20 (YYYY-mm-ddTH:i:s).
toCreatedAt string false Data fim de filtro baseado na data de criação da promoção. e.g. 2019-01-01T20:20:20 (YYYY-mm-ddTH:i:s).
fromUpdatedAt string false Data início de filtro baseado na data da última atualização da promoção. e.g. 2019-01-01T20:20:20 (YYYY-mm-ddTH:i:s).
toUpdatedAt string false Data fim de filtro baseado na data da última atualização da promoção. e.g. 2019-01-01T20:20:20 (YYYY-mm-ddTH:i:s).
fromStartDate string false Data mínima para a busca da data inicial da promoção. e.g. 2019-01-01T20:20:20 (YYYY-mm-ddTH:i:s).
toStartDate string false Data máxima para a busca da data inicial da promoção. e.g. 2019-01-01T20:20:20 (YYYY-mm-ddTH:i:s).
fromEndDate string false Data mínima para a busca da data final da promoção. e.g. 2019-01-01T20:20:20 (YYYY-mm-ddTH:i:s).
toEndDate string false Data máxima para a busca da data final da promoção. e.g. 2019-01-01T20:20:20 (YYYY-mm-ddTH:i:s).
offset int false Posição inicial dos registros retornados. Exemplo, se houver 100 registros use offset 10 para pegar a partir do décimo primeiro registro. Default: 0.
limit int false Limite máximo de registros a retornar. Default: 100.

Endpoint Template

.

GET /platform/api/promotion/cart-progressive/?token=******&referenceCodeStore={referenceCodeStore}&version=1 HTTP/1.1
Host: https://flexy.api.flexy.com.br
Accept: application/json
Content-Type: application/json

Request Example

Obs: o parâmetro da url referenceCodeStore, deve ser somente utilizado para lojas de shopping

GET /platform/api/promotion/cart-progressive/?token=******&referenceCodeStore=shoppingstore-flexy&version=1 HTTP/1.1
Host: https://flexy.api.flexy.com.br
Accept: application/json
Content-Type: application/json
Exemplo utilizando filtros de data

GET /platform/api/promotion/cart-progressive/?token=******&fromUpdatedAt=2019-07-05T14:13:40&version=1 HTTP/1.1
Host: https://flexy.api.flexy.com.br
Accept: application/json
Content-Type: application/json

Response Example


HTTP/1.1 200 OK
Content-Type: application/json

[
    {
        "priority": 2,
        "name": "Promoção Lançamentos",
        "referenceCode": "promocao-lancamentos",
        "startDate": "2018-07-08 20:19:00",
        "endDate": "2018-07-20 20:19:00",
        "customerType": null,
        "criteria": null,
        "onlyDefaultCriteria": true,
        "createdAt": "2019-07-22 10:01:24",
        "updatedAt": "2019-07-22 10:01:24"
    }
]

Promoção: Desconto de Catálogo

Cadastrar promoção de catálogo (POST)

Cadastra uma promoção de catálogo. Para cadastrar uma promoção de catálogo para uma shoppingStore utilizar o parâmetro get 'referenceCodeStore'. Esta promoção necessita de produtos ou categorias ou propriedades relacionadas para que possa ser aplicada. Essa relação pode ser feita por painel ou por API específica para isto.

Parâmetros aceitos neste método:

Parâmetro Tipo Obrigatório Descrição
priority integer false Define a prioridade da promoção. Quanto maior o número, maior a prioridade desta promoção sobre outras. Se não for passado, o valor padrão será 1.
name string true Nome da promoção.
referenceCode string true Código de referência da promoção.
discountType string true Tipo de desconto da promoção. valor ou porcentagem. Aceita apenas os valores 'money' ou 'percent'
discountValue int true Define o valor de desconto desta promoção.
startDate boolean true Data de início da promoção. e.g. 2019-02-01 00:00:00 (YYYY-mm-ddTH:i:s)
endDate boolean true Data de término da promoção.e.g. 2019-02-01 00:00:00 (YYYY-mm-ddTH:i:s)
customerType boolean false Código de referência de perfil de cliente. Para pesquisar pelo tipo padrão, bastar colocar 'default.customer' neste campo. Shopping Stores não tem permissão para atribuir este valor.
criteria string false Código de referência de lista de preços. Shopping Stores não tem permissão para atribuir este valor.
onlyDefaultCriteria boolean false Somente clientes sem lista de preço.

Request Example

. Obs.: O parâmetro da url referenceCodeStore, deve ser somente utilizado para lojas de shopping

POST /platform/api/promotion/catalog/?token=******&referenceCodeStore=shoppingstore-flexy&version=1 HTTP/1.1
Host: https://flexy.api.flexy.com.br/
Accept: application/json
Content-Type: application/json

{
    "referenceCode": "descontoitem",
    "name": "Desconto por item",
    "startDate": "2019-07-07 20:19:00",
    "endDate": "2019-12-20 20:19:00",
    "priority": 1,
    "discountType": "percent",
    "discountValue": 10,
    "onlyDefaultCriteria": false
}

Response Example


HTTP/1.1 201 CREATED
Content-Type: application/json

{
    "priority": 1,
    "name": "Desconto por item",
    "referenceCode": "descontoitem",
    "discountType": "percent",
    "discountValue": 10,
    "startDate": "2019-07-07 20:19:00",
    "endDate": "2019-12-20 20:19:00",
    "customerType": null,
    "criteria": null,
    "onlyDefaultCriteria": false,
    "createdAt": "2019-07-22 17:54:56",
    "updatedAt": "2019-07-22 17:54:56"
}

Excluir promoção de catálogo (DELETE)

Exclui uma promoção de catálogo. Para excluir uma promoção de catálogo de uma shoppingStore utilizar o parâmetro get 'referenceCodeStore'

Request Template

.

DELETE /platform/api/promotion/catalog/{promotionReferenceCode}?token=******&referenceCodeStore={referenceCodeStore}&version=1 HTTP/1.1
Host: https://flexy.api.flexy.com.br
Accept: application/json
Content-Type: application/json

Request Example

Obs: o parâmetro da url referenceCodeStore, deve ser somente utilizado para lojas de shopping

DELETE /platform/api/promotion/catalog/descontoitem?token=******&referenceCodeStore=shoppingstore-flexy&version=1 HTTP/1.1
Host: https://flexy.api.flexy.com.br
Accept: application/json
Content-Type: application/json

Response Example


HTTP/1.1 200 OK
Content-Type: application/json


{
    "priority": 1,
    "name": "Desconto por item",
    "referenceCode": null,
    "discountType": "money",
    "discountValue": 10,
    "startDate": "2019-07-20 20:19:00",
    "endDate": "2019-12-20 20:19:00",
    "customerType": null,
    "criteria": null,
    "onlyDefaultCriteria": false,
    "createdAt": "2019-07-22 17:54:56",
    "updatedAt": "2019-07-22 18:21:26",
    "deletedAt": "2019-07-22 18:21:26"
}

Atualizar promoção de catálogo (PUT)

Atualiza ou cadastra uma promoção de catálogo. Para atualizar uma promoção de catálogo para uma shoppingStore utilizar o parâmetro get 'referenceCodeStore'. Esta promoção necessita de produtos ou categorias ou propriedades relacionadas para que possa ser aplicada. Essa relação pode ser feita por painel ou por API específica para isto.

Observação: Ao informar um promotionReferenceCode que não exista, a promoção será cadastrada obedecendo a obrigatoriedade dos parâmetros definidas na sessão de cadastro.

Parâmetros aceitos neste método:

Parâmetro Tipo Obrigatório Descrição
priority integer false Define a prioridade da promoção. Quanto maior o número, maior a prioridade desta promoção sobre outras.
name string false Nome da promoção.
referenceCode string false Código de referência da promoção.
discountType string false Tipo de desconto da promoção. valor ou porcentagem. Aceita apenas os valores 'money' ou 'percent'
discountValue int false Define o valor de desconto desta promoção.
startDate boolean false Data de início da promoção. e.g. 2019-02-01 00:00:00 (YYYY-mm-ddTH:i:s)
endDate boolean false Data de término da promoção.e.g. 2019-02-01 00:00:00 (YYYY-mm-ddTH:i:s)
customerType boolean false Código de referência de perfil de cliente. Para pesquisar pelo tipo padrão, bastar colocar 'default.customer' neste campo. Shopping Stores não tem permissão para atribuir este valor.
criteria string false Código de referência de lista de preços. Shopping Stores não tem permissão para atribuir este valor.
onlyDefaultCriteria boolean false Somente clientes sem lista de preço.

Endpoint Template

.

PUT /platform/api/promotion/catalog/{promotionReferenceCode}?token=******&referenceCodeStore={referenceCodeStore}&version=1 HTTP/1.1
Host: https://flexy.api.flexy.com.br
Accept: application/json
Content-Type: application/json

Request Example

Obs: o parâmetro da url referenceCodeStore, deve ser somente utilizado para lojas de shopping

PUT /platform/api/promotion/catalog/descontoitem?token=******&referenceCodeStore=shoppingstore-flexy&version=1 HTTP/1.1
Host: https://flexy.api.flexy.com.br/
Accept: application/json
Content-Type: application/json

{
    "referenceCode": "descontoitem",
    "name": "Desconto por item",
    "startDate": "2019-07-20 20:19:00",
    "endDate": "2019-12-20 20:19:00",
    "priority": 1,
    "discountType": "money",
    "discountValue": 10,
    "onlyDefaultCriteria": false
}

Response Example


HTTP/1.1 200 OK
Content-Type: application/json

{
    "priority": 1,
    "name": "Desconto por item",
    "referenceCode": "descontoitem",
    "discountType": "money",
    "discountValue": 10,
    "startDate": "2019-07-20 20:19:00",
    "endDate": "2019-12-20 20:19:00",
    "customerType": null,
    "criteria": null,
    "onlyDefaultCriteria": false,
    "createdAt": "2019-07-22 17:54:56",
    "updatedAt": "2019-07-22 18:15:07"
}

Listar promoções de catálogo (GET)

Recupera uma ou mais promoções de catálogo. Para listar promoções de catálogo para uma shoppingStore utilizar o parâmetro get 'referenceCodeStore'.

Parâmetros aceitos neste método:

Parâmetro Tipo Obrigatório Descrição
variants string false Códigos de referência das variações, separadas por vírgulas (,)
properties string false Códigos de referência das propriedades, separadas por vírgulas (,)
categories string false Códigos de referência das categorias, separadas por vírgulas (,)
customerType boolean false Código de referência de perfil de cliente. Para pesquisar pelo tipo padrão, bastar colocar 'default.customer' neste campo.
criteria boolean false Código de referência de lista de preços.
fromCreatedAt string false Data início de filtro baseado na data de criação da promoção. e.g. 2019-01-01T20:20:20 (YYYY-mm-ddTH:i:s).
toCreatedAt string false Data fim de filtro baseado na data de criação da promoção. e.g. 2019-01-01T20:20:20 (YYYY-mm-ddTH:i:s).
fromUpdatedAt string false Data início de filtro baseado na data da última atualização da promoção. e.g. 2019-01-01T20:20:20 (YYYY-mm-ddTH:i:s).
toUpdatedAt string false Data fim de filtro baseado na data da última atualização da promoção. e.g. 2019-01-01T20:20:20 (YYYY-mm-ddTH:i:s).
fromStartDate string false Data mínima para a busca da data inicial da promoção. e.g. 2019-01-01T20:20:20 (YYYY-mm-ddTH:i:s).
toStartDate string false Data máxima para a busca da data inicial da promoção. e.g. 2019-01-01T20:20:20 (YYYY-mm-ddTH:i:s).
fromEndDate string false Data mínima para a busca da data final da promoção. e.g. 2019-01-01T20:20:20 (YYYY-mm-ddTH:i:s).
toEndDate string false Data máxima para a busca da data final da promoção. e.g. 2019-01-01T20:20:20 (YYYY-mm-ddTH:i:s).
offset int false Posição inicial dos registros retornados. Exemplo, se houver 100 registros use offset 10 para pegar a partir do décimo primeiro registro. Default: 0.
limit int false Limite máximo de registros a retornar. Default: 100.

Endpoint Template

.

GET /platform/api/promotion/catalog/?token=******&referenceCodeStore={referenceCodeStore}&version=1 HTTP/1.1
Host: https://flexy.api.flexy.com.br
Accept: application/json
Content-Type: application/json

Request Example

Obs: o parâmetro da url referenceCodeStore, deve ser somente utilizado para lojas de shopping

GET /platform/api/promotion/catalog/?token=******&referenceCodeStore=shoppingstore-flexy&version=1 HTTP/1.1
Host: https://flexy.api.flexy.com.br
Accept: application/json
Content-Type: application/json
Exemplo utilizando filtros de data

GET /platform/api/promotion/catalog/?token=******&fromUpdatedAt=2019-07-05T14:13:40&version=1 HTTP/1.1
Host: https://flexy.api.flexy.com.br
Accept: application/json
Content-Type: application/json

Response Example


HTTP/1.1 200 OK
Content-Type: application/json

[
    {
        "priority": 1,
        "name": "Desconto por item",
        "referenceCode": "descontoitem",
        "discountType": "percent",
        "discountValue": 10,
        "startDate": "2019-07-07 20:19:00",
        "endDate": "2019-12-20 20:19:00",
        "customerType": null,
        "criteria": null,
        "onlyDefaultCriteria": false,
        "createdAt": "2019-07-22 17:54:56",
        "updatedAt": "2019-07-22 17:54:56"
    }
]

Promoção: Frete Grátis

Cadastrar promoção de frete grátis (POST)

Cadastra uma promoção de frete grátis. Para cadastrar uma promoção de frete grátis para uma shoppingStore utilizar o parâmetro get 'referenceCodeStore'. Esta promoção necessita de produtos ou categorias ou propriedades relacionadas para que possa ser aplicada. Essa relação pode ser feita por painel ou por API específica para isto.

Parâmetros aceitos neste método:

Parâmetro Tipo Obrigatório Descrição
priority integer false Define a prioridade da promoção. Quanto maior o número, maior a prioridade desta promoção sobre outras. Se não for passado, o valor padrão será 1.
freeDeliveryShippingMethod string false Deve ser um código de referencia de método de entrega ou de transportadora válido para frete grátis. Caso 'freeDeliveryByTheCheapestShippingPrice' seja informado como true, esse valor deve ser omitido. É obrigatório informar sempre um desses dois campos.
freeDeliveryByTheCheapestShippingPrice boolean false Se a promoção deve ser aplicada ao frete mais barato dentre os calculados, deixar essa opção como 'true', caso contrário, omitir ou deixar como 'false'. Torna-se obrigatório com o valor 'true' caso o campo 'freeDeliveryShippingMethod' não seja informado. Caso 'freeDeliveryShippingMethod' seja informado, esse campo deve ser omitido ou possuir o valor 'false'.
startPostCode string false Define, juntamente com 'endPostCode', a faixa de CEP sobre o qual a promoção agirá, como uma string de 8 números. Nesse campo deve conter o menor CEP sobre o qual a promoção terá validade. Caso 'endPostCode' seja preenchido, esse campo torna-se obrigatório. Deve ser menor ou igual a endPostCode
endPostCode string false Define, juntamente com 'startPostCode', a faixa de CEP sobre o qual a promoção agirá, como uma string de 8 números. Nesse campo deve conter o maior CEP sobre o qual a promoção terá validade. Caso 'startPostCode' seja preenchido, esse campo torna-se obrigatório. Deve ser maior ou igual a startPostCode
name string true nome da promoção.
referenceCode string true Código de referência da promoção.
minValue float false A promoção terá vigor apenas quando o valor mínimo for alcançado. Se não for passado, o valor será considerado como 0.
maxValue float true A promoção terá vigor apenas quando o valor da compra for menor que o valor máximo.
startDate boolean true Data de início da promoção. e.g. 2019-02-01 00:00:00 (YYYY-mm-ddTH:i:s)
endDate boolean true Data de término da promoção.e.g. 2019-02-01 00:00:00 (YYYY-mm-ddTH:i:s)
customerType boolean false Código de referência de perfil de cliente. Para pesquisar pelo tipo padrão, bastar colocar 'default.customer' neste campo. Shopping Stores não tem permissão para atribuir este valor.
criteria string false Código de referência de lista de preços. Shopping Stores não tem permissão para atribuir este valor.
onlyDefaultCriteria boolean false Somente clientes sem lista de preço.

Request Example

Obs.: O parâmetro da url referenceCodeStore, deve ser somente utilizado para lojas de shopping. Obs. 2: Exemplo com frete mais barato.

POST /platform/api/promotion/free-delivery/?token=******&referenceCodeStore=shoppingstore-flexy&version=1 HTTP/1.1
Host: https://flexy.api.flexy.com.br/
Accept: application/json
Content-Type: application/json.

{
    "referenceCode": "frete-gratis-pr-sc",
    "name": "Frete grátis PR/SC",
    "startDate": "2019-07-22 20:19:00",
    "endDate": "2019-12-20 20:19:00",
    "priority": 2,
    "customerType": null,
    "minValue": 0.50,
    "maxValue": 100.50,
    "onlyDefaultCriteria": true,
    "startPostCode": "80000000",
    "endPostCode": "89999999",
    "criteria": null,
    "freeDeliveryByTheCheapestShippingPrice": true
}

Request Example

Obs.: Exemplo passando método de entrega.

POST /platform/api/promotion/free-delivery/?token=******&referenceCodeStore=shoppingstore-flexy&version=1 HTTP/1.1
Host: https://flexy.api.flexy.com.br/
Accept: application/json
Content-Type: application/json

{
    "referenceCode": "frete-gratis-pr-sc-correios",
    "name": "Frete grátis PR/SC Correios",
    "startDate": "2019-07-22 20:19:00",
    "endDate": "2019-12-20 20:19:00",
    "priority": 2,
    "customerType": null,
    "minValue": 10.50,
    "maxValue": 11.50,
    "onlyDefaultCriteria": true,
    "freeDeliveryShippingMethod": "correios.pac",
    "startPostCode": "80000000",
    "endPostCode": "89999999",
    "criteria": null,
    "freeDeliveryByTheCheapestShippingPrice": false
}

Response Example

Obs.: Exemplo com frete mais barato.

HTTP/1.1 201 CREATED
Content-Type: application/json

{
    "priority": 2,
    "startPostCode": "80000000",
    "endPostCode": "89999999",
    "freeDeliveryByTheCheapestShippingPrice": true,
    "name": "Frete grátis PR/SC",
    "referenceCode": "frete-gratis-pr-sc",
    "minValue": 0.5,
    "maxValue": 100.5,
    "startDate": "2019-07-22 20:19:00",
    "endDate": "2019-12-20 20:19:00",
    "customerType": null,
    "criteria": null,
    "onlyDefaultCriteria": true,
    "createdAt": "2019-07-22 15:41:23",
    "updatedAt": "2019-07-22 15:41:23"
}

Response Example

Obs.: Exemplo com método de entrega.

HTTP/1.1 201 CREATED
Content-Type: application/json

{
    "priority": 2,
    "startPostCode": "80000000",
    "endPostCode": "89999999",
    "freeDeliveryShippingMethod": "correios.pac",
    "freeDeliveryByTheCheapestShippingPrice": false,
    "name": "Frete grátis PR/SC Correios",
    "referenceCode": "frete-gratis-pr-sc-correios",
    "minValue": 10.5,
    "maxValue": 11.5,
    "startDate": "2019-07-22 20:19:00",
    "endDate": "2019-12-20 20:19:00",
    "customerType": null,
    "criteria": null,
    "onlyDefaultCriteria": true,
    "createdAt": "2019-07-22 15:44:20",
    "updatedAt": "2019-07-22 15:44:20"
}

Excluir promoção de frete grátis (DELETE)

Exclui uma promoção de frete grátis. Para excluir uma promoção de frete grátis de uma shoppingStore utilizar o parâmetro get 'referenceCodeStore'

Endpoint Template

.

DELETE /platform/api/promotion/free-delivery/{promotionReferenceCode}?token=******&referenceCodeStore={referenceCodeStore}&version=1 HTTP/1.1
Host: https://flexy.api.flexy.com.br
Accept: application/json
Content-Type: application/json

Request Example

Obs: o parâmetro da url referenceCodeStore, deve ser somente utilizado para lojas de shopping

DELETE /platform/api/promotion/free-delivery/frete-gratis-pr-sc?token=******&referenceCodeStore=shoppingstore-flexy&version=1 HTTP/1.1
Host: https://flexy.api.flexy.com.br
Accept: application/json
Content-Type: application/json

Response Example


HTTP/1.1 200 OK
Content-Type: application/json


{
    "priority": 2,
    "startPostCode": "80000000",
    "endPostCode": "89999999",
    "freeDeliveryByTheCheapestShippingPrice": true,
    "name": "Frete grátis PR/SC",
    "referenceCode": null,
    "minValue": 10.5,
    "maxValue": 11.5,
    "startDate": "2019-07-22 20:19:00",
    "endDate": "2019-12-20 20:19:00",
    "customerType": null,
    "criteria": null,
    "onlyDefaultCriteria": true,
    "createdAt": "2019-07-22 15:34:55",
    "updatedAt": "2019-07-22 15:40:52",
    "deletedAt": "2019-07-22 15:40:52"
}

Atualizar promoção de frete grátis (PUT)

Atualiza ou cadastra uma promoção de frete grátis. Para atualizar uma promoção de frete grátis para uma shoppingStore utilizar o parâmetro get 'referenceCodeStore'. Caso não exista a promoção informada no 'referenceCode' enviado na URL, será criado uma nova promoção. Nesse caso, as regras de validação serão as mesmas documentadas no 'POST'. Esta promoção necessita de produtos ou categorias ou propriedades relacionadas para que possa ser aplicada. Essa relação pode ser feita por painel ou por API específica para isto.

Observação: Ao informar um promotionReferenceCode que não exista, a promoção será cadastrada obedecendo a obrigatoriedade dos parâmetros definidas na sessão de cadastro.

Parâmetros aceitos neste método:

Parâmetro Tipo Obrigatório Descrição
priority integer false Define a prioridade da promoção. Quanto maior o número, maior a prioridade desta promoção sobre outras.
freeDeliveryShippingMethod string false Deve ser um código de referencia de método de entrega ou de transportadora válido para frete grátis. Caso 'freeDeliveryByTheCheapestShippingPrice' seja informado como true, esse valor deve ser omitido. É obrigatório informar sempre um desses dois campos.
freeDeliveryByTheCheapestShippingPrice boolean false Se a promoção deve ser aplicada ao frete mais barato dentre os calculados, deixar essa opção como 'true', caso contrário, omitir ou deixar como 'false'. Torna-se obrigatório com o valor 'true' caso o campo 'freeDeliveryShippingMethod' não seja informado. Caso 'freeDeliveryShippingMethod' seja informado, esse campo deve ser omitido ou possuir o valor 'false'.
startPostCode string false Define, juntamente com 'endPostCode', a faixa de CEP sobre o qual a promoção agirá, como uma string de 8 números. Nesse campo deve conter o menor CEP sobre o qual a promoção terá validade. Caso 'endPostCode' seja preenchido, esse campo torna-se obrigatório. Deve ser menor ou igual a endPostCode
endPostCode string false Define, juntamente com 'startPostCode', a faixa de CEP sobre o qual a promoção agirá, como uma string de 8 números. Nesse campo deve conter o maior CEP sobre o qual a promoção terá validade. Caso 'startPostCode' seja preenchido, esse campo torna-se obrigatório. Deve ser maior ou igual a startPostCode
name string false nome da promoção.
referenceCode string false Código de referência da promoção.
minValue float false A promoção terá vigor apenas quando o valor mínimo for alcançado.
maxValue float false A promoção terá vigor apenas quando o valor da compra for menor que o valor máximo.
startDate boolean false Data de início da promoção. e.g. 2019-02-01 00:00:00 (YYYY-mm-ddTH:i:s)
endDate boolean false Data de término da promoção.e.g. 2019-02-01 00:00:00 (YYYY-mm-ddTH:i:s)
customerType boolean false Código de referência de perfil de cliente. Para pesquisar pelo tipo padrão, bastar colocar 'default.customer' neste campo. Shopping Stores não tem permissão para atribuir este valor.
criteria string false Código de referência de lista de preços. Shopping Stores não tem permissão para atribuir este valor.
onlyDefaultCriteria boolean false Somente clientes sem lista de preço.

Endpoint Template

.

PUT /platform/api/promotion/free-delivery/{promotionReferenceCode}?token=******&referenceCodeStore={referenceCodeStore}&version=1 HTTP/1.1
Host: https://flexy.api.flexy.com.br
Accept: application/json
Content-Type: application/json

Request Example

Obs: o parâmetro da url referenceCodeStore, deve ser somente utilizado para lojas de shopping

PUT /platform/api/promotion/free-delivery/frete-gratis-pr-sc?token=******&referenceCodeStore=shoppingstore-flexy&version=1 HTTP/1.1
Host: https://flexy.api.flexy.com.br/
Accept: application/json
Content-Type: application/json

{
    "referenceCode": "frete-gratis-pr",
    "name": "Frete grátis PR/SC",
    "startDate": "2019-07-22 20:19:00",
    "endDate": "2019-12-20 20:19:00",
    "priority": 3,
    "customerType": null,
    "minValue": 10.50,
    "maxValue": 11.50,
    "onlyDefaultCriteria": true,
    "startPostCode": "80000000",
    "endPostCode": "89999999",
    "criteria": null,
    "freeDeliveryByTheCheapestShippingPrice": true
}

Response Example


HTTP/1.1 200 OK
Content-Type: application/json

{
    "priority": 2,
    "startPostCode": "80000000",
    "endPostCode": "89999999",
    "freeDeliveryShippingMethod": "correios.pac",
    "freeDeliveryByTheCheapestShippingPrice": false,
    "name": "Frete grátis PR/SC Correios",
    "referenceCode": "frete-gratis-pr-sc-correios",
    "minValue": 10.5,
    "maxValue": 11.5,
    "startDate": "2019-07-22 20:19:00",
    "endDate": "2019-12-20 20:19:00",
    "customerType": null,
    "criteria": null,
    "onlyDefaultCriteria": true,
    "createdAt": "2019-07-22 15:44:20",
    "updatedAt": "2019-07-22 16:47:36"
}

Listar promoções de frete grátis (GET)

Recupera uma ou mais promoções de frete grátis. Para listar promoções de frete grátis para uma shoppingStore utilizar o parâmetro get 'referenceCodeStore'.

Parâmetros aceitos neste método:

Parâmetro Tipo Obrigatório Descrição
freeDeliveryShippingMethod string false Códigos de referencia dos métodos de entrega, separados por vírgula
fromStartPostCode float false Filtrar por número inicial da faixa de CEP a partir deste número.
toStartPostCode float false Filtrar por número inicial da faixa de CEP até deste número.
fromEndPostCode float false Filtrar por número final da faixa de CEP a partir deste número.
toEndPostCode float false Filtrar por número final da faixa de CEP até deste número.
fromMinValue float false Filtrar por valor mínimo da compra a partir deste número.
toMinValue float false Filtrar por valor mínimo da compra até este número.
fromMaxValue float false Filtrar por valor máximo da compra a partir deste número.
toMaxValue float false Filtrar por valor máximo da compra até este número.
variants string false Códigos de referência das variações, separadas por vírgulas (,)
properties string false Códigos de referência das propriedades, separadas por vírgulas (,)
categories string false Códigos de referência das categorias, separadas por vírgulas (,)
customerType boolean false Código de referência de perfil de cliente. Para pesquisar pelo tipo padrão, bastar colocar 'default.customer' neste campo.
criteria boolean false Código de referência de lista de preços.
fromCreatedAt string false Data início de filtro baseado na data de criação da promoção. e.g. 2019-01-01T20:20:20 (YYYY-mm-ddTH:i:s).
toCreatedAt string false Data fim de filtro baseado na data de criação da promoção. e.g. 2019-01-01T20:20:20 (YYYY-mm-ddTH:i:s).
fromUpdatedAt string false Data início de filtro baseado na data da última atualização da promoção. e.g. 2019-01-01T20:20:20 (YYYY-mm-ddTH:i:s).
toUpdatedAt string false Data fim de filtro baseado na data da última atualização da promoção. e.g. 2019-01-01T20:20:20 (YYYY-mm-ddTH:i:s).
fromStartDate string false Data mínima para a busca da data inicial da promoção. e.g. 2019-01-01T20:20:20 (YYYY-mm-ddTH:i:s).
toStartDate string false Data máxima para a busca da data inicial da promoção. e.g. 2019-01-01T20:20:20 (YYYY-mm-ddTH:i:s).
fromEndDate string false Data mínima para a busca da data final da promoção. e.g. 2019-01-01T20:20:20 (YYYY-mm-ddTH:i:s).
toEndDate string false Data máxima para a busca da data final da promoção. e.g. 2019-01-01T20:20:20 (YYYY-mm-ddTH:i:s).
offset int false Posição inicial dos registros retornados. Exemplo, se houver 100 registros use offset 10 para pegar a partir do décimo primeiro registro. Default: 0.
limit int false Limite máximo de registros a retornar. Default: 100.

Endpoint Template

.

GET /platform/api/promotion/free-delivery/?token=******&referenceCodeStore={referenceCodeStore}&version=1 HTTP/1.1
Host: https://flexy.api.flexy.com.br
Accept: application/json
Content-Type: application/json

Request Example

Obs: o parâmetro da url referenceCodeStore, deve ser somente utilizado para lojas de shopping

GET /platform/api/promotion/free-delivery/?token=******&referenceCodeStore=shoppingstore-flexy&version=1 HTTP/1.1
Host: https://flexy.api.flexy.com.br
Accept: application/json
Content-Type: application/json
Exemplo utilizando filtros de data

GET /platform/api/promotion/free-delivery/?token=******&fromUpdatedAt=2019-07-05T14:13:40&version=1 HTTP/1.1
Host: https://flexy.api.flexy.com.br
Accept: application/json
Content-Type: application/json

Response Example


HTTP/1.1 200 OK
Content-Type: application/json

[
    {
        "priority": 2,
        "startPostCode": "80000000",
        "endPostCode": "89999999",
        "freeDeliveryShippingMethod": "correios.pac",
        "freeDeliveryByTheCheapestShippingPrice": false,
        "name": "Frete grátis PR/SC Correios",
        "referenceCode": "frete-gratis-pr-sc-correios",
        "minValue": 10.5,
        "maxValue": 11.5,
        "startDate": "2019-07-22 20:19:00",
        "endDate": "2019-12-20 20:19:59",
        "customerType": null,
        "criteria": null,
        "onlyDefaultCriteria": false,
        "createdAt": "2019-07-22 15:44:20",
        "updatedAt": "2019-07-22 15:57:38"
    },
    {
        "priority": 1,
        "startPostCode": "80000000",
        "endPostCode": "89999999",
        "freeDeliveryByTheCheapestShippingPrice": true,
        "name": "Frete grátis PR/SC",
        "referenceCode": "frete-gratis-pr-sc",
        "minValue": 0.5,
        "maxValue": 100.5,
        "startDate": "2019-07-22 20:19:00",
        "endDate": "2019-12-20 20:19:59",
        "customerType": null,
        "criteria": null,
        "onlyDefaultCriteria": false,
        "createdAt": "2019-07-22 15:41:23",
        "updatedAt": "2019-07-22 16:03:39"
    }
]

Promoções

Listar categorias na promoção (GET)

Recupera todas as categorias da promoção. Esse endpoint funciona para as promoções de Cupom de Desconto, Catálogo, Carrinho, Frete Grátis, Progressiva e Progressiva por conjunto de itens.

Request Example

. Obs: o parâmetro da url referenceCodeStore, deve ser somente utilizado para lojas de shopping

GET /platform/api/promotion/{promotionReferenceCode}/categories/?token=******&referenceCodeStore=shoppingstore-flexy&version=1 HTTP/1.1
Host: https://flexy.api.flexy.com.br
Accept: application/json
Content-Type: application/json

Response Example


HTTP/1.1 200 OK
Content-Type: application/json


[
    {
        "name": "CategoryName",
        "referenceCode": "CategoryReferenceCode",
        "shoppingStoreReferenceCode": null
    }
]

Cadastrar categorias na promoção (POST)

Cadastrar uma ou mais categorias na promoção. Esse endpoint funciona para as promoções de Cupom de Desconto, Catálogo, Carrinho, Frete Grátis, Progressiva e Progressiva por conjunto de itens.

Parâmetros aceitos neste método:

Parâmetro Tipo Obrigatório Descrição
referenceCode string true Códigos de referência da categoria.
shoppingStoreReferenceCode string false Código de referência da loja a qual pertence a categoria. Caso seja promoção de loja, apenas 2 valores serão permitidos: O referenceCode da propria loja o qual pertence a promoção, ou o valor 'shopping-reference-code', que é usado para marcar que a categoria é do shopping.

Request Example

. Obs: o parâmetro da url referenceCodeStore, deve ser somente utilizado para lojas de shopping

POST /platform/api/promotion/{promotionReferenceCode}/categories/?token=******&referenceCodeStore=shoppingstore-flexy&version=1 HTTP/1.1
Host: https://flexy.api.flexy.com.br
Accept: application/json
Content-Type: application/json

[
    {
        "referenceCode": "CategoryReferenceCode",
        "shoppingStoreReferenceCode": "shopping-reference-code"
    }
]

Response Example


HTTP/1.1 200 OK
Content-Type: application/json

[
    {
        "name": "CategoryName",
        "referenceCode": "CategoryReferenceCode",
        "shoppingStoreReferenceCode": null
    }
]

Atualizar categorias na promoção (PUT)

Atualiza ou cadastra uma ou mais categorias na promoção. Esse endpoint funciona para as promoções de Cupom de Desconto, Catálogo, Carrinho, Frete Grátis, Progressiva e Progressiva por conjunto de itens.

Parâmetros aceitos neste método:

Parâmetro Tipo Obrigatório Descrição
referenceCode string true Códigos de referência da categoria.
shoppingStoreReferenceCode string false Código de referência da loja a qual pertence a categoria. Caso seja promoção de loja, apenas 2 valores serão permitidos: O referenceCode da propria loja o qual pertence a promoção, ou o valor 'shopping-reference-code', que é usado para marcar que a categoria é do shopping.

Request Example

. Obs: o parâmetro da url referenceCodeStore, deve ser somente utilizado para lojas de shopping

PUT /platform/api/promotion/{promotionReferenceCode}/categories/?token=******&referenceCodeStore=shoppingstore-flexy&version=1 HTTP/1.1
Host: https://flexy.api.flexy.com.br
Accept: application/json
Content-Type: application/json

[
    {
        "referenceCode": "CategoryReferenceCode",
        "shoppingStoreReferenceCode": "shopping-reference-code"
    }
]

Response Example


HTTP/1.1 200 OK
Content-Type: application/json

[
    {
        "name": "CategoryName",
        "referenceCode": "CategoryReferenceCode",
        "shoppingStoreReferenceCode": null
    }
]

Listar clientes na promoção (GET)

Recupera todos os clientes na promoção. Esse endpoint funciona somente para a promoção Cupom de Desconto

Request Example

. Obs: o parâmetro da url referenceCodeStore, deve ser somente utilizado para lojas de shopping

GET /platform/api/promotion/{promotionReferenceCode}/customers/?token=******&referenceCodeStore=shoppingstore-flexy&version=1 HTTP/1.1
Host: https://flexy.api.flexy.com.br
Accept: application/json
Content-Type: application/json

Response Example


HTTP/1.1 200 OK
Content-Type: application/json


[
    {
        "identityNumber": "05039800000154",
        "companyName": "Razao empresa",
        "tradeName": "Fantasia empresa",
        "responsible": "Rep empresa",
        "freeStateRegistration": true,
        "stateRegistration": "123456789",
        "primaryPhone": "48 32222222",
        "secondPhone": "48 32222222",
        "address": {
            "postCode": "88117030",
            "city": "Nome Cidade",
            "state": "SC",
            "country": "pais",
            "street": "rua teste",
            "district": "bairro",
            "complement": "Casa",
            "number": 998
        },
        "createdAt": "2014-06-25 12:11:20",
        "updatedAt": "2014-06-25 12:11:20",
        "email": "cliente@email.com",
        "customerType": {
            "name": "Tipo de Cliente",
            "referenceCode": "tipo.de.cliente",
            "priceList": {
                "name": "Ofertas",
                "referenceCode": "lista.ofertas"
            }
         },
        "priceList": {
            "name": "Outlet",
            "referenceCode": "lista.outlet"
         },
        "attributeValues": [
            {
                "name": "Site da empresa",
                "value": "www.flexy.com.br"
            }
        ]
    }
]

Cadastrar clientes na promoção (POST)

Cadastra um cliente na promoção. Esse endpoint funciona somente para a promoção Cupom de Desconto

Parâmetros aceitos neste método:

Parâmetro Tipo Obrigatório Descrição
identityNumber string true CPF(s) ou CNPJ(s) dos clientes separados por vírgula. e.g. 12345678912, 12345678912345.

Request Example

. Obs: o parâmetro da url referenceCodeStore, deve ser somente utilizado para lojas de shopping

POST /platform/api/promotion/{promotionReferenceCode}/customers/?token=******&referenceCodeStore=shoppingstore-flexy&version=1 HTTP/1.1
Host: https://flexy.api.flexy.com.br
Accept: application/json
Content-Type: application/json
Exemplo

POST /platform/api/promotion/promotionReferenceCode/customers/?token=******&referenceCodeStore=shoppingstore-flexy&version=1 HTTP/1.1
Host: https://flexy.api.flexy.com.br
Accept: application/json
Content-Type: application/json

[
    {
        "identityNumber": "05039800000154"
    }
]

Response Example


HTTP/1.1 200 OK
Content-Type: application/json

[
    {
        "identityNumber": "05039800000154",
        "companyName": "Razao empresa",
        "tradeName": "Fantasia empresa",
        "responsible": "Rep empresa",
        "freeStateRegistration": true,
        "stateRegistration": "123456789",
        "primaryPhone": "48 32222222",
        "secondPhone": "48 32222222",
        "address": {
            "postCode": "88117030",
            "city": "Nome Cidade",
            "state": "SC",
            "country": "pais",
            "street": "rua teste",
            "district": "bairro",
            "complement": "Casa",
            "number": 998
        },
        "createdAt": "2014-06-25 12:11:20",
        "updatedAt": "2014-06-25 12:11:20",
        "email": "cliente@email.com",
        "customerType": {
            "name": "Tipo de Cliente",
            "referenceCode": "tipo.de.cliente",
            "priceList": {
                "name": "Ofertas",
                "referenceCode": "lista.ofertas"
            }
         },
        "priceList": {
            "name": "Outlet",
            "referenceCode": "lista.outlet"
         },
        "attributeValues": [
            {
                "name": "Site da empresa",
                "value": "www.flexy.com.br"
            }
        ]
    }
]

Atualizar clientes na promoção (PUT)

Atualiza ou cadastrar um cliente na promoção. Esse endpoint funciona somente para a promoção Cupom de Desconto

Parâmetros aceitos neste método:

Parâmetro Tipo Obrigatório Descrição
identityNumber string true CPF(s) ou CNPJ(s) dos clientes separados por vírgula. e.g. 12345678912, 12345678912345.

Request Example

. Obs: o parâmetro da url referenceCodeStore, deve ser somente utilizado para lojas de shopping

PUT /platform/api/promotion/{promotionReferenceCode}/customers/?token=******&referenceCodeStore=shoppingstore-flexy&version=1 HTTP/1.1
Host: https://flexy.api.flexy.com.br
Accept: application/json
Content-Type: application/json
Exemplo

PUT /platform/api/promotion/promotionReferenceCode/customers/?token=******&referenceCodeStore=shoppingstore-flexy&version=1 HTTP/1.1
Host: https://flexy.api.flexy.com.br
Accept: application/json
Content-Type: application/json

[
    {
        "identityNumber": "05039800000154"
    }
]

Response Example


HTTP/1.1 200 OK
Content-Type: application/json

[
    {
        "identityNumber": "05039800000154",
        "companyName": "Razao empresa",
        "tradeName": "Fantasia empresa",
        "responsible": "Rep empresa",
        "freeStateRegistration": true,
        "stateRegistration": "123456789",
        "primaryPhone": "48 32222222",
        "secondPhone": "48 32222222",
        "address": {
            "postCode": "88117030",
            "city": "Nome Cidade",
            "state": "SC",
            "country": "pais",
            "street": "rua teste",
            "district": "bairro",
            "complement": "Casa",
            "number": 998
        },
        "createdAt": "2014-06-25 12:11:20",
        "updatedAt": "2014-06-25 12:11:20",
        "email": "cliente@email.com",
        "customerType": {
            "name": "Tipo de Cliente",
            "referenceCode": "tipo.de.cliente",
            "priceList": {
                "name": "Ofertas",
                "referenceCode": "lista.ofertas"
            }
         },
        "priceList": {
            "name": "Outlet",
            "referenceCode": "lista.outlet"
         },
        "attributeValues": [
            {
                "name": "Site da empresa",
                "value": "www.flexy.com.br"
            }
        ]
    }
]

Listar propriedades na promoção (GET)

Recupera todos as propriedades na promoção. Somente shopping pode listar propriedades para uma promoção. Esse endpoint funciona somente para a promoção Cupom de Desconto

Request Example

.

GET /platform/api/promotion/{promotionReferenceCode}/properties/?token=******&version=1 HTTP/1.1
Host: https://flexy.api.flexy.com.br
Accept: application/json
Content-Type: application/json

Response Example


HTTP/1.1 200 OK
Content-Type: application/json


[
    {
        "referenceCode": "propertyReferenceCode",
        "value": "propertyValue",
        "name": "propertyName"
    }
]

Cadastrar propriedades na promoção (POST)

Cadastra uma ou mais propriedades na promoção. Somente shopping pode atribuir propriedades para uma promoção. Esse endpoint funciona somente para a promoção Cupom de Desconto

Parâmetros aceitos neste método:

Parâmetro Tipo Obrigatório Descrição
referenceCode string true Códigos de referência da propriedade.
value string true Valor da propriedade.

Request Example

.

POST /platform/api/promotion/{promotionReferenceCode}/properties/?token=******&version=1 HTTP/1.1
Host: https://flexy.api.flexy.com.br
Accept: application/json
Content-Type: application/json
Exemplo

POST /platform/api/promotion/promotionReferenceCode/properties/?token=******&version=1 HTTP/1.1
Host: https://flexy.api.flexy.com.br
Accept: application/json
Content-Type: application/json

[
    {
        "referenceCode": "propertyReferenceCode",
        "value": "propertyValue"
    }
]

Response Example


HTTP/1.1 200 OK
Content-Type: application/json

[
    {
        "referenceCode": "propertyReferenceCode",
        "value": "propertyValue",
        "name": "propertyName"
    }
]

Atualizar propriedades na promoção (PUT)

Atualiza ou cadastra uma ou mais propriedades na promoção. Somente shopping pode atribuir propriedades para uma promoção. Esse endpoint funciona somente para a promoção Cupom de Desconto

Parâmetros aceitos neste método:

Parâmetro Tipo Obrigatório Descrição
referenceCode string true Códigos de referência da propriedade.
value string true Valor da propriedade.

Request Example

.

PUT /platform/api/promotion/{promotionReferenceCode}/properties/?token=******&version=1 HTTP/1.1
Host: https://flexy.api.flexy.com.br
Accept: application/json
Content-Type: application/json
Exemplo

PUT /platform/api/promotion/promotionReferenceCode/properties/?token=******&version=1 HTTP/1.1
Host: https://flexy.api.flexy.com.br
Accept: application/json
Content-Type: application/json

[
    {
        "referenceCode": "propertyReferenceCode",
        "value": "propertyValue"
    }
]

Response Example


HTTP/1.1 200 OK
Content-Type: application/json

[
    {
        "referenceCode": "propertyReferenceCode",
        "value": "propertyValue",
        "name": "propertyName"
    }
]

Listar descontos (GET)

Listar descontos de uma promoção. Disponível apenas para as Promoções Progressiva e Progressiva por conjunto de itens.

Endpoint template


GET /platform/api/promotion/{promotionReferenceCode}/ranges?token=******&referenceCodeStore={referenceCodeStore}&version=1 HTTP/1.1
Host: https://flexy.api.flexy.com.br/
Accept: application/json
Content-Type: application/json
.

Request Example

Obs: o parâmetro da url referenceCodeStore, deve ser somente utilizado para lojas de shopping

GET /platform/api/promotion/promocao-progressiva/ranges?token=******&referenceCodeStore=shoppingstore-flexy&version=1 HTTP/1.1
Host: https://flexy.api.flexy.com.br
Accept: application/json
Content-Type: application/json

Response Example


HTTP/1.1 200 OK
Content-Type: application/json


[
    {
        "discountType": "money",
        "discountValue": 12.15,
        "start": 5,
        "end": 6
    }
]

Cadastrar descontos (POST)

Cadastrar descontos em uma promoção. Disponível apenas para as Promoções Progressiva e Progressiva por conjunto de itens. Aceita um array com multiplas condições, adicionando estas àquelas já existentes.

Parâmetros aceitos neste método:

Parâmetro Tipo Obrigatório Descrição
discountType string true Tipo de desconto, se em valor bruto ou por porcentagem. Aceita apenas os valores 'money' e 'percent'.
discountValue float true Valor do desconto. Não pode ser negativo. Caso 'percent' seja o tipo de desconto, o valor não pode ser maior que 100.
start integer true Quantidade mínima de produtos para ativar o valor de desconto. Não pode coincidir com um intervalo já existente.
end integer true Quantidade máxima de produtos para ativar o valor de desconto. Não pode coincidir com um intervalo já existente.

Endpoint template


POST /platform/api/promotion/{promotionReferenceCode}/ranges?token=******&referenceCodeStore={referenceCodeStore}&version=1 HTTP/1.1
Host: https://flexy.api.flexy.com.br/
Accept: application/json
Content-Type: application/json
.

Request Example

Obs: o parâmetro da url referenceCodeStore, deve ser somente utilizado para lojas de shopping

POST /platform/api/promotion/promocao-progressiva/ranges?token=******&referenceCodeStore=shoppingstore-flexy&version=1 HTTP/1.1
Host: https://flexy.api.flexy.com.br/
Accept: application/json
Content-Type: application/json

[
    {
        "discountType": "percent",
        "discountValue": 1,
        "start": 1,
        "end": 2
    }
]

Response Example

Obs.: O Response retornará todos os descontos dessa promoção, incluindo os cadastrados nesta requisição.

HTTP/1.1 201 CREATED
Content-Type: application/json


[
    {
        "discountType": "money",
        "discountValue": 12.15,
        "start": 5,
        "end": 6
    },
    {
        "discountType": "percent",
        "discountValue": 1,
        "start": 1,
        "end": 2
    }
]

Substituir descontos de promoção (PUT)

Substitui todos os descontos de uma promoção. Disponível apenas para as Promoções Progressiva e Progressiva por conjunto de itens. Caso a requisição seja válida, apaga todos os descontos da promoção informada e cadastra todos os informados na requisição.

Parâmetros aceitos neste método:

Parâmetro Tipo Obrigatório Descrição
discountType string true Tipo de desconto, se em valor bruto ou por porcentagem. Aceita apenas os valores 'money' e 'percent'.
discountValue float true Valor do desconto. Não pode ser negativo. Caso 'percent' seja o tipo de desconto, o valor não pode ser maior que 100.
start integer true Quantidade mínima de produtos para ativar o valor de desconto. Não pode coincidir com outro intervalo informado na coleção.
end integer true Quantidade máxima de produtos para ativar o valor de desconto. Não pode coincidir com outro intervalo informado na coleção.

Endpoint template


PUT /platform/api/promotion/{promotionReferenceCode}/ranges?token=******&referenceCodeStore={referenceCodeStore}&version=1 HTTP/1.1
Host: https://flexy.api.flexy.com.br/
Accept: application/json
Content-Type: application/json
.

Request Example

Obs: o parâmetro da url referenceCodeStore, deve ser somente utilizado para lojas de shopping

PUT /platform/api/promotion/promocao-progressiva/ranges?token=******&referenceCodeStore=shoppingstore-flexy&version=1 HTTP/1.1
Host: https://flexy.api.flexy.com.br/
Accept: application/json
Content-Type: application/json

[
    {
        "discountType": "percent",
        "discountValue": 1,
        "start": 1,
        "end": 2
    }
]

Request Example

Obs.: Exemplo com mais de uma faixa de descontos.

PUT /platform/api/promotion/promocao-progressiva/ranges?token=******&referenceCodeStore=shoppingstore-flexy&version=1 HTTP/1.1
Host: https://flexy.api.flexy.com.br/
Accept: application/json
Content-Type: application/json

[
    {
        "discountType": "percent",
        "discountValue": 1,
        "start": 1,
        "end": 2
    },
    {
        "discountType": "money",
        "discountValue": 10,
        "start": 3,
        "end": 4
    }
]

Response Example


HTTP/1.1 200 OK
Content-Type: application/json


[
    {
        "discountType": "percent",
        "discountValue": 1,
        "start": 1,
        "end": 2
    }
]

Listar varições de produtos na promoção (GET)

Recupera todos produtos cadastrados na promoção. Esse endpoint funciona para as promoções de Cupom de Desconto, Catálogo, Carrinho, Frete Grátis, Progressiva e Progressiva por conjunto de itens.

Request Example

. Obs: o parâmetro da url referenceCodeStore, deve ser somente utilizado para lojas de shopping

GET /platform/api/promotion/{promotionReferenceCode}/variants/?token=******&referenceCodeStore=shoppingstore-flexy&version=1 HTTP/1.1
Host: https://flexy.api.flexy.com.br
Accept: application/json
Content-Type: application/json

Response Example


HTTP/1.1 200 OK
Content-Type: application/json


[
    {
        "referenceCode": "variantReferenceCode",
        "presentation": "variantName",
        "shoppingStoreReferenceCode": null
    }
]

Cadastrar variações de produtos na promoção (POST)

Cadastra uma ou mais variações de produtos na promoção. Esse endpoint funciona para as promoções de Cupom de Desconto, Catálogo, Carrinho, Frete Grátis, Progressiva e Progressiva por conjunto de itens.

Parâmetros aceitos neste método:

Parâmetro Tipo Obrigatório Descrição
referenceCode string true Códigos de referência da variação.
shoppingStoreReferenceCode string false Código de referência da loja a qual pertence o produto. Caso seja promoção de loja, apenas 2 valores serão permitidos: O referenceCode da propria loja o qual pertence a promoção, ou o valor 'shopping-reference-code', que é usado para marcar que o produto é do shopping.

Request Example

. Obs: o parâmetro da url referenceCodeStore, deve ser somente utilizado para lojas de shopping

POST /platform/api/promotion/promotionReferenceCode/variants/?token=******&referenceCodeStore=shoppingstore-flexy&version=1 HTTP/1.1
Host: https://flexy.api.flexy.com.br
Accept: application/json
Content-Type: application/json

[
    {
        "referenceCode": "variantReferenceCode",
        "shoppingStoreReferenceCode": "shopping-reference-code"
    }
]

Response Example


HTTP/1.1 200 OK
Content-Type: application/json

[
    {
        "referenceCode": "variantReferenceCode",
        "presentation": "variantName",
        "shoppingStoreReferenceCode": null
    }
]

Atualizar variações de produtos na promoção (PUT)

Atualiza ou cadastra uma ou mais variações de produtos na promoção. Esse endpoint funciona para as promoções de Cupom de Desconto, Catálogo, Carrinho, Frete Grátis, Progressiva e Progressiva por conjunto de itens.

Parâmetros aceitos neste método:

Parâmetro Tipo Obrigatório Descrição
referenceCode string true Códigos de referência da variação.
shoppingStoreReferenceCode string false Código de referência da loja a qual pertence o produto. Caso seja promoção de loja, apenas 2 valores serão permitidos: O referenceCode da propria loja o qual pertence a promoção, ou o valor 'shopping-reference-code', que é usado para marcar que o produto é do shopping.

Request Example

. Obs: o parâmetro da url referenceCodeStore, deve ser somente utilizado para lojas de shopping

PUT /platform/api/promotion/promotionReferenceCode/variants/?token=******&referenceCodeStore=shoppingstore-flexy&version=1 HTTP/1.1
Host: https://flexy.api.flexy.com.br
Accept: application/json
Content-Type: application/json

[
    {
        "referenceCode": "variantReferenceCode",
        "shoppingStoreReferenceCode": "shopping-reference-code"
    }
]

Response Example


HTTP/1.1 200 OK
Content-Type: application/json

[
    {
        "referenceCode": "variantReferenceCode",
        "presentation": "variantName",
        "shoppingStoreReferenceCode": null
    }
]

Representantes

Listar representantes (GET)

Recupera um ou mais representantes, de acordo com os tokens enviados.

Parâmetros aceitos neste método:

Parâmetro Tipo Obrigatório Descrição
agentTokens string false Token(s) dos representantes separados por vírgula.. e.g. 456de57, 3d6553f.
offset int false Posição inicial dos registros retornados. Exemplo, se houver 100 registros use offset 10 para pegar a partir do décimo primeiro registro. Default: 0.
limit int false Limite máximo de registros a retornar. Default: 10.
agentName string false Nome do Representante.

Request Example

.

GET /platform/api/agents/?token=******&version=1 HTTP/1.1
Host: https://flexy.api.flexy.com.br
Accept: application/json
Content-Type: application/json
Exemplo utilizando filtros de data

GET /platform/api/agents/?agentTokens=2eef5d09,0b6a0c7f&token=loja&version=1 HTTP/1.1
Host: https://flexy.api.flexy.com.br
Accept: application/json
Content-Type: application/json

Response Example


HTTP/1.1 200 OK
Content-Type: application/json

[
 {
   "name": "Representante_1",
   "phone": "4899998888",
   "email": "Representante_1@email.com",
   "token": "fg57df7",
   "password": "****",
   "commissionPercentage": 10,
   "commissionAllOrders": True,
   "enableNewCustomer": True,
   "blocked": false,
   "createdAt": "2018-12-29 19:48:33",
   "updatedAt": "2018-12-29 19:50:45"
},
 {
   "name": "Representante_2",
   "phone": "4899998888",
   "email": "Representante_2@email.com",
   "token": "2eef5d09",
   "password": "****",
   "commissionPercentage": 5,
   "commissionAllOrders": True,
   "enableNewCustomer": True,
   "blocked": false,
   "createdAt": "2018-12-29 19:48:33",
   "updatedAt": null
},
 {
   "name": "Representante_3",
   "phone": "4899998888",
   "email": "Representante_3@email.com",
   "token": "86ebe682d",
   "password": "****",
   "commissionPercentage": 25,
   "commissionAllOrders": True,
   "enableNewCustomer": True,
   "blocked": false,
   "createdAt": "2018-12-29 19:48:33",
   "updatedAt": "2018-12-29 19:50:45"
}
]

Cadastrar representante (POST)

Cadastra um representante.

Parâmetros aceitos neste método:

Parâmetro Tipo Obrigatório Descrição
name string true nome do representante.
phone string false Telefone principal.
email string true e-mail do representante, sendo este o mesmo utilizado para acessar a área do representante no portal.
token string true Token de identificação do representante dentro do sistema, utilizado para criação do link de compartilhamento.
password string true senha de acesso à área do representante no portal.
commissionPercentage float false Percentual de comissão ,valor entre 0 e 100. O padrão é 0.00
commissionAllOrders boolean false True _ Pedidos dos clientes deste representante ou false _ apenas os pedidos feitos pelo próprio representante. O padrão é false
enableNewCustomer boolean false True _ Os novos clientes cadastrados pelo representante serão desbloqueados automaticamente. O padrão é false
blocked boolean false True _ bloquear o representante. O padrão é false

Request Example


POST /platform/api/agents/?token=******&version=1 HTTP/1.1
Host: https://flexy.api.flexy.com.br/
Accept: application/json
Content-Type: application/json.

 {
   "name": "Representante_1",
   "phone": "4899998888",
   "email": "Representante_1@email.com",
   "token": "fg57df7",
   "password": "g4565dr7743g5533",
   "commissionPercentage": 10,
   "commissionAllOrders": True,
   "enableNewCustomer": True,
   "blocked": false
}

Response Example


HTTP/1.1 200 OK
Content-Type: application/json

 {
   "name": "Representante_1",
   "phone": "4899998888",
   "email": "Representante_1@email.com",
   "token": "fg57df7",
   "password": "****",
   "commissionPercentage": 10,
   "commissionAllOrders": True,
   "enableNewCustomer": True,
   "blocked": false,
   "createdAt": "2018-12-29 19:48:33",
   "updatedAt": null
}

Excluir representantes (DELETE)

Exclui um representante de acordo com o token enviado.

Request Example

.

DELETE /platform/api/agents/{agentToken}?token=******&version=1 HTTP/1.1
Host: https://flexy.api.flexy.com.br
Accept: application/json
Content-Type: application/json

Response Example


HTTP/1.1 200 OK
Content-Type: application/json

{
   "name": "Representante_1",
   "phone": "4899998888",
   "email": "Representante_1@email.com",
   "token": "fg57df7",
   "password": "****",
   "commissionPercentage": 10,
   "commissionAllOrders": true,
   "enableNewCustomer": true,
   "blocked": false,
   "createdAt": "2018-12-29 19:48:33",
   "updatedAt": "2018-12-29 19:50:45",
   "deletedAt": "2018-12-29 19:50:45"
}

Atualizar representante (PUT)

Atualiza ou cadastra um representante.

Parâmetros aceitos neste método:

Parâmetro Tipo Obrigatório Descrição
name string false nome do representante.
phone string false Telefone principal.
email string false e-mail do representante, sendo este o mesmo utilizado para acessar a área do representante no portal.
token string false Token de identificação do representante dentro do sistema, utilizado para criação do link de compartilhamento.
password string false senha de acesso à área do representante no portal.
commissionPercentage float false Percentual de comissão ,valor entre 0 e 100. O padrão é 0.00
commissionAllOrders boolean false true _ Pedidos dos clientes deste representante ou false _ apenas os pedidos feitos pelo próprio representante. O padrão é false
enableNewCustomer boolean false true _ Os novos clientes cadastrados pelo representante serão desbloqueados automaticamente. O padrão é false
blocked boolean false true _ bloquear o representante. O padrão é false

Request Example


PUT /platform/api/agents/{agentToken}?token=******&version=1 HTTP/1.1
Host: https://flexy.api.flexy.com.br/
Accept: application/json
Content-Type: application/json.

 {
   "name": "Representante_1",
   "phone": "4899998888",
   "email": "Representante_1@email.com",
   "token": "fg57df7",
   "password": "g4565dr7743g5533",
   "commissionPercentage": 10,
   "commissionAllOrders": true,
   "enableNewCustomer": true,
   "blocked": false
}

Response Example


HTTP/1.1 200 OK
Content-Type: application/json

 {
   "name": "Representante_1",
   "phone": "4899998888",
   "email": "Representante_1@email.com",
   "token": "fg57df7",
   "password": "****",
   "commissionPercentage": 10,
   "commissionAllOrders": true,
   "enableNewCustomer": true,
   "blocked": false,
   "createdAt": "2018-12-29 19:48:33",
   "updatedAt": "2018-12-29 19:50:45"
}

Listar clientes do representante (GET)

Recupera todos os clientes do representante.

Request Example

.

GET /platform/api/agents/{agentToken}/customers/?token=******&version=1 HTTP/1.1
Host: https://flexy.api.flexy.com.br
Accept: application/json
Content-Type: application/json
Exemplo utilizando filtros de data

GET /platform/api/agents/eef5d09/customers/?token=******&version=1 HTTP/1.1
Host: https://flexy.api.flexy.com.br
Accept: application/json
Content-Type: application/json

Response Example


HTTP/1.1 200 OK
Content-Type: application/json

[
    {
        "identityNumber": "05039800000154",
        "companyName": "Razao empresa",
        "tradeName": "Fantasia empresa",
        "responsible": "Rep empresa",
        "freeStateRegistration": true,
        "stateRegistration": "123456789",
        "primaryPhone": "48 32222222",
        "secondPhone": "48 32222222",
        "address": {
            "postCode": "88117030",
            "city": "Nome Cidade",
            "state": "SC",
            "country": "pais",
            "street": "rua teste",
            "district": "bairro",
            "complement": "Casa",
            "number": 998
        },
        "createdAt": "2014-06-25 12:11:20",
        "updatedAt": "2014-06-25 12:11:20",
        "email": "cliente@email.com",
        "customerType": {
            "name": "Tipo de Cliente",
            "referenceCode": "tipo.de.cliente",
            "priceList": {
                "name": "Ofertas",
                "referenceCode": "lista.ofertas"
            }
         },
        "priceList": {
            "name": "Outlet",
            "referenceCode": "lista.outlet"
         },
        "attributeValues": [
            {
                "name": "Site da empresa",
                "value": "www.flexy.com.br"
            }
        ]
    },
    {
        "identityNumber": "05039800000153",
        "companyName": "empresa",
        "tradeName": "Fantasia empresa",
        "responsible": "Rep empresa",
        "freeStateRegistration": true,
        "stateRegistration": "123456789",
        "primaryPhone": "48 32222222",
        "secondPhone": "48 32222222",
        "address": {
            "postCode": "88117030",
            "city": "Nome Cidade",
            "state": "SC",
            "country": "pais",
            "street": "rua teste",
            "district": "bairro",
            "complement": "Casa",
            "number": 998
        },
        "createdAt": "2014-06-25 12:11:20",
        "updatedAt": "2014-06-25 12:11:20",
        "email": "cliente2@email.com",
        "customerType": {
            "name": "Tipo de Cliente",
            "referenceCode": "tipo.de.cliente",
            "priceList": {
                "name": "Ofertas",
                "referenceCode": "lista.ofertas"
            }
         },
        "priceList": {
            "name": "Outlet",
            "referenceCode": "lista.outlet"
         },
        "attributeValues": [
            {
                "name": "Site da empresa",
                "value": "www.flexy.com.br"
            }
        ]
    }
]

Cadastrar clientes do representante (POST)

Cadastra um ou mais clientes do representante.

Parâmetros aceitos neste método:

Parâmetro Tipo Obrigatório Descrição
identityNumber string true CPF(s) ou CNPJ(s) dos clientes separados por vírgula. e.g. 12345678912, 12345678912345.

Request Example

.

POST /platform/api/agents/{agentToken}/customers/?token=******&version=1 HTTP/1.1
Host: https://flexy.api.flexy.com.br
Accept: application/json
Content-Type: application/json
Exemplo

POST /platform/api/agents/eef5d09/customers/?token=******&version=1 HTTP/1.1
Host: https://flexy.api.flexy.com.br
Accept: application/json
Content-Type: application/json

[
    {
        "identityNumber": "05039800000154"
    },
    {
        "identityNumber": "05039800000153"
    }
]

Response Example


HTTP/1.1 200 OK
Content-Type: application/json

[
    {
        "identityNumber": "05039800000154",
        "companyName": "Razao empresa",
        "tradeName": "Fantasia empresa",
        "responsible": "Rep empresa",
        "freeStateRegistration": true,
        "stateRegistration": "123456789",
        "primaryPhone": "48 32222222",
        "secondPhone": "48 32222222",
        "address": {
            "postCode": "88117030",
            "city": "Nome Cidade",
            "state": "SC",
            "country": "pais",
            "street": "rua teste",
            "district": "bairro",
            "complement": "Casa",
            "number": 998
        },
        "createdAt": "2014-06-25 12:11:20",
        "updatedAt": "2014-06-25 12:11:20",
        "email": "cliente@email.com",
        "customerType": {
            "name": "Tipo de Cliente",
            "referenceCode": "tipo.de.cliente",
            "priceList": {
                "name": "Ofertas",
                "referenceCode": "lista.ofertas"
            }
         },
        "priceList": {
            "name": "Outlet",
            "referenceCode": "lista.outlet"
         },
        "attributeValues": [
            {
                "name": "Site da empresa",
                "value": "www.flexy.com.br"
            }
        ]
    },
    {
        "identityNumber": "05039800000153",
        "companyName": "empresa",
        "tradeName": "Fantasia empresa",
        "responsible": "Rep empresa",
        "freeStateRegistration": true,
        "stateRegistration": "123456789",
        "primaryPhone": "48 32222222",
        "secondPhone": "48 32222222",
        "address": {
            "postCode": "88117030",
            "city": "Nome Cidade",
            "state": "SC",
            "country": "pais",
            "street": "rua teste",
            "district": "bairro",
            "complement": "Casa",
            "number": 998
        },
        "createdAt": "2014-06-25 12:11:20",
        "updatedAt": "2014-06-25 12:11:20",
        "email": "cliente2@email.com",
        "customerType": {
            "name": "Tipo de Cliente",
            "referenceCode": "tipo.de.cliente",
            "priceList": {
                "name": "Ofertas",
                "referenceCode": "lista.ofertas"
            }
         },
        "priceList": {
            "name": "Outlet",
            "referenceCode": "lista.outlet"
         },
        "attributeValues": [
            {
                "name": "Site da empresa",
                "value": "www.flexy.com.br"
            }
        ]
    }
]

Atualizar clientes do representante (PUT)

Atualiza ou cadastra um ou mais clientes do representante.

Parâmetros aceitos neste método:

Parâmetro Tipo Obrigatório Descrição
identityNumber string true CPF(s) ou CNPJ(s) dos clientes separados por vírgula. e.g. 12345678912, 12345678912345.

Request Example

.

PUT /platform/api/agents/{agentToken}/customers/?token=******&version=1 HTTP/1.1
Host: https://flexy.api.flexy.com.br
Accept: application/json
Content-Type: application/json
Exemplo

PUT /platform/api/agents/eef5d09/customers/?token=******&version=1 HTTP/1.1
Host: https://flexy.api.flexy.com.br
Accept: application/json
Content-Type: application/json

[
    {
        "identityNumber": "05039800000154"
    },
    {
        "identityNumber": "05039800000153"
    }
]

Response Example


HTTP/1.1 200 OK
Content-Type: application/json

[
    {
        "identityNumber": "05039800000154",
        "companyName": "Razao empresa",
        "tradeName": "Fantasia empresa",
        "responsible": "Rep empresa",
        "freeStateRegistration": true,
        "stateRegistration": "123456789",
        "primaryPhone": "48 32222222",
        "secondPhone": "48 32222222",
        "address": {
            "postCode": "88117030",
            "city": "Nome Cidade",
            "state": "SC",
            "country": "pais",
            "street": "rua teste",
            "district": "bairro",
            "complement": "Casa",
            "number": 998
        },
        "createdAt": "2014-06-25 12:11:20",
        "updatedAt": "2014-06-25 12:11:20",
        "email": "cliente@email.com",
        "customerType": {
            "name": "Tipo de Cliente",
            "referenceCode": "tipo.de.cliente",
            "priceList": {
                "name": "Ofertas",
                "referenceCode": "lista.ofertas"
            }
         },
        "priceList": {
            "name": "Outlet",
            "referenceCode": "lista.outlet"
         },
        "attributeValues": [
            {
                "name": "Site da empresa",
                "value": "www.flexy.com.br"
            }
        ]
    },
    {
        "identityNumber": "05039800000153",
        "companyName": "empresa",
        "tradeName": "Fantasia empresa",
        "responsible": "Rep empresa",
        "freeStateRegistration": true,
        "stateRegistration": "123456789",
        "primaryPhone": "48 32222222",
        "secondPhone": "48 32222222",
        "address": {
            "postCode": "88117030",
            "city": "Nome Cidade",
            "state": "SC",
            "country": "pais",
            "street": "rua teste",
            "district": "bairro",
            "complement": "Casa",
            "number": 998
        },
        "createdAt": "2014-06-25 12:11:20",
        "updatedAt": "2014-06-25 12:11:20",
        "email": "cliente2@email.com",
        "customerType": {
            "name": "Tipo de Cliente",
            "referenceCode": "tipo.de.cliente",
            "priceList": {
                "name": "Ofertas",
                "referenceCode": "lista.ofertas"
            }
         },
        "priceList": {
            "name": "Outlet",
            "referenceCode": "lista.outlet"
         },
        "attributeValues": [
            {
                "name": "Site da empresa",
                "value": "www.flexy.com.br"
            }
        ]
    }
]

Ferramenta de webhook

O webhook é a nossa ferramenta de integração que dispara requisições da Flexy para um sistema externo como ERPs, CRMs, etc.

Para habilitar o webhook de alguma das ações acima, acesse o painel de sua loja em Menu > Configurações > API.

Os disparos de requisição via webhook ficam registrados em um histórico dentro desta mesma área do painel, onde é possível visualizar a requisição enviada e seu log.

Fechamento de pedido

Sempre que um pedido for concluído, uma requisição será enviada para o endpoint de destino configurado no webhook em questão. Assim, o lojista também poderá acompanhar o fluxo de fechamento de pedidos através de outro sistema.

Body da requisição enviada:
{ "number": "1709549190", "agent": null, "agents": null, "shoppingStore": null, "total": 6000, "taxSubstitution": 0, "promotionDiscount": 0, "promotionsApplied": [], "grossAmount": 6000, "customer": { "identityNumber": "88450048000142", "companyName": "Razão Social", "tradeName": "Nome Fantasia", "responsible": "Nome Pessoa Responsável", "freeStateRegistration": false, "stateRegistration": "ISENTO", "primaryPhone": "(48) 3025-2124", "secondPhone": null, "address": { "postCode": "88040000", "city": "Florianópolis", "state": "sc", "country": "Brasil", "street": "Rua Deputado Antônio Edu Vieira", "district": "Pantanal", "complement": null, "number": 789 }, "createdAt": "2016-07-23 12:23:44", "updatedAt": "2017-08-10 18:46:37", "customerType": { "name": "Revendedor", "referenceCode": null }, "email": "cnpj@flexy.com.br"}, "paymentMethods": [ { "name": "payment.method.boletoafaturar", "installments": null, "amount": 6000, "discount": 0, "addition": 0, "boletoRule": { "rule": "25042017", "label": "30/60/90" } } ], "createdAt": "2017-09-14 13:55:47", "updatedAt": "2017-09-14 13:56:04", "deletedAt": null, "items": [ { "name": "Smartphone Moto G 4 Plus Dual Chip Android 6.0 (127115067)", "quantity": 8, "unitPrice": 750, "totalPrice": 6000, "promotionDiscount": 0, "promotionsApplied": [], "grossAmount": 6000, "taxSubstitution": 0, "taxSubstitutionApplied": null, "taxSubstitutionsApplied": [], "variant": { "id": 8, "referenceCode": "127115067", "productReferenceCode": "127115067", "eanCode": "", "presentation": "Smartphone Moto G 4 Plus Dual Chip Android 6.0", "url": "/produto/127115067/smartphone-moto-g-4-plus-dual-chip-android-6-0", "price": 750, "promotionalPrice": null, "master": true, "masterImage": null, "stock": { "quantity": 22, "minimumQuantity": 0, "distributionCenter": { "referenceCode": "shopping-reference-code", "postcode": "88032005", "city": "Florianópolis", "state": "SC", "country": "Brasil", "district": "Saco Grande", "street": "Rodovia José Carlos Daux ", "complement": "", "number": 5025 } }, "priceList": [ { "criteria": "0101", "price": 750 }, { "criteria": "2202", "price": 1599.99 }, { "criteria": "261009", "price": 1799.99 }, { "criteria": "1406", "price": 2199.99 }, { "criteria": "2606", "price": 1899.99 } ], "dimensionGroup": { "height": 30, "width": 30, "depth": 30, "weight": 1 }, "additionalDeliveryTime": 10, "availableAt": null, "deletedAt": null }, "shippingAddress": { "postCode": "88040000", "city": "Florianópolis", "state": "sc", "country": "Brasil", "street": "Rua Deputado Antônio Edu Vieira", "district": "Pantanal", "complement": null, "number": 789 }, "shippingMethod": { "name": "Retirar na loja", "referenceCode": "shipping.method.pickuponplace", "estimatedDeliveryFrom": 10, "estimatedDeliveryTo": 10, "deliveryTimeFrom": null, "deliveryTimeTo": null, "price": 0, "carrier": null }, "trackingCode": null, "properties": [], "itemsKit": [], "additionalTo": null } ], "status": { "name": "status.waiting_payment", "info":null, "createdAt": "2017-09-14 13:56:04" }, "shippingTotal": 0, "subscription": { "number": "1806604344", "planConfiguration": {"referenceCode": "0006x", "name": "Plano de 6 meses", "paymentInterval": 2, "paymentIntervalType": "month", "maxPaymentsAllowed": 3, "maxPaymentAttempts": 0, "paymentAttemptsDelay": 1, "maxPendingPayments": 1, "trialDays": 0 } }, "attributeValues": [], "orderGatewayInfo": null }

Alteração de status de pedido

Sempre que um pedido tiver o seu status alterado, pelo sistema ou por algum operador da plataforma, uma requisição será enviada para o endpoint de destino configurado no webhook em questão. Assim, o lojista também poderá acompanhar o fluxo de alteração de status de pedidos através de outro sistema. Obs: Em contas shoppings, este webhook deve ser cadastrado dentro do painel de cada lojinha.

Body da requisição enviada:
{ "number": "1709549190", "agent": null, "agents": null, "shoppingStore": null, "total": 6000, "taxSubstitution": 0, "promotionDiscount": 0, "promotionsApplied": [], "grossAmount": 6000, "customer": { "identityNumber": "88450048000142", "companyName": "Razão Social", "tradeName": "Nome Fantasia", "responsible": "Nome Pessoa Responsável", "freeStateRegistration": false, "stateRegistration": "ISENTO", "primaryPhone": "(48) 3025-2124", "secondPhone": null, "address": { "postCode": "88040000", "city": "Florianópolis", "state": "sc", "country": "Brasil", "street": "Rua Deputado Antônio Edu Vieira", "district": "Pantanal", "complement": null, "number": 789 }, "createdAt": "2016-07-23 12:23:44", "updatedAt": "2017-08-10 18:46:37", "customerType": { "name": "Revendedor", "referenceCode": null }, "email": "cnpj@flexy.com.br"}, "paymentMethods": [ { "name": "payment.method.boletoafaturar", "installments": null, "amount": 6000, "discount": 0, "addition": 0, "boletoRule": { "rule": "25042017", "label": "30/60/90" } } ], "createdAt": "2017-09-14 13:55:47", "updatedAt": "2017-09-14 13:58:52", "deletedAt": null, "items": [ { "name": "Smartphone Moto G 4 Plus Dual Chip Android 6.0 (127115067)", "quantity": 8, "unitPrice": 750, "totalPrice": 6000, "promotionDiscount": 0, "promotionsApplied": [], "grossAmount": 6000, "taxSubstitution": 0, "taxSubstitutionApplied": null, "taxSubstitutionsApplied": [], "variant": { "id": 8, "referenceCode": "127115067", "productReferenceCode": "127115067", "eanCode": "", "presentation": "Smartphone Moto G 4 Plus Dual Chip Android 6.0", "url": "/produto/127115067/smartphone-moto-g-4-plus-dual-chip-android-6-0", "price": 1599.99, "promotionalPrice": 750, "master": true, "masterImage": null, "stock": { "quantity": 30, "minimumQuantity": 0, "distributionCenter": { "referenceCode": "shopping-reference-code", "postcode": "88032005", "city": "Florianópolis", "state": "SC", "country": "Brasil", "district": "Saco Grande", "street": "Rodovia José Carlos Daux ", "complement": "", "number": 5025 } }, "priceList": [ { "criteria": "0101", "price": 750 }, { "criteria": "2202", "price": 1599.99 }, { "criteria": "261009", "price": 1799.99 }, { "criteria": "1406", "price": 2199.99 }, { "criteria": "2606", "price": 1899.99 } ], "dimensionGroup": { "height": 30, "width": 30, "depth": 30, "weight": 1 }, "additionalDeliveryTime": 10, "availableAt": null, "deletedAt": null }, "shippingAddress": { "postCode": "88040000", "city": "Florianópolis", "state": "sc", "country": "Brasil", "street": "Rua Deputado Antônio Edu Vieira", "district": "Pantanal", "complement": null, "number": 789 }, "shippingMethod": { "name": "Retirar na loja", "referenceCode": "shipping.method.pickuponplace", "estimatedDeliveryFrom": 10, "estimatedDeliveryTo": 10, "deliveryTimeFrom": null, "deliveryTimeTo": null, "price": 0, "carrier": null }, "trackingCode": null, "properties": [], "itemsKit": [], "additionalTo": null } ], "status": { "name": "status.canceled", "info":"mensagem informativa", "createdAt": "2017-09-14 13:58:51" }, "shippingTotal": 0, "subscription": { "number": "1806604344", "planConfiguration": {"referenceCode": "0006x", "name": "Plano de 6 meses", "paymentInterval": 2, "paymentIntervalType": "month", "maxPaymentsAllowed": 3, "maxPaymentAttempts": 0, "paymentAttemptsDelay": 1, "maxPendingPayments": 1, "trialDays": 0 } }, "attributeValues": [], "orderGatewayInfo": null }

Cadastro de cliente

Sempre que um novo usuário se cadastrar na loja, uma requisição será enviada para o endpoint de destino configurado no webhook em questão. Assim, o lojista também poderá acompanhar o fluxo de cadastro de clientes através de outro sistema.

Cliente Pessoa Física
{ "firstName": "Nome do cliente", "lastName": null, "gender": 0, "dateOfBirth": "1990-10-10", "identityNumber": "51627368809", "primaryPhone": "(48) 3213-2131", "secondPhone": null, "address": { "postCode": "88040000", "city": "Florianópolis", "state": "sc", "country": "Brasil", "street": "Rua Deputado Antônio Edu Vieira", "district": "Pantanal", "complement": null, "number": "111" }, "createdAt": "2017-03-09 16:26:15", "updatedAt": "2017-03-09 16:26:15", "customerType": { "name": "Consumidor", "referenceCode": null }, "email": "emaildocliente@flexy.com.br", "attributeValues": [] }
Cliente Pessoa Jurídica
{ "identityNumber": "68271077000130", "companyName": "Empresa Teste Ltda", "tradeName": "Empresa Teste", "responsible": "Leonardo", "freeStateRegistration": false, "stateRegistration": "ISENTO", "primaryPhone": "(11) 1111-1111", "secondPhone": null, "address": { "postCode": "70373000", "city": "Brasília", "state": "df", "country": "Brasil", "street": "SQS 110", "district": "Asa Sul", "complement": "teste", "number": "10" }, "createdAt": "2017-01-15 16:38:34", "updatedAt": "2017-01-15 16:38:34", "customerType": { "name": "Consumidor", "referenceCode": null }, "email": "empresa@teste.com.br", "attributeValues": [] }

Alteração de cliente

Sempre que um usuário atualizar seu cadastro de cliente na loja, uma requisição será enviada para o endpoint de destino configurado no webhook em questão. Assim, o lojista também poderá acompanhar o fluxo de updates de cadastro de clientes através de outro sistema.

Cliente Pessoa Física
{ "firstName": "Nome do cliente", "lastName": "Sobrenome do cliente", "gender": 0, "dateOfBirth": "1988-03-28", "identityNumber": "06823201967", "primaryPhone": "(48) 9999-99999", "secondPhone": null, "address": { "postCode": "90010320", "city": "Porto Alegre", "state": "RS", "country": "Brasil", "street": "Rua Coronel Fernando Machado", "district": "Centro Histórico", "complement": "112", "number": 2323 }, "createdAt": "2016-07-04 16:20:13", "updatedAt": "2017-08-11 17:39:36", "customerType": { "name": "Lojista VIP", "referenceCode": null }, "email": "emaildocliente@flexy.com.br", "attributeValues": [] }
Cliente Pessoa Jurídica
{ "identityNumber": "29679662000111", "companyName": "Nome da Companhia", "tradeName": "Marca da companhia", "responsible": "Leonardo Azevedo", "freeStateRegistration": false, "stateRegistration": "1234567890", "primaryPhone": "(81) 9999-99999", "secondPhone": null, "address": { "postCode": "88032005", "city": "Florianópolis", "state": "sc", "country": "Brasil", "street": "Rodovia José Carlos Daux", "district": "Saco Grande", "complement": "SL 207", "number": "1143" }, "createdAt": "2017-01-09 16:43:06", "updatedAt": "2017-01-09 21:41:13", "customerType": { "name": "Consumidor", "referenceCode": null }, "email": "emaildacompanhia@flexy.com.br", "attributeValues": [] }

Newsletter

Sempre que um usuário se cadastrar para receber a newsletter da loja, uma requisição será enviada para o endpoint de destino configurado no webhook em questão. Assim, o lojista também poderá acompanhar os cadastros de clientes interessados na newsletter através de outro sistema.

Body da requisição enviada:
{ "email": "emaildocliente@flexy.com.br", "name": "Nome do cliente", "enabled": true, "customer": { "firstName": "Nome do cliente", "lastName": "Sobrenome do cliente", "gender": 0, "dateOfBirth": "1988-03-28", "identityNumber": "06823201967", "primaryPhone": "(48) 8404-5954", "secondPhone": null, "address": { "postCode": "88062030", "city": "Florianópolis", "state": "SC", "country": "Brasil", "street": "Rua José Henrique Veras", "district": "Lagoa da Conceição", "complement": "03", "number": 533 }, "createdAt": "2016-07-04 16:20:13", "updatedAt": "2017-09-01 15:59:00", "customerType": { "name": "Lojista VIP", "referenceCode": null }, "email": "emaildocliente@flexy.com.br", "attributeValues": [  ] }, "createdAt": { "date": "2016-07-04 16:20:13.000000", "timezone_type": 3, "timezone": "America/Sao_Paulo" }, "updatedAt": { "date": "2017-09-14 15:00:06.000000", "timezone_type": 3, "timezone": "America/Sao_Paulo" }, "deletedAt": null }

Processamento de Imagem

Sempre que o lojista cadastrar as imagens de seus produtos através de integração API ou importação de arquivo XML, as imagens entrarão em uma fila de processamento do servidor, e uma requisição será enviada para o endpoint de destino configurado no webhook em questão. Assim, o lojista também poderá acompanhar os cadastros de imagens de seus produtos através de outro sistema.

Body da requisição enviada:
{ "imageUrl": "URL da imagem enviada", "statusCode": 200, "errorMessage": "", "requestAt": "2017-09-08 18:58:25", "responseAt": "2017-09-08 18:58:02", "productReferenceCode": "codigo-de-ref-do-produto" }

Loja criada

Sempre que uma nova loja for cadastrada dentro do shopping, uma requisição será enviada para o endpoint de destino configurado no webhook em questão. Assim, o administrador do shopping também poderá acompanhar os cadastros de novas lojas através de outro sistema.

Body da requisição enviada:
{ "id": 54, "name": "Nome da Loja", "createdAt": "2017-09-14 15:16:52", "updatedAt": null, "referenceCode": "nomedaloja", "logoUrl": null, "faviconUrl": null, "primaryPhone": "(32) 13213-2132", "domain": "", "email": "nomedaloja@flexy.com.br", "userEmail": "nomedaloja@flexy.com.br", "cnpj": "68.761.446/0001-72", "stateRegistration": "321321", "responsibleName": "testes", "companyName": "nome da loja", "tradeName": "Nome da Loja", "isEnabled": true, "isActivated": false, "address": "Rodovia José Carlos Daux , 321, testes. Saco Grande. Florianópolis, SC. 88032005, Brasil", "distributionCenter": { "referenceCode": "nomedaloja", "postcode": "88032005", "city": "Florianópolis", "state": "SC", "country": "Brasil", "district": "Saco Grande", "street": "Rodovia José Carlos Daux ", "complement": "testes", "number": 321 }, "descriptionLong": null, "descriptionShort": null, "socialMedia": { "facebookUrl": null, "twitterUrl": null, "youtubeUrl": null, "googleplusUrl": null, "instagramUrl": null }, "attributeValues": [] }

Loja atualizada

Sempre que uma loja tiver algum de seus dados atualizados dentro do shopping, uma requisição será enviada para o endpoint de destino configurado no webhook em questão. Assim, o administrador do shopping também poderá acompanhar as atualizações das lojas através de outro sistema.

Body da requisição enviada:
{ "id": 54, "name": "Nome da Loja", "createdAt": "2017-09-14 15:16:52", "updatedAt": "2017-09-14 15:18:01", "referenceCode": "nomedaloja", "logoUrl": null, "faviconUrl": null, "primaryPhone": "(32) 13213-2132", "domain": "", "email": "nomedaloja@flexy.com.br", "userEmail": "nomedaloja@flexy.com.br", "cnpj": "68.761.446/0001-72", "stateRegistration": "321321", "responsibleName": "Nome do Responsável", "companyName": "nome da loja", "tradeName": "Nome da Loja", "isEnabled": true, "isActivated": false, "address": "Rodovia José Carlos Daux , 321, testes. Saco Grande. Florianópolis, SC. 88032005, Brasil", "distributionCenter": { "referenceCode": "nomedaloja", "postcode": "88032005", "city": "Florianópolis", "state": "SC", "country": "Brasil", "district": "Saco Grande", "street": "Rodovia José Carlos Daux ", "complement": "testes", "number": 321 }, "descriptionLong": null, "descriptionShort": null, "socialMedia": { "facebookUrl": null, "twitterUrl": null, "youtubeUrl": null, "googleplusUrl": null, "instagramUrl": null }, "attributeValues": [] }

Mensagens

Sempre que um formulário de contato ou de detalhe de pedido for enviado por um cliente ao lojista (através da tela Contato/Fale Conosco ou do detalhe de um pedido), uma requisição será enviada para o endpoint de destino configurado no webhook em questão. Assim, o lojista também poderá acompanhar o fluxo de mensagens de clientes através de outro sistema.

Body da requisição enviada:
{ "id": 65, "referenceCode": "59bac42276fc320170914150210", "shoppingStoreReferenceCode": null, "createdAt": "2017-09-14 15:02:10", "name": "Nome do cliente", "email": "nome@flexy.com.br", "phone": "(48) 3025-2124", "platformUserName": null, "platformUserEmail": null, "customer": { "firstName": "Nome do cliente", "lastName": "Sobrenome do cliente", "gender": 0, "dateOfBirth": "1988-03-28", "identityNumber": "06823201967", "primaryPhone": "(48) 9999-99999", "secondPhone": null, "address": { "postCode": "88062030", "city": "Florianópolis", "state": "SC", "country": "Brasil", "street": "Rua José Henrique Veras", "district": "Lagoa da Conceição", "complement": "03", "number": 1111 }, "createdAt": "2016-07-04 16:20:13", "updatedAt": "2017-09-01 15:59:00", "customerType": { "name": "Lojista VIP", "referenceCode": null }, "email": "nome@flexy.com.br", "attributeValues": [] }, "subject": "Contato via site", "message": "Olá, gostaria de conhecer a sede física da loja. Vocês poderiam me dar mais informações de como faço para agendar uma visita?", "answeredAt": null, "answer": null, "orderNumber": null, "orderId": null, "parentReferenceCode": null, "answerReferenceCode": null }

Alteração de estoque

Quando um estoque é alterado, o sistema irá verificar se existe um webhook de atualização de estoque configurado, caso encontre, será enviada uma requisição com o body conforme o exemplo abaixo.

Em caso de produtos do tipo KIT, será disparado um webhook de atualização de estoque para cada variação pertencente ao mesmo.

Para configurar esse webhook acesse o painel administrativo em Configurações > API

Seguem alguns eventos que disparam o webhook:

Todo webhook é enviado a primeira vez quando acontece o evento. Em caso de falha no envio, serão feitas 3 novas tentativas a cada 15 minutos, e por fim, mais 3 novas tentativas a cada 6 horas.

Considera-se falha no envio do webhook quando o http status code do response for diferente de 200 ou 201. Isto é, caso o endpoint configurado não responda ou envie um http status code diferente dos aceitos.

Body da requisição enviada:
{ "referenceCode": "product-reference-code", "stockControl": true, "shoppingStore": { "referenceCode": "shoppingstore-reference-code" }, "variant": { "referenceCode": "variant-reference-code", "stock": { "quantity": 0, "minimumQuantity": 0, "activated": true, "distributionCenter": { "referenceCode": "shoppingstore-reference-code" } } } }

Alteração de preço

Quando um preço de um produto é alterado, seja o preço padrão ou o preço em uma lista de preço, o sistema irá verificar se existe um webhook de atualização de preço configurado. Caso encontre, será enviada uma requisição com o body conforme o exemplo abaixo.

Para configurar esse webhook acesse o painel administrativo em Configurações > API

Seguem alguns eventos que disparam o webhook:

Todo webhook é enviado a primeira vez quando acontece o evento. Em caso de falha no envio, serão feitas 3 novas tentativas a cada 15 minutos, e por fim, mais 3 novas tentativas a cada 6 horas.

Considera-se falha no envio do webhook quando o http status code do response for diferente de 200 ou 201. Isto é, caso o endpoint configurado não responda ou envie um http status code diferente dos aceitos.

Body da requisição enviada:
{ "referenceCode": "product-reference-code", "shoppingStore": { "referenceCode": "shoppingstore-reference-code" }, "variant": { "referenceCode": "variant-reference-code", "price": 239.99, "priceList": { "criteria": "listaPreco", "price": 120 } } }

Alteração de status de produto

Quando o status de algum produto é alterado, o sistema irá verificar se existe um webhook de atualização de status de produto configurado, caso encontre, será enviada uma requisição com o body conforme o exemplo abaixo.

Status de produtos: 'approved' (aprovado), 'denied' (reprovado) , 'pending' (bloqueado/pendente de aprovação).

Para configurar esse webhook acesse o painel administrativo em Configurações > API

Seguem alguns eventos que disparam o webhook:

Todo webhook é enviado a primeira vez quando acontece o evento. Em caso de falha no envio, serão feitas 3 novas tentativas a cada 15 minutos, e por fim, mais 3 novas tentativas a cada 6 horas.

Considera-se falha no envio do webhook quando o http status code do response for diferente de 200 ou 201. Isto é, caso o endpoint configurado não responda ou envie um http status code diferente dos aceitos.

Body da requisição enviada:
{ "referenceCode": "product-reference-code", "status": { "referenceCode": "approved", "note": null, "createdAt": "2020-07-16 18:01:02" }, "variants": [ { "referenceCode": "variant-reference-code" } ], "shoppingStore": { "referenceCode": "shoppingstore-reference-code" } }