Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Web Services para Registrar Solicitud de Cotización de un Crédito.

Swagger open api macroswagger: '2.0' info: title: "SIFCO_REST_API" version: "1.0" description: "La presente documentación busca detallar los métodos que permite ejecutar este **Web Services**, como es Registrar Solicitud de Cotización de un Crédito en la **Aplicación SIFCO WEB** ." termsOfService: "https://sifco.org/sobre-nosotros/" contact: email: "soporte@sifco.org" license: name: "Apache 2.0" url: "http://www.apache.org/licenses/LICENSE-2.0.html" host: "<SERVER>" schemes: - https - http basePath: /<APPDIR>/rest tags: - name: "CrCotizacion" externalDocs: description: "Manual SIFCO"

DESCRIPCIÓN.

Este Web Service, permite Crear una Solicitud de Crédito de un Cliente registrado en la Aplicación SIFCO WEB, en el se detallan un conjunto de categorías y parámetros como por ejemplo, monto y sucursal, y este devuelve una cotización con valores como inicial, capital, interés, numero de cuotas, capital abonado y demás detalles de incluidos como parte de una Cotización de un Crédito en la Aplicación SIFCO WEB.

Swagger open api macro
swagger: '2.0'
info:
  title: "SIFCO_REST_API"
  version: "1.0"
  termsOfService: "https://sifco.org/sobre-nosotros/"
  contact:
    email: "soporte@sifco.org"
  license:
    name: "Apache 2.0"  
    url: "httpshttp://sifcowww.atlassianapache.netorg/wiki/x/9ISolicenses/LICENSE-2.0.html"
produceshost: "<SERVER>"
schemes:
- application/json paths:- https
 /CrCotizacion: - http
  postbasePath: /<APPDIR>/rest
tags:
- name: "CrCotizacion"
  externalDocs:
 tags:   description: "Manual SIFCO"
   - CrCotizacion
 url: "https://sifco.atlassian.net/wiki/x/9IGt"
produces:
  - application/json
operationIdpaths:
"CrCotizacion"  /CrCotizacion:
    summarypost:
"Registrar Solicitud de Cotización    tags:
        - CrCotizacion
      operationId: "CrCotizacion"
      summary: "Registrar Solicitud de Cotización de un Crédito"
      parameters:
        - in: header
          name: Content-Type
          type: "string"
          required: true
          default: application/json
        - in: header
          name: Authorization
          type: "string"
          required: true
          default: OAuth <Access Token>
        - in: header
          name: GENEXUS-AGENT
          type: "string"
          required: true
          default: SmartDevice Application
        - name: "CrCotizacionInput"
          in: "body"
          required: false
          schema:
            $ref: "#/definitions/CrCotizacionInput"

      responses:
        200:
          description: "Successful operation"
          schema:
            $ref: "#/definitions/CrCotizacionOutput"

        401:
          description: "Not Authenticated"
          schema:
            $ref: "#/definitions/GxJsonError"
        404:
          description: "Not found"
          schema:
            $ref: "#/definitions/GxJsonError"
        400:
          description: "Bad request"
          schema:
            $ref: "#/definitions/GxJsonError"
        500:
          description: "Internal server error"
          schema:
            $ref: "#/definitions/GxJsonError"
security:
  - OAuth2: []
    ApiKeyAuth1: []
securityDefinitions:
  OAuth2:
    type: oauth2
    flow: password
    tokenUrl: https://test.sifco.org/DemoCoopGT/oauth/access_token
    scopes:
      Execute: Permite el método tipo GET
      Insert: Permite el método tipo POST
      Update: Permite el método tipo PUT
      Delete: Permite el método tipo DELETE
      FullControl: Permite el manejo de los Cuatro Métodos GET, POST, PUT,DELETE, sobre el Web Service
  ApiKeyAuth1:
    type: apiKey
    in: header
    name: granttype

definitions:

  CrCotizacionInput:
    properties:
      SucursalElectronica_TipoCreditoID:
        type: "integer"
        format: "int32"
      SucursalElectronica_TipoCredito_SoCrPlazo:
        type: "integer"
        format: "int32"
      Monto:
        type: "number"
        format: "double"
      Referencia:
        type: "string"
  
  CrCotizacionOutput:
    properties:
      PlanPagos:
        description: Cuotas
        type: array
        items:
          $ref: "#/definitions/PlanPagos_EstadoCuenta_SDT.PlanPagos_Cuotas_PlanPagos_Cuota"
  
  PlanPagos_EstadoCuenta_SDT.PlanPagos_Cuotas_PlanPagos_Cuota:
    properties:
      Fecha:
        description: Fecha
        type: "string"
        format: "date"

      CapitalNumeroCuota:
        description: Numero de Cuota de Capital
        type: "integer"
        format: "int32"

      CapitalMonto:
        description: Monto del Capital
        type: "number"
        format: "double"

      CapitalAbonado:
        description: Capital Abonado
        type: "number"
        format: "double"

      CapitaAtrasado:
        description: Capita Atrasado
        type: "string"

      CapitalPagado:
        description: Capital Pagado
        type: "string"

      CapitalSaldo:
        description: Capital Saldo
        type: "number"
        format: "double"

      InteresNumeroCuota:
        description: PlanPNumCuot
        type: "integer"
        format: "int32"

      InteresMonto:
        description: Interés Monto
        type: "number"
        format: "double"

      InteresAbonado:
        description: Interés Abonado
        type: "number"
        format: "double"

      InteresAtrasado:
        description: Interés Atrasado
        type: "string"

      InteresPagado:
        description: Interés Pagado
        type: "string"

      InteresSaldo:
        description: Interés Saldo
        type: "number"
        format: "double"

      OtrosMonto:
        description: Otros Monto
        type: "number"
        format: "double"

      Otros:
        type: array
        items:
          description: OtrosCargos
          $ref: "#/definitions/PlanPagos_EstadoCuenta_SDT.PlanPagos_Cuotas.Otros"


  PlanPagos_EstadoCuenta_SDT.PlanPagos_Cuotas.Otros:
    properties:
      NumeroCuota:
        description: Número de Cuota
        type: "integer"
        format: "int32"

      Monto:
        description: Monto
        type: "number"
        format: "double"

      Abonado:
        description: Abonado
        type: "number"
        format: "double"

      Atrasado:
        description: Atrasado
        type: "string"

      Pagado:
        description: Pagado
        type: "string"

      Saldo:
        description: Código de Saldo
        type: "integer"
        format: "int32"

      SaldoDescripcion:
        description: Descripción
        type: "string"


    x-gx-level: "PlanPagos_EstadoCuenta_SDT.PlanPagos_Cuotas"
 
  GxJsonError:
    properties:
      error:
        $ref: "#/definitions/GxJsonError.error"

  GxJsonError.error:
    properties:
      code:
        description: Código de Error
        type: "string"

      message:
        description: Mensaje de Error
        type: "string"


    x-gx-level: "GxJsonError"
        format: "int32"
      SucursalElectronica_TipoCredito_SoCrPlazo:
        type: "integer"
        format: "int32"
      Monto:
        type: "number"
        format: "double"
      Referencia:
        type: "string"
  
  CrCotizacionOutput:
    properties:
      PlanPagos:
        description: Cuotas
        type: array
        items:
          $ref: "#/definitions/PlanPagos_EstadoCuenta_SDT.PlanPagos_Cuotas_PlanPagos_Cuota"
  
  PlanPagos_EstadoCuenta_SDT.PlanPagos_Cuotas_PlanPagos_Cuota:
    properties:
      Fecha:
        description: Fecha
        type: "string"
        format: "date"

      CapitalNumeroCuota:
        description: Numero de Cuota de Capital
        type: "integer"
        format: "int32"

      CapitalMonto:
        description: Monto del Capital
        type: "number"
        format: "double"

      CapitalAbonado:
        description: Capital Abonado
        type: "number"
        format: "double"

      CapitaAtrasado:
        description: Capita Atrasado
        type: "string"

      CapitalPagado:
        description: Capital Pagado
        type: "string"

      CapitalSaldo:
        description: Capital Saldo
        type: "number"
        format: "double"

      InteresNumeroCuota:
        description: PlanPNumCuot
        type: "integer"
        format: "int32"

      InteresMonto:
        description: Interés Monto
        type: "number"
        format: "double"

      InteresAbonado:
        description: Interés Abonado
        type: "number"
        format: "double"

      InteresAtrasado:
        description: Interés Atrasado
        type: "string"

      InteresPagado:
        description: Interés Pagado
        type: "string"

      InteresSaldo:
        description: Interés Saldo
        type: "number"
        format: "double"

      OtrosMonto:
        description: Otros Monto
        type: "number"
        format: "double"

      Otros:
        type: array
        items:
          description: OtrosCargos
          $ref: "#/definitions/PlanPagos_EstadoCuenta_SDT.PlanPagos_Cuotas.Otros"


  PlanPagos_EstadoCuenta_SDT.PlanPagos_Cuotas.Otros:
    properties:
      NumeroCuota:
        description: Número de Cuota
        type: "integer"
        format: "int32"

      Monto:
        description: Monto
        type: "number"
        format: "double"

      Abonado:
        description: Abonado
        type: "number"
        format: "double"

      Atrasado:
        description: Atrasado
        type: "string"

      Pagado:
        description: Pagado
        type: "string"

      Saldo:
        description: Código de Saldo
        type: "integer"
        format: "int32"

      SaldoDescripcion:
        description: Descripción
        type: "string"


    x-gx-level: "PlanPagos_EstadoCuenta_SDT.PlanPagos_Cuotas"
 
  GxJsonError:
    properties:
      error:
        $ref: "#/definitions/GxJsonError.error"

  GxJsonError.error:
    properties:
      code:
        description: Código de Error
        type: "string"

      message:
        description: Mensaje de Error
        type: "string"


    x-gx-level: "GxJsonError"

RELACIONES ENTRE EL MODELO DE DATOS DE ESTE WEB SERVICE, Y EL RESTO DEL API’s RESTful DE LA APLICACIÓN SIFCO WEB.

Modelo de Datos de este Web Service

Web Service a Constantes del Sistema Relacionados

CrCotizacionOutput

>PlanPagos_EstadoCuenta_SDT.PlanPagos_Cuotas_PlanPagos_Cuota

>PlanPagos_EstadoCuenta_SDT.PlanPagos_Cuotas.Otros

Saldo

TApSaldos

EJEMPLOS DE REQUEST Y RESPONSE, PARA LOS SERVICIOS RESTful BAJO PROTOCOLO HTTP.

A continuación se muestra una tabla con un ejemplo de una Solicitud y un Respuesta para este Web Service.

METODO POST

Este método para este Web Service en especifico permite crear una Solicitud de Crédito de un Cliente registrado en la Aplicación SIFCO WEB.

El siguiente ejemplo permite crear una Solicitud de Crédito de un Cliente en la Aplicación SIFCO WEB.

Tipo de Mensaje HTTP

Ejemplo

REQUEST

URL:

Code Block
languagehtml
https://test.sifco.org/democoopgt/rest/CrCotizacion

HEADERS

Code Block
languagejson
content-type: application/json
authorization: OAuth f2a9ec34-cf83-46f5-8862-f78........
genexus-agent: SmartDevice Application

BODY:

Code Block
languagejson
{
  "SucursalElectronica_TipoCreditoID": 1,
  "SucursalElectronica_TipoCredito_SoCrPlazo": 6,
  "Monto": 100000,
  "Referencia": "REF"
}

200 (Successful operation)

Operación Exitosa

Code Block
languagejson
{
  "PlanPagos": [
    {
      "Fecha": "2019-10-31",
      "CapitalNumeroCuota": 1,
      "CapitalMonto": "15952.26",
      "CapitalAbonado": "0.00",
      "CapitaAtrasado": "N",
      "CapitalPagado": "N",
      "CapitalSaldo": "15952.26",
      "InteresNumeroCuota": 1,
      "InteresMonto": "1750.00",
      "InteresAbonado": "0.00",
      "InteresAtrasado": "N",
      "InteresPagado": "N",
      "InteresSaldo": "1750.00",
      "OtrosMonto": "0.00"
    },
    {
      "Fecha": "2019-11-30",
      "CapitalNumeroCuota": 2,
      "CapitalMonto": "16231.42",
      "CapitalAbonado": "0.00",
      "CapitaAtrasado": "N",
      "CapitalPagado": "N",
      "CapitalSaldo": "16231.42",
      "InteresNumeroCuota": 2,
      "InteresMonto": "1470.84",
      "InteresAbonado": "0.00",
      "InteresAtrasado": "N",
      "InteresPagado": "N",
      "InteresSaldo": "1470.84",
      "OtrosMonto": "0.00"
    },
    {
      "Fecha": "2019-12-31",
      "CapitalNumeroCuota": 3,
      "CapitalMonto": "16515.47",
      "CapitalAbonado": "0.00",
      "CapitaAtrasado": "N",
      "CapitalPagado": "N",
      "CapitalSaldo": "16515.47",
      "InteresNumeroCuota": 3,
      "InteresMonto": "1186.79",
      "InteresAbonado": "0.00",
      "InteresAtrasado": "N",
      "InteresPagado": "N",
      "InteresSaldo": "1186.79",
      "OtrosMonto": "0.00"
    },
    {
      "Fecha": "2020-01-31",
      "CapitalNumeroCuota": 4,
      "CapitalMonto": "16804.50",
      "CapitalAbonado": "0.00",
      "CapitaAtrasado": "N",
      "CapitalPagado": "N",
      "CapitalSaldo": "16804.50",
      "InteresNumeroCuota": 4,
      "InteresMonto": "897.76",
      "InteresAbonado": "0.00",
      "InteresAtrasado": "N",
      "InteresPagado": "N",
      "InteresSaldo": "897.76",
      "OtrosMonto": "0.00"
    },
    {
      "Fecha": "2020-02-29",
      "CapitalNumeroCuota": 5,
      "CapitalMonto": "17098.57",
      "CapitalAbonado": "0.00",
      "CapitaAtrasado": "N",
      "CapitalPagado": "N",
      "CapitalSaldo": "17098.57",
      "InteresNumeroCuota": 5,
      "InteresMonto": "603.69",
      "InteresAbonado": "0.00",
      "InteresAtrasado": "N",
      "InteresPagado": "N",
      "InteresSaldo": "603.69",
      "OtrosMonto": "0.00"
    },
    {
      "Fecha": "2020-03-31",
      "CapitalNumeroCuota": 6,
      "CapitalMonto": "17397.78",
      "CapitalAbonado": "0.00",
      "CapitaAtrasado": "N",
      "CapitalPagado": "N",
      "CapitalSaldo": "17397.78",
      "InteresNumeroCuota": 6,
      "InteresMonto": "304.46",
      "InteresAbonado": "0.00",
      "InteresAtrasado": "N",
      "InteresPagado": "N",
      "InteresSaldo": "304.46",
      "OtrosMonto": "0.00"
    }
  ]
}

400 (Bad Request).

Solicitud Errada

Code Block
languagejson
{
  "error": {
    "code": "string",
    "message": "string"
  }
}

401 (This service needs an Authorization Header)

(No Autenticado, asociado normalmente a que no se respetaron las cabeceras obligatorias para el consumo de este Web Service, para mayores detalles consultar (Configuración de Seguridad para Obtener Token de Acceso y Consumir de los Web Services) ).

Code Block
languagejson
{
  "error": {
    "code":"0",
    "message":"This service needs an Authorization Header"
  }
}
{
  "PlanPagos": []
}

404 (Not Found).

Respuesta Vacía (Web Service, no encontrado)

500 (Internal Server Error)

(Error Interno del Servidor de las API’s REST).

Code Block
languagejson
{
  "error": {
    "code": "string",
    "message": "string"
  }
}

Info

INFORMACIÓN

Para identificar el MENSAJE DE ERROR remitirse a la pagina de (Listado de Mensajes), donde se describe el listado de mensajes que arroja las API’s REST de la Aplicación SIFCO WEB, con su respectiva Descripción.

Note

NO DEBE OLVIDAR

NO olvide tomar en cuenta para el uso de este Web Service, el Flujo de Trabajo descrito en Web Services de Créditos, dado a que en caso de no seguirlo al pie de la letra puede generar errores inesperados en la ejecución.

Note

RESPETE LOS ENCABEZADOS OBLIGATORIOS para que pueda consumir el WEB SERVICE respectivo.

Code Block
languagejson
Content-Type: application/json
Authorization: OAuth f2a9ec34-cf83-46f5-8862-f78ac03670d1!171380a787a9152688ab61a94d66e0eb77...
GENEXUS-AGENT: SmartDevice Application
Warning

EN CASO DE ERROR HTTP 401 (Not Authenticated)

Por favor validar que esta colocando los Encabezados Adecuadamente, y de persistir el problema dirigirse a la Pagina (Configuración de Seguridad para Obtener Token de Acceso y Consumir de los Web Services), para generar nuevamente su Token de Acceso, y/o verificar problemas con su acceso al API REST.

Live Search
spaceKeyDOC
placeholderBúsqueda en esta Pagina
typepage

Enlaces Relevantes

Artículos Relacionados

Filter by label (Content by label)
showLabelsfalse
max5
showSpacefalse
cqllabel in ( "informacion" , "tecnica" , "api" , "rest" , "web" , "services" , "creditos" , "cotizacion" , "solicitud" ) and type = "page" and space = "DOC"

Artículos Actualizados Recientemente

Recent updates
typespage
max5
spacesDOC
themeconcise
hideHeadingtrue
Change History