Elo Flex

As APIs do Elo Flex possibilitam a verificação de benefícios utilizados, benefícios disponíveis e também possibilita troca de benefícios de um cartão Elo.

Feito para:  Portadores de CartãoEmissoresOutros Desenvolvedores

Primeiros passos

  1. Leia Introdução ao GraphQL, com exemplos reais da nossa API.

  2. Crie um usuário no portal do desenvolvedor.

  3. Cadastre sua primeira aplicação.

  4. Utilize o dashboard para acessar suas configurações de acesso.

  5. Para explorar rapidamente as APIs aqui na página de documentação, use o console de GraphQL, na seção de referências. Nele, você pode ver as consultas de exemplo, executá-las e alterá-las.

Primeiros passos na plataforma de Desenvolvedores Elo

Jaydson GomesDesenvolvedor Evangelista

O intuito das APIs do Elo Flex é promover uma maior efetividade e ir além da oferta de benefícios tradicionais de um cartão. Através da plataforma o poder de escolha está nas mãos do cliente permitindo que os benefícios sejam substituídos de acordo com suas preferências.

Ao cadastrar um cartão, os benefícios deste cartão serão pre-selecionados pelo banco emissor de seu cartão. A característica principal desse cartão é sua flexibilidade, sendo assim o cliente poderá trocar seus benefícios por outros que mais se encaixem às suas necessidades, escolhidos a partir de uma cesta diversas opções.

Exemplo do corpo da requisição:

query{
  availableBenefits(
  filter: {
  bin: "655004", # Bin do Cartão
  documentNumber: "NTAyMDczOTQ3MjU=", # Cpf em base64
  cardId: "ce4abd25-11ff-4bca-aaa7-8e8add84bcac" #Id do cartão
  }) {
    id
    name
    numberOfElements
    minimumBenefitPrice
    quantityOfBenefitsWithMinimumPrice
    productTypes {
      name
    }
    availability {
      begin
      end
    }
    benefits {
      id
      name
      status
      bundleId #É utilizado para identificar unicamente um benefício do cartão. Usado na mutation changeBenefits
      productType
      bundleName
      catalogId
      isNew
      benefitType
      isExchangeableOffer
      description
      validity{
        period
        duration
        unlimited
      }
      availability {
        begin
        end
      }
      images {
        url
        type
      }
      price {
        amount
        scale
        currency
        amountFormatted
      }
      benefitParameters {
        key
        value
      }
      benefitItems {
        id
        componentId
        componentName
        compositionId
        compositionName
        compositionDescription
        productType{
          id
          name
        }
        systemParameters {
          key
          value
        }
      }
    }
  }
}

Resposta

No retorno ele mostrará os valores que foram definidos na query de availableBenefits

Exemplo da resposta da API:

{
  "data": {
    "availableBenefits": {
      "id": "05b7ed90-b911-48ca-ad46-76dac6a459b4",
      "name": "Elo Grafite - Pessoa Física - Portador",
      "numberOfElements": 20,
      "minimumBenefitPrice": null,
      "quantityOfBenefitsWithMinimumPrice": null,
      "productTypes": [
        {
          "name": "Serviços"
        },
        {
          "name": "Vida"
        },
        {
          "name": "Seguro Garantia Estendida"
        },
        {
          "name": "Seguro Proteção de Compras"
        },
        {
          "name": "Auto"
        },
        {
          "name": "Bike"
        },
        {
          "name": "Casa"
        },
        {
          "name": "Pet"
        },
        {
          "name": "Seguro Viagem"
        },
        {
          "name": "Wi-Fi"
        }
      ],
      "availability": {
        "begin": "2019-03-27T03:00:00",
        "end": "2030-12-31T01:59:59"
      },
      "benefits": [
        {
          "id": "994f7744-60ec-400c-a2fa-0de5dcf42d3e",
          "name": "12 min",
          "status": "ACTIVE",
          "bundleId": "af947ea7-16dd-439e-96ac-0ac40e6abad9",
          "productType": "Serviços",
          "bundleName": "12 min",
          "catalogId": "05b7ed90-b911-48ca-ad46-76dac6a459b4",
          "isNew": null,
          "benefitType": "ADDON",
          "isExchangeableOffer": null,
          "description": "O 12 min é um aplicativo mobile (app) que permite que os seus usuários tenham acesso a diversos títulos de livros de não ficção, dentre deles diversos best sellers, em leituras e áudios de apenas 12 minutos. Especialistas sintetizam e otimizam o conteúdo dos livros para que seja possível absorver o conhecimento de uma forma muito mais rápida, dinâmica e objetiva",
          "validity": {
            "period": "MONTH",
            "duration": 12,
            "unlimited": null
          },
          "availability": {
            "begin": "2019-03-27T03:00:00",
            "end": "2030-12-31T01:59:59"
          },
          "images": [],
          "price": {
            "amount": 0,
            "scale": 2,
            "currency": "BRL",
            "amountFormatted": "0,00"
          },
          "benefitParameters": [
            {
              "key": "EXCHANGE_PERIOD_DAYS",
              "value": "90"
            },
            {
              "key": "TOTAL_REQUESTS",
              "value": "3"
            },
            {
              "key": "OFFER_MANDATORY",
              "value": "FALSE"
            }
          ],
          "benefitItems": [
            {
              "id": "66585797-be87-4096-bc9d-7e632c1e3fd9",
              "componentId": "b70c266d-9984-4062-9f7a-9d3c55eb37e0",
              "componentName": "12 min",
              "compositionId": "af947ea7-16dd-439e-96ac-0ac40e6abad9",
              "compositionName": "12 min",
              "compositionDescription": null,
              "productType": {
                "id": "37ab2fca-e283-4066-aa69-7381f5883324",
                "name": "Serviços"
              },
              "systemParameters": [
                {
                  "key": "MINUTRADE_NAME",
                  "value": "12minutos-r-24-00"
                },
                {
                  "key": "PROVIDER_ID",
                  "value": "a0807b59-4075-43a8-a89a-93ace613e58c"
                },
                {
                  "key": "PROVIDER_NAME",
                  "value": "MINUTRADE"
                },
                {
                  "key": "HAS_STATUS_CONTROL",
                  "value": "TRUE"
                }
              ]
            }
          ]
        }
      ]
    }

Ao realizar uma consulta através da Query issuedBenefits, ela irá disponibilizar os benefícios que estao configurados para o cartão. Essa consulta não retorna os benefícios que já tenham sido trocados para o cartão informado.

Exemplo do corpo da requisição:

query{
  issuedBenefits(filter: {
  bin: "655004", # Bin do Cartão
  documentNumber: "NTAyMDczOTQ3MjU=", # Cpf em base64
  cardId: "ce4abd25-11ff-4bca-aaa7-8e8add84bcac" #Id do cartão
  }) {
    id
    name
    status
    bundleId #É utilizado para identificar unicamente um benefício do cartão. Usado na mutation changeBenefits
    bundleName
    expirationDate
    catalogId
    productType
    benefitType
    description
    availability {
      begin
      end
    }
    price {
      amount
      scale
      currency
      amountFormatted
    }
    images {
      url
      type
    }
    benefitParameters {
      key
      value
    }
    usageInformation {
      usageQuantity
      maximumUsageQuantity
    }
    benefitChoiceInformation {
      chosenBy
      exchangeDeadline
    }
    benefitItems {
      id
      componentId
      componentName
      compositionId
      compositionName
      compositionDescription
      systemParameters {
        key
        value
      }
      usedAt {
        status
        usedAt
      }
    }
  }
}

Resposta

No retorno ele mostrará os valores que foram definidos na query de issuedBenefits

Exemplo da resposta da API:

{
  "data": {
    "issuedBenefits": [
      {
        "id": "e54cffd4-3416-4608-903a-151defb390f6",
        "name": "Corpo e Mente",
        "status": "PENDING",
        "bundleId": "4eeeaf75-dfcd-47f8-8afb-7af4cecfd91a",
        "bundleName": "Corpo e Mente",
        "expirationDate": "2021-04-02T23:59:59",
        "catalogId": "bd8382e2-202c-49ae-a4b9-3732cc022b43",
        "productType": "Vida",
        "benefitType": "ADDON",
        "description": "A Assistência Elo Corpo e Mente destina cuidados especiais para toda família, dispõe dos serviços como Orientações Nutricional e Fitness para manter cuidados com a saúde. Confira na listagem os serviços que compõe a assistência.",
        "availability": {
          "begin": "2019-03-27T03:00:00",
          "end": "2030-12-31T03:00:00"
        },
        "price": {
          "amount": 0,
          "scale": 2,
          "currency": "BRL",
          "amountFormatted": "0,00"
        },
        "images": [
          {
            "url": "https://elo-flex-static.s3-sa-east-1.amazonaws.com/corpoemente_interna.jpeg",
            "type": "HOLDER_IMAGE"
          }
        ],
        "benefitParameters": [
          {
            "key": "OFFER_TAGS",
            "value": "#SaudeEBemEstar #Esportes #Conveniência #Lazer"
          },
          {
            "key": "EXCHANGE_PERIOD_DAYS",
            "value": "0"
          },
          {
            "key": "TOTAL_REQUESTS",
            "value": "3"
          },
          {
            "key": "PROVIDER",
            "value": "78832903-129a-4d2c-afbd-583bce34eb6f"
          },
          {
            "key": "OFFER_MANDATORY",
            "value": "FALSE"
          },
          {
            "key": "TRADE_AVAILABILITY",
            "value": "TRUE"
          },
          {
            "key": "IS_EXCHANGEABLE",
            "value": "true"
          }
        ],
        "usageInformation": {
          "usageQuantity": "0",
          "maximumUsageQuantity": "3"
        },
        "benefitChoiceInformation": {
          "chosenBy": "HOLDER",
          "exchangeDeadline": "-999999999-01-01T00:00:00"
        },
        "benefitItems": [
          {
            "id": "cf186612-ca77-4c70-91c2-c1b86b3f26a1",
            "componentId": "4c360183-ddb9-40c0-9a3b-ef75400761ed",
            "componentName": "Orientação em Saúde",
            "compositionId": "c287bfc0-ad71-4fe6-ada8-17e002a810e3",
            "compositionName": "Orientação em Saúde",
            "compositionDescription": "Informações e esclarecimentos em saúde a qualquer hora do dia ou da noite, realizado por enfermeiros experientes, com suporte de médicos.\nLimitações: Sem limite de utilização na vigência.",
            "systemParameters": [
              {
                "key": "PROVIDER_NAME",
                "value": "MONDIAL"
              },
              {
                "key": "PROVIDER_ID",
                "value": "78832903-129a-4d2c-afbd-583bce34eb6f"
              }
            ],
            "usedAt": []
          }
        ]
      }
    ]
  }
}

A troca dos benefícios deve ser efetuada através da mutation changeBenefit e deve ser informado o bundleId do benefício disponível e do benefício configurado para efetuar a troca dos benefícios para o portador o cartão informado.

Exemplo do corpo da requisição:

mutation{
  changeBenefit(input: {
    documentNumber: "NTAyMDczOTQ3MjU=" #Cpf em base 64
    currentBenefitId: "468af87f-38c9-4c62-bd26-869b3693045b" #Benefício Atual
    newBenefitId: "1a202546-f0bf-4dfe-b214-8e67f52a30b1" #Novo Benefício
    cardId: "ce4abd25-11ff-4bca-aaa7-8e8add84bcac" #Id do cartão
  }){
    documentNumber
    currentBenefitId
    newBenefitId
    cardId
  }
}

Resposta

No retorno ele mostrará os valores que foram definidos na mutation de changeBenefit

Exemplo da resposta da API:

 {
    "data": {
        "changeBenefit": {
            "documentNumber": "99024326893",
            "currentBenefitId": "468af87f-38c9-4c62-bd26-869b3693045b",
            "newBenefitId": "1a202546-f0bf-4dfe-b214-8e67f52a30b1",
            "cardId": "8ab644b8-52ed-4a26-8c05-fbb990692fc3"
        }
    }
}

É possível verificar os parceiros Elo que fornecem os benefícios disponíveis, para isso basta realizar a consulta de Query providers.

Exemplo do corpo da requisição:

query{
  providers {
    id
    name
  }
}

Resposta

No retorno ele mostrará os valores que foram definidos na query providers

Exemplo da resposta da API:

 {
    "data": {
        "providers": [
            {
                "id": "78832903-129a-4d2c-afbd-583bce34eb6f",
                "name": "MONDIAL"
            }
          ]
       }
    }