Seguros

A API de Seguros possibilita a utilização dos benefícios de Seguro Viagem, Seguro Garantia Estendida e Seguro Proteção de Compra por portadores de cartão Elo.

Feito para:  Estabelecimentos ComerciaisAdquirentes

Como funciona

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 dessa API é oferecer ao portador a melhor experiência no momento da utilização de seus benefícios em Seguros através de parceiros, aplicativos e outros sistemas integrados com as APIs da Elo.

Para saber mais sobre as condições de utilização dos benefícios de seguro consulte o portal Cartão Elo.

Além da contratação e consulta dos seguros descritos nas seções a seguir, ela permite ao portador solicitar a 2ª via dos seguros vigentes.

Na criação de um seguro para um portador de cartão, é necessário que o portador seja do tipo CardHolder e tenha direito ao benefício. Para obter mais informações sobre benefícios e serviços de um cartão acesse a Tabela de BINs.

Ao comprar uma passagem aérea, marítima ou terrestre com o cartão Elo, o portador tem o benefício de emitir o bilhete de seguro para garantir a cobertura sobre cancelamento da viagem, atraso e perda de bagagem, despesas médicas, hospitalares e odontológicas, entre outras durante o período de 12 meses.

A criação de um seguro viagem como benefício de um cartão é baseado no número de viajantes enviados na mutation createTravelInsurance. Para cada passageiro serão criados dois bilhetes de seguro que serão enviados para o e-mail do portador do cartão (CardHolder).

Nota: Para obter bilhetes de seguro para mais de 1 viajante, o portador do cartão precisa necessariamente ser enviado como um dos passageiros na mutation createTravelInsurance.

mutation{
    createTravelInsurance(input:{
        clientMutationId: "123",
        bin: "655000",
        merchant: {
            legalId: "03466677000108",
            name: "Company Travel Insurance",
            legalName: "Company Travel Insurance S/A"
        },
        journey: {
            companyTravel: "TAM",
            journeyLocator: "YTG123",
            trips: [
                {
                    tripNumber: 123,
                    tripLocator: "YTG321",
                    type: AIR,
                    departure: {
                        IataCode: "GRU",
                        IcaoCode: "SBKP",
                        city: "Campinas",
                        country: "BRA",
                        dateTime: "2019-01-01T13:12:59Z"
                    },
                    arrival: {
                        IataCode: "LGA",
                        IcaoCode: "KLGA",
                        city: "New York",
                        country: "USA",
                        dateTime: "2019-01-31T14:13:49Z"
                    },
                    travelers: [
                        {
                            legalIds: {
                                cpf: "83567050290",
                                rg: {
                                    number: "346727019",
                                    issuerOrganization: "SSP",
                                    issuerState: "SP",
                                    issueDate: "1998-08-01"
                                }
                            },
                            name: "Insurance 1",
                            birthday: "1990-01-01",
                            gender: MALE,
                            maritalStatus: MARRIED,
                            occupationId: "2525-40",
                            income: {
                                personal: 5000,
                                family: 10000,
                                currency: "BRL"
                            },
                            address: {
                                context: "Trabalho",
                                country: "BRA",
                                city: "Campinas",
                                state: "São Paulo",
                                zip: "13086902",
                                kind: "Rua",
                                number: 0,
                                place: "Dr. Ricardo Benetton Martins",
                                complement: "Prédio 3",
                                reference: "Parque II do Polo de Alta Tecnologia",
                                instructions: "Rodovia Campinas/Mogi",
                                district: "Jardim Miriam",
                                lon: -22.816214,
                                lat: -47.045596
                            },
                            contacts: [
                                {
                                    type: EMAIL,
                                    context: "Correio Eletrônico",
                                    value: "comunicacao@sensedia.com"
                                },
                                {
                                    type: PHONE,
                                    context: "Contato",
                                    value: "01937055775"
                                }
                            ],
                            politicalExposure: true
                        }
                    ]
                }
            ]
            purpose: {
                leisure: false,
                business: true,
                adventure: false
            }
        }
    }){
        clientMutationId,
        travelInsurance{
            id, 
            startDate, 
            endDate
        }
    }
}

Após a criação, é possível consultar os seguros emitidos por status, data e local de de origem e destino.

query{
    user(id: "825b09b8-e422-4743-8952-2046b173ecce") {
        cardHolders{
            travelInsurances {
                totalCount,
                pageInfo{
                    hasPreviousPage
                    hasNextPage
                    startCursor
                    endCursor
                },
                edges{
                    node{
                        id,
                        cardHolder{
                            id,
                            name
                        }
                        merchant {
                            legalId,
                            legalName,
                            name
                        },
                        companyInsurance, 
                        bin{
                            number,
                            product {
                                name
                            }
                        },
                        journey{
                            companyTravel,
                            journeyLocator,
                            trips{
                                tripNumber,
                                tripLocator,
                                type,
                                departure{
                                    IataCode,
                                    IcaoCode,
                                    city,
                                    country,
                                    dateTime
                                },
                                arrival{
                                    IataCode,
                                    IcaoCode,
                                    city,
                                    country,
                                    dateTime
                                },
                                travelers{
                                    insurances {
                                        insuranceId,
                                        description,
                                        status
                                    }
                                    legalIds {
                                        cpf { number },
                                        rg {
                                            number, 
                                            issuerOrganization,
                                            issuerState,
                                            issueDate
                                        }
                                    },
                                    name,
                                    birthday,
                                    gender,
                                    income{
                                        personal,
                                        family,
                                        currency
                                    },
                                    occupation{
                                        id, 
                                        display
                                    },
                                    address{
                                        context,
                                        country,
                                        city,
                                        state,
                                        zip,
                                        district,
                                        kind,
                                        number,
                                        place,
                                        complement,
                                        reference,
                                        instructions,
                                        lon,
                                        lat
                                    }
                                }
                            }
                        }
                        startDate, 
                        endDate
                    }
                }
            }
        }
    }
}

O seguro proteção de compra contempla equipamentos eletroportáteis adquiridos no Brasil com o cartão Elo que podem ser segurados após a emissão de um bilhete junto a Elo. Esse seguro oferece cobertura contra roubo, furto qualificado ou danos decorrentes de acidente. O Seguro Proteção de Compra dará o suporte necessário quando o portador precisar, durante a vigência indicada no bilhete (45 dias), reembolsando o valor do bem ou o encaminhando para o conserto ou assistência especializada.

Para a criação de um Seguro Proteção de Compra é preciso ter conhecimento das categorias de produtos que fazem parte da cobertura do seguro. Para isso, é possível utilizar a consulta insuranceProductCategory como mostra o exemplo abaixo:

query{
    insuranceProductCategory{
        id,
        display,
        products {
            id,
            display
        }
    }
}

Após realizada a consulta, utilize a mutation createPurchaseProtectionInsurance para criar a cobertura do seguro para o produto escolhido (informando-o no campo productId). Para criar um seguro de proteção de compra o portador precisa ser um CardHolder e possuir esse benefício ativo. Após a criação, uma confirmação será enviada para o e-mail do portador do cartão.

mutation{
  createPurchaseProtectionInsurance(
    input:{
      clientMutationId:"123",
      bin:"655000",
      merchant:{
        legalId:"25396173000100",
        legalName:"LEGAL NAME 123",
        name:"LEGAL AB"
      },
      invoiceNumber:"32",
      invoiceDate:"2018-08-16" ,
      serialNumber:"11242",
      brand:"SENSEDIA",
      model:"API MANAGER",
      value:35.6,
      description:"Seguro de premium contra defeitos de fabrica",
      coverageDays:16,
            productId: "1a6e1266-d57f-434b-9ccd-7e17fd60671e"
    }
  )
  {
        clientMutationId,
        PurchaseProtectionInsurance{
            id,
            insuranceId,
            cardHolder{
                id,
                name
            },
            merchant{
                legalId, 
                legalName, 
                name
            },
            bin{
                number,
                product{ name }
            }
            status,
            startDate,
            endDate,
            companyInsurance,
            invoiceNumber,
            invoiceDate,
            serialNumber,
            category{
                id, 
                display
            },
            brand,
            model,
            description,
            value,
            coverageDays
        }
    }
}

Para consultar um seguro proteção de compra já criado, basta utilizar a consulta abaixo conforme mostra o quadro abaixo, observe que é possível filtrar os seguros contratados dentro de um período (startDate, endDate) e status.

query {
  user(id: "012") {
    cardHolders {
      purchaseProtectionInsurances(
        filter:{
          status: HIRED,
          startDate: "2018-08-17",
          endDate: "2019-12-31"
        }) {
        totalCount,
        pageInfo{
          hasPreviousPage
          hasNextPage
          startCursor
          endCursor
        },
        edges {
          node {
            id, 
            insuranceId,
            cardHolder{
              id,
              name
            },
            merchant{
              legalId,  
              legalName,
              name
            },
            bin{
              number,
              product { name }
            }
            status,
            startDate,
            endDate,
            companyInsurance,
            invoiceNumber,
            invoiceDate,
            serialNumber,
            category{
              id,
              display,
              products { display }
            },
            brand,
            model,
            description,
            value,
            coverageDays
          }
        }
      }
    }
  }
}

O seguro Garantia Estendida cobre, por até 48 meses, os custos de consertos ou a troca dos produtos adquiridos no Brasil e pagos integralmente com o cartão Elo, que apresentarem defeito após o término da garantia original do fabricante. Para solicitar basta emitir o bilhete do seguro em até 30 dias após a data da compra do produto.

Através da mutation createExtendedWarrantyInsurance é possível que parceiros realizem a criação de um Seguro Garantia Estendida para o produto associado. Os campos que definem o produto a ser coberto por esse benefício como modelo, marca, descrição, número de série e valor devem ser informados pela origem e serão avaliados posteriormente caso o portador utilize o benefício do seguro. Essa validação não é feita no momento da criação.

Novamente utilize a query insuranceProductCategory (demonstrada na seção anterior ao criar um Seguro Proteção de Compra) para consultar o produto em que você deseja contratar o seguro e informe-o no campo productId.

Para criar um seguro utilize a mutation conforme exemplo abaixo:

mutation{
  createExtendedWarrantyInsurance(input:{
    clientMutationId: "123",
    bin: "655012",
    merchant: {
      legalId: "333333444",
      name: "Merchant",
      legalName: "Merchant S/A"
    },
    invoiceNumber: "2",
    invoiceDate: "2018-12-31",
    serialNumber: "3",
    brand: "brand",
    model: "model",
    description: "description",
    value: 10.6,
    extendedWarrantyMonths: 12,
    manufacturerWarrantyMonths: 12,
    productId: "10376bd0-6dec-4f2a-9937-07f1feee152e"
  })
  {
    clientMutationId
    extendedWarrantyInsurance{
      id,
      insuranceId,
      cardHolder{
        id
        name
        firstName
        lastName
        displayName
        companyName
        companyLegalName
        legalIds{
          cpf{ number }
        }
        birthday
      }
      bin{
        number
        panSizeRange{
          min
          max
        }
        funding
        product{
          id
          code
          name
        }
        country
      }
      status
      merchant{
        legalId
        name
        legalName
      }
      startDate
      endDate
      companyInsurance
      invoiceNumber
      category{
        id
        display
      }
      brand
      model
      description
      value
      extendedWarrantyMonths
      manufacturerWarrantyMonths
    }
  }
}

Após ter criado o seguro de garantia estendia é possível consulta-lo atravez da query extendedWarrantyInsurances dentro das buscas user.cardHolders:

query {
  user(id: "012") {
    cardHolders {
            extendedWarrantyInsurances {
                edges {
                    node {
                        id
                        insuranceId
                        bin { number }
                        status 
                        merchant {
                            name
                        }
                        startDate
                        endDate
                        companyInsurance 
                        invoiceNumber 
                        invoiceDate
                        serialNumber
                        category {
                            id
                            display
                        }
                        brand 
                        model
                        description
                        value
                        extendedWarrantyMonths
                        manufacturerWarrantyMonths                        
                    }
                }
            }
        }
    }
}

É possível também solicitar a 2ª via dos seguros já criados para um portador. Para isto é necessário o campo insuranceId do seguro retornado no momento de sua criação ou nas buscas demonstradas acima para cada tipo de seguro.

Abaixo temos um exemplo da mutation requestSecondWayOfInsurancePolicy:

mutation {
    requestSecondWayOfInsurancePolicy(input: {
        insuranceId: "18001000169180000398",
        type: TRAVEL
    })
  {
        maskedEmail
    }
}

Após a solicitação o portador do cartão que contratou o seguro recerá a 2ª via em seu e-mail cadastrado (o mesmo informado no retorno da mutation como maskedEmail).