Fluxo de cotação

O processo de cotação acontece em 3 etapas e é definido em dois fluxos:

  • Pagamento realizado pela estrutura da YOUSE;
  • Cobrança efetuada pela parceira e indicado o pagamento para a YOUSE.

Figura abaixo exibe o processo realizado com as chamadas das mutações em graphQL Fluxo de cotação

O fluxo de cotação e precificação é o mesmo para ambos os fluxos.

Exemplo para criar uma cotação

mutation CreateAutoOrder($input: AutoCreateOrderMutationInput) {
  createAutoOrder(input: $input) {
    id
    success
    order {
      createdAt
      id
      driver {
        bonusesClass
        userBonusesClass
      }
      insuredPerson {
        name
        document {
          number
          type
        }
      }
      errors {
        messages {
          code
          description
        }
        attribute
      }
      vehicle {
        licensePlate
        vin
      }
    }
  }
}

Variáveis

{
  "input": {
    "attributes": {
      "driver": {
        "youngDriverCoverage": false,
        "name": "John Youser",
        "gender": "MALE",
        "maritalStatus": "MARRIED",
        "dateOfBirth": "1980-01-01",
        "document": {
          "type": "CPF",
          "number": "123.456.700-88"
        }
      },
      "insuredPerson": {
        "name": "John Youser",
        "gender": "MALE",
        "maritalStatus": "MARRIED",
        "phone": "(11) 99999-9999",
        "dateOfBirth": "1980-01-01",
        "address": {
          "number": "68",
          "zipCode": "15755-000",
          "street": "rua dos altinos",
          "neighborhood": "NA"
        },
        "salaryRange": "BAND4",
        "nationality": "BR",
        "document": {
          "type": "CPF",
          "number": "123.456.700-88"
        },
        "email": "cenario-parceiro@youse.com.br"
      },
      "createdFromIp": "192.168.1.1",
      "userAgent": "chrome",
      "vehicle": {
        "adaptedWithGasKit": false,
        "year": 2012,
        "adaptedForDisabilities": false,
        "fuelType": "gasoline",
        "address": {
          "zipCode": "04552-040"
        },
        "code": "024103220080",
        "usage": "ONLY_PRIVATE",
        "bulletProof": false,
        "ownershipStatus": "OWNED_BY_PERSON",
        "brandNew": false
      }
    }
  }
}

Exemplo para precificar uma cotação

Com o retorno da requisição anterios, utilizamos o ID da cotação gerada orderId

mutation {
  createPlansOffer(input: { orderId: "64f0d041183a930009d4b412" }) {
    success
    order {
      id
        errors {
          attribute
          messages {
            code
            description
          }
        }
        ... on AutoOrder {
        driver {
          bonusesClass
          ciNumber
        }
        vehicle {
          licensePlate
          make
          model
          vin
        }
      }
      errors {
        attribute
        messages {
          code
          description
        }
      }
    }
    plans {
      id
      planUid
      description
      linkToBuy
      subproduct
      name
      coverages {
        name
      }
      pricing {
        annualAssistancesTotalCost
        annualTotalCost
        annualTotalPremium
        assistancesTotalCost
        monthlyAssistancesTotalCost
        monthlyTotalCost
        totalCost
        totalPremium
      }
    }
  }
}

Efetivando uma cotação em apólice pelo meio de pagamento pela parceira

mutation {
	issuePolicy(
		input: {
			attributes: {
				orderId: "650db053015bf00009962eeb",
				planId: "fbbb218f-0250-4086-ab19-c5b68cc9361e",
				paymentCondition: ONCE
			}
		}
	) {
		success
		policy {
			status
			errors {
				attribute
				messages {
					code
					description
				}
			}
		}
	}
}

Nesse processo de efetivação será enviado chamadas que indicam todo o processo de cobrança e necessidade de confirmação que é preciso ser realizado.