Arquivos de apoio

Você pode utilizar o Postman, Insomnia, ou seu editor favorito para importar as definições da API e realizar as requisições

Arquivos de API - Swagger 2.0

Simulação

swagger: "2.0"
info:
  version: 3.0.0
  title: Simulador
  description: Documentação para o Simulador de crédito
host: api.staging.scd.giro.tech
basePath: /integration/v3
schemes:
  - https
paths:
  /simulations/simulate:
    post:
      summary: Simulador de Empréstimo
      description: Simulador um novo empréstimo com base nos parâmetros fornecidos.
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        - name: Authorization
          in: header
          type: string
          description: Token de autenticação.
          required: true
        - name: body
          in: body
          description: Dados para solicitar um novo empréstimo.
          required: true
          schema:
            type: object
            properties:
              data_emprestimo:
                type: string
                format: date
                description: Data de solicitação do empréstimo (obrigatório).
              taxa_juros_mensal:
                type: number
                format: double
                description: Taxa de juros ao mês do empréstimo (obrigatório).
              numero_parcelas:
                type: integer
                format: int32
                description: Total de parcelas para pagamento (obrigatório).
              data_primeiro_vencimento_parcela:
                type: string
                format: date
                description: Data do primeiro vencimento da parcela (obrigatório).
              valor_emprestimo:
                type: number
                format: double
                description: Valor do empréstimo solicitado (obrigatório).
              tipo_pessoa:
                type: string
                enum: [PESSOA_FISICA, PESSOA_JURIDICA]
                default: PESSOA_JURIDICA
                description: Tipo de pessoa (Física ou Jurídica) (opcional).
              valor_tarifas:
                type: number
                format: double
                description: Valor das tarifas a serem aplicadas (opcional).
              calculo:
                type: object
                description: Informações sobre o cálculo (opcional).
                properties:
                  dias_compensar:
                    type: string
                    enum: [DIAS_CORRIDOS, MES_FECHADO_30_DIAS]
                    description: Dias entre a data do empréstimo e o vencimento da parcela (opcional).
                  carencia:
                    type: string
                    enum: [COM_JUROS_A_PARTIR_32_DIAS, COM_JUROS_A_PARTIR_31_DIAS, SEM_CARENCIA]
                    default: SEM_CARENCIA
                    description: Dias a serem considerados para a carência da primeira parcela (opcional).
                  limite_iof:
                    type: string
                    enum: [ANO_FECHADO_365_DIAS, ANO_FECHADO_360_DIAS]
                    default: ANO_FECHADO_365_DIAS
                    description: Dias no ano para cálculo do IOF (opcional).
              financiamento:
                type: object
                description: Informações sobre o financiamento (opcional).
                properties:
                  iof:
                    type: string
                    enum: [IOF_NAO_FINANCIADO, IOF_FINANCIADO]
                    default: IOF_FINANCIADO
                    description: Indica se o valor total do IOF será adicionado às parcelas (opcional).
                  tarifas:
                    type: string
                    enum: [TARIFAS_NAO_FINANCIADO, TARIFAS_FINANCIADO]
                    default: TARIFAS_FINANCIADO
                    description: Indica se o valor das tarifas informado será adicionado às parcelas (opcional).
      responses:
        200:
          description: Empréstimo solicitado com sucesso.
          schema:
            type: object
            properties:
              id:
                type: string
              numero_parcelas:
                type: integer
                format: int32
              data_emprestimo:
                type: string
                format: date
              data_primeiro_vencimento_parcela:
                type: string
                format: date
              data_ultimo_vencimento_parcela:
                type: string
                format: date
              taxa_juros_mensal:
                type: number
                format: double
              taxa_juros_anual:
                type: number
                format: double
              valor_tarifas:
                type: number
                format: double
              valor_iof:
                type: number
                format: double
              valor_emprestimo:
                type: number
                format: double
              valor_primeira_parcela:
                type: number
                format: double
              valor_ultima_parcela:
                type: number
                format: double
              valor_carencia:
                type: number
                format: double
              valor_juros:
                type: number
                format: double
              valor_desembolso:
                type: number
                format: double
              valor_financiado:
                type: number
                format: double
              saldo_devedor:
                type: number
                format: double
              custo_efetivo_total_mensal:
                type: number
                format: double
              custo_efetivo_total_anual:
                type: number
                format: double
              parcelas:
                type: array
                items:
                  type: object
                  properties:
                    numero_parcela:
                      type: integer
                      format: int32
                    dias_compensar:
                      type: integer
                      format: int32
                    data_vencimento:
                      type: string
                      format: date
                    valor_parcela:
                      type: number
                      format: double
                    valor_juros:
                      type: number
                      format: double
                    saldo_devedor:
                      type: number
                      format: double
                    capital_amortizado:
                      type: number
                      format: double
                    valor_iof_parcela:
                      type: number
                      format: double

                   

Formalização

swagger: "2.0"
info:
  version: 3.0.0
  title: Formalização da CCB
host: api.staging.scd.giro.tech
basePath: /integration/v3
schemes:
  - https
paths:
  /operations:
    post:
      summary: Formalização da CCB na Giro.Tech
      description: Realiza a formalização da CCB na API da Giro.Tech
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        - name: Authorization
          in: header
          type: string
          description: Token de autenicação
          required: true
        - name: Origem
          in: header
          type: string
          description: Originador da operação.
          required: true
        - name: Identificador-Programa
          in: header
          type: string
          description: Identificador do Programa.
          required: true
        - name: body
          in: body
          description: Dados para formalização de um novo empréstimo ou financiamento.
          required: true
          schema:
            type: object
            properties:
              numero_ccb:
                type: string
                maxLength: 8
                description: Número da CCB que será formalizada.
              data_liberacao:
                type: string
                format: date
                description: Data da liberação da CCB.
              produto:
                type: string
                enum: [credito_direto_consumidor, credito_pessoal]
                description: Produto utilizado na CCB.
                default: credito_direto_consumidor
              modalidade:
                type: string
                enum: [EMPRESTIMO, FINANCIAMENTO]
                description: Modalidade da operação.
                default: EMPRESTIMO
              periodicidade:
                type: string
                enum: [MENSAL, DIARIO]
                description: Periodicidade da cobrança nos vencimentos.
                default: MENSAL
              tipo_documento:
                type: string
                enum: [CHEQUE, BOLETO, DUPLICATE, CREDIT_RIGHTS]
                description: Tipo do documento para pagamento.
              emprestimo:
                type: object
                properties:
                  data_emprestimo:
                    type: string
                    format: date
                    description: Data do empréstimo.
                  numero_parcelas:
                    type: integer
                    description: Total de parcelas (vencimentos) para o pagamento da CCB.
                  taxa_juros_mensal:
                    type: number
                    format: double
                    description: Taxa de juros ao mês do empréstimo.
                  data_primeiro_vencimento_parcela:
                    type: string
                    format: date
                    description: Data do primeiro vencimento da parcela.
                  valor_primeira_parcela:
                    type: number
                    format: double
                    description: Valor da primeira parcela.
                  valor_tarifas:
                    type: number
                    format: double
                    description: Valor de tarifas que serão aplicadas na CCB.
                  valor_iof:
                    type: number
                    format: double
                    description: Valor de IOF.
                  valor_desembolso:
                    type: number
                    format: double
                    description: Valor desembolsado.
                  custo_efetivo_total_mensal:
                    type: number
                    format: double
                    description: Custo efetivo total mensal.
                  custo_efetivo_total_anual:
                    type: number
                    format: double
                    description: Custo efetivo total anual.
                  parcelas:
                    type: array
                    items:
                      type: object
                      properties:
                        numero_parcela:
                          type: integer
                          description: Número da parcela.
                        dias_compensar:
                          type: integer
                          description: Dias a compensar a parcela.
                        data_vencimento:
                          type: string
                          format: date
                          description: Data de vencimento da parcela.
                        valor_parcela:
                          type: number
                          format: double
                          description: Valor da parcela.
                        valor_juros:
                          type: number
                          format: double
                          description: Valor de juros da parcela.
                        saldo_devedor:
                          type: string
                          maxLength: 3
                          description: Saldo devedor.
                        numero_documento:
                          type: string
                          maxLength: 10
                          description: Número identificador do vencimento.
              agente:
                type: object
                properties:
                  documento:
                    type: string
                    maxLength: 14
                    description: CNPJ do agente.
                  nome:
                    type: string
                    maxLength: 255
                    description: Nome do agente.
              endereco:
                type: object
                properties:
                  rua:
                    type: string
                    maxLength: 255
                    description: Rua do endereço.
                  numero:
                    type: string
                    maxLength: 5
                    description: Número do endereço.
                  complemento:
                    type: string
                    maxLength: 255
                    description: Complemento do endereço.
                  bairro:
                    type: string
                    maxLength: 255
                    description: Bairro do endereço.
                  cidade:
                    type: string
                    maxLength: 30
                    description: Cidade do endereço.
                  estado:
                    type: string
                    maxLength: 2
                    description: Estado do endereço.
                  cep:
                    type: string
                    maxLength: 8
                    description: CEP do endereço.
              tomador:
                type: object
                properties:
                  documento:
                    type: string
                    maxLength: 14
                    description: CPF ou CNPJ do tomador.
                  nome:
                    type: string
                    maxLength: 255
                    description: Nome do tomador.
                  email:
                    type: string
                    maxLength: 255
                    description: Email do tomador.
                  telefone:
                    type: string
                    maxLength: 15
                    description: Telefone do tomador.
                  genero:
                    type: string
                    description: Gênero do tomador.
              pix:
                type: object
                properties:
                  chave_pix:
                    type: string
                    maxLength: 255
                    description: Chave PIX, deve seguir o formato definido pelo Banco Central.
                  tipo_chave_pix:
                    type: string
                    enum: [CPF, CNPJ, EMAIL, PHONE, EVP]
                    description: Tipo da chave PIX, deve seguir definições do Banco Central.
              conta_bancaria:
                type: object
                properties:
                  codigo_banco:
                    type: string
                    maxLength: 3
                    description: Código do banco. Utilizar sempre o código com 3 dígitos.
                  numero_conta:
                    type: string
                    maxLength: 20
                    description: Número da conta bancária.
                  digito_conta:
                    type: string
                    maxLength: 2
                    description: Dígito da conta bancária.
                  numero_agencia:
                    type: string
                    maxLength: 4
                    description: Número da Agência.
                  tipo:
                    type: string
                    enum: [CORRENTE, POUPANCA]
                    description: Tipo de conta, Corrente ou Poupança.
                  documento_favorecido:
                    type: string
                    maxLength: 14
                    description: Documento do titular da conta.
      responses:
        200:
          description: Requisição processada com sucesso
        400:
          description: Algum dado informado não pôde ser processado. Revise os dados e tente novamente a requisição.
          schema:
            type: object
            properties:
              title:
                type: string
              status:
                type: integer
                format: int32
              path:
                type: string
              message:
                type: string
              errors:
                type: array
                items:
                  type: object
                  properties:
                    object:
                      type: string
                    field:
                      type: string
                    message:
                      type: string

Documento Assinado - Lastro da CCB

swagger: "2.0"
info:
  version: 3.0.0
  title: Envio do lastro da CCB
host: api.staging.scd.giro.tech
basePath: /integration/v3
schemes:
  - https
paths:
  /documents:
    post:
      summary: Enviar Documento da CCB
      description: Realiza o registro do documento da CCB assinado.
      consumes:
        - application/json
      parameters:
        - name: Authorization
          in: header
          type: string
          description: Token de autenicação
          required: true
        - name: Origem
          in: header
          type: string
          description: Originador da operação.
          required: true
        - name: numero_ccb
          in: formData
          type: string
          maxLength: 8
          description: Número da CCB que o documento será vinculado.
          required: true
        - name: conteudo_arquivo
          in: formData
          type: string
          format: base64
          description: Conteúdo do arquivo da CCB assinado, em formato base64.
          required: true
      responses:
        200:
          description: Requisição processada com sucesso
        400:
          description: Algum dado informado não pôde ser processado. Revise os dados e tente novamente a requisição.
          schema:
            type: object
            properties:
              title:
                type: string
              status:
                type: integer
                format: int32
              path:
                type: string
              message:
                type: string
              errors:
                type: array
                items:
                  type: object
                  properties:
                    object:
                      type: string
                    field:
                      type: string
                    message:
                      type: string

Webhook

swagger: "2.0"
info:
  version: 3.0.0
  title: Envio do webhook de confirmação de desembolso realizado para CCBs enviadas e processadas na Giro.Tech.
host: api.staging.scd.giro.tech
basePath: /integration/v3
schemes:
  - https
paths:
  /webhook:
    post:
      summary: Webhook de Desembolso
      description: Envia informações de desembolsos realizados e as CCBs associadas.
      consumes:
        - application/json
      parameters:
        - name: Authorization
          in: header
          type: string
          description: Token de autenticação.
          required: true
        - name: body
          in: body
          description: Dados dos pagamentos e CCBs associadas.
          schema:
            type: object
            properties:
              pagamentos:
                type: array
                items:
                  type: object
                  properties:
                    cpfcnpj:
                      type: string
                      maxLength: 14
                      description: Documento do tomador do crédito.
                    valor_pagamento:
                      type: number
                      format: double
                      description: Valor transferido na transação atual.
                    identificador_transacao:
                      type: string
                      maxLength: 14
                      description: Identificador da transação. Pode ser utilizado como comprovante para o tomador do crédito.
                    id_transacao:
                      type: integer
                      format: int32
                      description: Identificador da Giro para esse pagamento.
                    status:
                      type: string
                      enum:
                        - CONFIRMED
                      description: Enum com o status do pagamento. No momento, a Giro envia somente o webhook para transações confirmadas.
                    conta_bancaria:
                      type: object
                      properties:
                        name:
                          type: string
                          description: Nome do titular da conta bancária.
                        identification:
                          type: string
                          description: Identificação do titular da conta bancária (CPF ou CNPJ).
                        accountType:
                          type: string
                          enum:
                            - CHECKING_ACCOUNT
                            - SAVINGS_ACCOUNT
                          description: Tipo de conta bancária (Corrente ou Poupança).
                        pixKey:
                          type: string
                          description: Chave PIX (se aplicável).
                        pixKeyType:
                          type: string
                          description: Tipo de chave PIX (se aplicável).
                        conta:
                          type: string
                          description: Número da conta bancária.
                        agencia:
                          type: string
                          description: Número da Agência.
                        nome_banco:
                          type: string
                          description: Nome do banco.
                    ccbs:
                      type: array
                      items:
                        type: object
                        properties:
                          originador:
                            type: string
                            maxLength: 14
                            description: ID do originador (origem) que criou a CCB via integração.
                          numero_ccb:
                            type: string
                            maxLength: 8
                            description: Número da CCB.
                          cpf_cnpj_cliente:
                            type: string
                            maxLength: 14
                            description: Documento do tomador do crédito, podendo ser um CPF ou CNPJ.
                          valor:
                            type: number
                            format: double
                            description: Valor transferido referente a essa CCB.
          required: true
      responses:
        200:
          description: Requisição processada com sucesso, webhook entregue
        400:
          description: Requisição não processada, webhook não será entregue novamente 
        500:
          description: Requisição não processada, webhook será entregue novamente após um período