Versions Compared

Key

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

Web Services para Registrar o Modificar los parámetros de un Cliente.

Swagger open api macro

DESCRIPCIÓN.

Este Web Service, permite el ingreso al sistemas de clientes (asociados / socios), permitiendo cargar solo los Datos Generales. Ademas de quedar registrado en la Aplicación SIFCO WEB, como un cliente. Es importante acotar que para la correcta carga de todos los parámetros de un cliente se deben consumir todos los Web Services de Consulta de Categorías Generales, dado a que ellos les permitan conocer todas las diferentes opciones de parámetros de clientes registrados 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: "http://www.apache.org/licenses/LICENSE-2.0.html"
host: "<SERVER>"
schemes:
  - https
  - http
basePath: /<APPDIR>/rest
tags:
- name: "TClClientes"
  externalDocs:
    description: "Manual SIFCO"
    url: "https://sifco.atlassian.net/wiki/x/BQDU"
produces:
  - application/json
paths:
  /TClClientes/{ClCliCod}:
    get:
      tags:
        - TClClientes
      operationId: "GetTClClientes"
      summary: "Consultar Parámetros de un Cliente en el Sistema"
      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: "ClCliCod"
          in: "path"
          description: "Código del Cliente"
          required: true
          type: "integer"
          format: "int64"
      
      responses:
        200:
          description: "Successful operation"
          schema:
            $ref: "#/definitions/TClClientes"
        400:
          description: "Bad request"
          schema:
            $ref: "#/definitions/GxJsonError"
        401:
          description: "Not Authenticated"
          schema:
            $ref: "#/definitions/GxJsonError"
        404:
          description: "Data with the specified key could not be found"
          schema:
            $ref: "#/definitions/GxJsonError"
        500:
          description: "Internal server error"
          schema:
            $ref: "#/definitions/GxJsonError"

    post:
      tags:
        - TClClientes
      operationId: "InsertTClClientes"
      summary: "Modificar Parámetros de un Cliente en el Sistema"
      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: "ClCliCod"
          in: "path"
          description: "Código del Cliente"
          required: true
          type: "integer"
          format: "int64"
        - name: "TClClientes"
          in: "body"
          description: "SDT of TClClientes"
          required: false
          schema:
            $ref: "#/definitions/TClClientes"

      responses:
        200:
          description: "Successful operation"
          schema:
            $ref: "#/definitions/TClClientes"
        201:
          description: "Created"
          schema:
            $ref: "#/definitions/TClClientes"
        400:
          description: "Bad request"
          schema:
            $ref: "#/definitions/GxJsonError"
        401:
          description: "Not Authenticated"
          schema:
            $ref: "#/definitions/GxJsonError"
        404:
          description: "Data with the specified key could not be found"
          schema:
            $ref: "#/definitions/GxJsonError"
        500:
          description: "Internal server error"
          schema:
            $ref: "#/definitions/GxJsonError"

    put:
      tags:
        - TClClientes
      operationId: "UpdateTClClientes"
      summary: "Actualizar Parámetros de un Cliente en el Sistema"
      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: "ClCliCod"
          in: "path"
          description: "Código del Cliente"
          required: true
          type: "integer"
          format: "int64"
        - name: "TClClientes"
          in: "body"
          description: "SDT of TClClientes"
          required: true
          schema:
            $ref: "#/definitions/TClClientes"
      
      responses:
        200:
          description: "Successful operation"
          schema:
            $ref: "#/definitions/TClClientes"
        400:
          description: "Bad request"
          schema:
            $ref: "#/definitions/GxJsonError"
        401:
          description: "Not Authenticated"
          schema:
            $ref: "#/definitions/GxJsonError"
        404:
          description: "Not found"
          schema:
            $ref: "#/definitions/GxJsonError"
        409:
          description: "TClClientes was changed"
        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:

  TClClientes:
    properties:
      ClCliCod:
        description: Código del Cliente
        type: "integer"
        format: "int64"

      ClTipPersona:
        description: Tipo de Persona
        type: "string"

      ApTidCod:
        description: Tipo de Identificación
        type: "integer"
        format: "int32"

      ApTidDes:
        description: Nombre de Identificación
        type: "string"

      ApTidForma:
        description: Formato de Identificación
        type: "string"

      ClPaiCod:
        description: País de Emisión Documento
        type: "integer"
        format: "int64"

      ClPaiNom:
        description: Nombre del País
        type: "string"

      ClRegCod:
        description: Código Región Emisión Identificación
        type: "integer"
        format: "int64"

      ClRegDes:
        description: Descripción de Región
        type: "string"

      ClDepCod:
        description: Departamento Emisión Identificación
        type: "integer"
        format: "int64"

      ClDepDes:
        description: Nombre del Departamento
        type: "string"

      ClMunCod:
        description: Código Municipio Emisión Ident
        type: "integer"
        format: "int64"

      ClMunDes:
        description: Nombre Municipio
        type: "string"

      ClNumID:
        description: Número de Identificación Cliente
        type: "string"

      ClPNombre:
        description: Primer Nombre
        type: "string"

      ClSNombre:
        description: Segundo Nombre
        type: "string"

      ClPApellido:
        description: Primer Apellido
        type: "string"

      ClSApellido:
        description: Segundo Apellido
        type: "string"

      ClApeCasada:
        description: Apellido de Casada
        type: "string"

      ClSexo:
        description: Sexo Cliente
        type: "string"

      ClFNacimiento:
        description: Fecha de Nacimiento
        type: "string"
        format: "date"

      ClEstCivil:
        description: Estado Civil
        type: "integer"
        format: "int32"

      ClEdad:
        description: Edad
        type: "integer"
        format: "int32"

      ClEdadRango:
        description: Rango de Edad
        type: "string"

      ClNomJuridico:
        description: Nombre de Empresa o Sociedad
        type: "string"

      ClRepLegal:
        description: Nombre del Representante Legal
        type: "string"

      ClRegMercantil:
        description: Número de Registro Mercantil
        type: "string"

      ClFecConstitucion:
        description: Fecha de Constitución
        type: "string"
        format: "date"

      GrAfCodigo:
        description: Código del Grupo de Afinidad
        type: "integer"
        format: "int64"

      GrAfDescripcion:
        description: Descripción del Grupo Afinidad
        type: "string"

      ClIdeTrib:
        description: Número de Identificación Tributaria
        type: "string"

      ApPrmCod:
        description: Código Promotor
        type: "string"

      ApPrmNombre:
        description: Nombre
        type: "string"

      ClImpuestos:
        description: Afecto a Impuestos
        type: "string"

      ClFIngreso:
        description: Fecha de Ingreso al Sistema
        type: "string"
        format: "date"

      ClEstado:
        description: Estado del Cliente
        type: "string"

      ClFecInactivacion:
        description: Fecha de Inactivación
        type: "string"
        format: "date"

      ClFotoArchivo:
        description: Nombre Archivo de Foto
        type: "string"

      ClNomSocio:
        description: Nombre del Cliente
        type: "string"

      RefPerUlt:
        description: Ultima Referencia Personal
        type: "integer"
        format: "int32"

      RefSegUlt:
        description: Ultima Referencia de Seguro
        type: "integer"
        format: "int32"

      ClReferencia:
        description: Referencia
        type: "string"

      ClSoliAsigna:
        description: No. Solicitud Autorizada
        type: "integer"
        format: "int64"

      ClApSucCod:
        description: Código de Agencia
        type: "integer"
        format: "int32"

      ClATMPin:
        description: Clave ATM Pin
        type: "string"

      ApActCod:
        description: Código de actividad económica
        type: "integer"
        format: "int32"

      ApActDes:
        description: Descripción de actividad económica
        type: "string"

      ClMensajeAdvertencia:
        description: Mensaje de advertencia
        type: "string"

      ClFirma:
        description: Firma del Cliente
        type: "string"

      ClHuella:
        description: Huella Digital
        type: "string"

      ClTipoHuella:
        description: Mano y dedo utilizado para autenticación
        type: "integer"
        format: "int32"

      ClPortalFechaActualizacion:
        description: Ultima fecha en la que el cliente actualizó sus datos
        type: "string"
        format: "date"

      ClExcluirCorreosElectronicos:
        description: Excluir de Correos Electrónicos
        type: "integer"
        format: "int32"

      ClFechaModificacion:
        description: Ultima fecha de modificación de datos del cliente
        type: "string"
        format: "date"

      ClUsuarioModificacionCodigo:
        description: Código del usuario que realizó la modificación
        type: "string"

      ClUsuarioModificacionNombre:
        description: Nombre del usuario que realizó la modificación
        type: "string"

      ClRazonListaNegra:
        description: Razón por la que ingresa o sale de la lista negra
        type: "string"

      ClOtraNacionalidad:
        description: Cliente tiene otra nacionalidad
        type: "boolean"

      ClNacionalidad1Codigo:
        description: Código de nacionalidad 1
        type: "string"

      ClNacionalidad1Descripcion:
        description: Nombre de nacionalidad 1
        type: "string"

      ClNacionalidad2Codigo:
        description: Código de nacionalidad 1
        type: "string"

      ClNacionalidad2Descripcion:
        description: Nombre de nacionalidad 2
        type: "string"

      ClCondicionMigratoria:
        description: Condición migratoria
        type: "integer"
        format: "int32"

      gx_md5_hash:
        description: gx_md5_hash is an identifier for a specific version of a resource, it is used for optimistic concurrency check. It is required for update and delete operations and  ignored on insert.
        type: "string"


    required:
      - ClCliCod
 
  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.

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 la Creación de Clientes en la Aplicación SIFCO WEB.

El siguiente ejemplo inserta un cliente en la Aplicación SIFCO WEB.

Tipo de Mensaje HTTP

Ejemplo

REQUEST

URL:

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

HEADERS

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

BODY:

Code Block
languagejson
{
    "ClCliCod": 3,
    "ClTipPersona": "N",
    "ApTidCod": 1,
    "ApTidDes": "DPI",
    "ApTidForma": "9999 99999 9999",
    "ClPaiCod": 320,
    "ClPaiNom": "GUATEMALA",
    "ClRegCod": 1,
    "ClRegDes": "Guatemala",
    "ClDepCod": 1,
    "ClDepDes": "Guatemala",
    "ClMunCod": 0,
    "ClMunDes": "",
    "ClNumID": "3001 35874 0101",
    "ClPNombre": "ANA",
    "ClSNombre": "MARIA DEL CARMEN MUJER",
    "ClPApellido": "CIFUENTES",
    "ClSApellido": "GONZALEZ",
    "ClApeCasada": "",
    "ClSexo": "F",
    "ClFNacimiento": "1996-04-01",
    "ClEstCivil": 1,
    "ClEdad": 23,
    "ClEdadRango": "De 21 a 30 años",
    "ClNomJuridico": "",
    "ClRepLegal": "",
    "ClRegMercantil": "",
    "ClFecConstitucion": "0000-00-00",
    "GrAfCodigo": 4,
    "GrAfDescripcion": "GRUPO ZONA 7",
    "ClIdeTrib": "C/F",
    "ApPrmCod": "agomez",
    "ApPrmNombre": "Anibal Gomez",
    "ClImpuestos": "S",
    "ClFIngreso": "2016-04-19",
    "ClEstado": "A",
    "ClFecInactivacion": "0000-00-00",
    "ClFotoArchivo": "PublicTempStorage/multimedia/foto01_a22b159c858a4dceadfb17128abe99ac.JPG",
    "ClNomSocio": "ANA MARIA DEL CARMEN MUJER CIFUENTES GONZALEZ",
    "RefPerUlt": 4,
    "RefSegUlt": 0,
    "ClReferencia": "1234",
    "ClSoliAsigna": 0,
    "ClApSucCod": 1,
    "ClATMPin": "",
    "ApActCod": 6,
    "ApActDes": "PROFESOR",
    "ClMensajeAdvertencia": "",
    "ClFirma": "PublicTempStorage/multimedia/pulgar_1e0e1be95b69465588651bbdb2254fac.jpg",
    "ClHuella": "",
    "ClTipoHuella": 0,
    "ClPortalFechaActualizacion": "0000-00-00",
    "ClExcluirCorreosElectronicos": 0,
    "ClFechaModificacion": "2018-10-26",
    "ClUsuarioModificacionCodigo": "admin",
    "ClUsuarioModificacionNombre": "admin",
    "ClRazonListaNegra": "",
    "ClOtraNacionalidad": false,
    "ClNacionalidad1Codigo": "GTM",
    "ClNacionalidad1Descripcion": "GUATEMALA",
    "ClNacionalidad2Codigo": "",
    "ClNacionalidad2Descripcion": "",
    "ClCondicionMigratoria": 2,
    "gx_md5_hash": "15B28FE875F351FB93F8B4DBB9046EA9"
}

200 (Successful operation)

Operación Exitosa

Code Block
languagejson
{
    "ClCliCod": 3,
    "ClTipPersona": "N",
    "ApTidCod": 1,
    "ApTidDes": "DPI",
    "ApTidForma": "9999 99999 9999",
    "ClPaiCod": 320,
    "ClPaiNom": "GUATEMALA",
    "ClRegCod": 1,
    "ClRegDes": "Guatemala",
    "ClDepCod": 1,
    "ClDepDes": "Guatemala",
    "ClMunCod": 0,
    "ClMunDes": "",
    "ClNumID": "3001 35874 0101",
    "ClPNombre": "ANA",
    "ClSNombre": "MARIA DEL CARMEN MUJER",
    "ClPApellido": "CIFUENTES",
    "ClSApellido": "GONZALEZ",
    "ClApeCasada": "",
    "ClSexo": "F",
    "ClFNacimiento": "1996-04-01",
    "ClEstCivil": 1,
    "ClEdad": 23,
    "ClEdadRango": "De 21 a 30 años",
    "ClNomJuridico": "",
    "ClRepLegal": "",
    "ClRegMercantil": "",
    "ClFecConstitucion": "0000-00-00",
    "GrAfCodigo": 4,
    "GrAfDescripcion": "GRUPO ZONA 7",
    "ClIdeTrib": "C/F",
    "ApPrmCod": "agomez",
    "ApPrmNombre": "Anibal Gomez",
    "ClImpuestos": "S",
    "ClFIngreso": "2016-04-19",
    "ClEstado": "A",
    "ClFecInactivacion": "0000-00-00",
    "ClFotoArchivo": "PublicTempStorage/multimedia/foto01_a22b159c858a4dceadfb17128abe99ac.JPG",
    "ClNomSocio": "ANA MARIA DEL CARMEN MUJER CIFUENTES GONZALEZ",
    "RefPerUlt": 4,
    "RefSegUlt": 0,
    "ClReferencia": "1234",
    "ClSoliAsigna": 0,
    "ClApSucCod": 1,
    "ClATMPin": "",
    "ApActCod": 6,
    "ApActDes": "PROFESOR",
    "ClMensajeAdvertencia": "",
    "ClFirma": "PublicTempStorage/multimedia/pulgar_1e0e1be95b69465588651bbdb2254fac.jpg",
    "ClHuella": "",
    "ClTipoHuella": 0,
    "ClPortalFechaActualizacion": "0000-00-00",
    "ClExcluirCorreosElectronicos": 0,
    "ClFechaModificacion": "2018-10-26",
    "ClUsuarioModificacionCodigo": "admin",
    "ClUsuarioModificacionNombre": "admin",
    "ClRazonListaNegra": "",
    "ClOtraNacionalidad": false,
    "ClNacionalidad1Codigo": "GTM",
    "ClNacionalidad1Descripcion": "GUATEMALA",
    "ClNacionalidad2Codigo": "",
    "ClNacionalidad2Descripcion": "",
    "ClCondicionMigratoria": 2,
    "gx_md5_hash": "15B28FE875F351FB93F8B4DBB9046EA9"
}

201 (Created)

(Registro Creado con Éxito)

Code Block
languagejson
{
    "ClCliCod": 3,
    "ClTipPersona": "N",
    "ApTidCod": 1,
    "ApTidDes": "DPI",
    "ApTidForma": "9999 99999 9999",
    "ClPaiCod": 320,
    "ClPaiNom": "GUATEMALA",
    "ClRegCod": 1,
    "ClRegDes": "Guatemala",
    "ClDepCod": 1,
    "ClDepDes": "Guatemala",
    "ClMunCod": 0,
    "ClMunDes": "",
    "ClNumID": "3001 35874 0101",
    "ClPNombre": "ANA",
    "ClSNombre": "MARIA DEL CARMEN MUJER",
    "ClPApellido": "CIFUENTES",
    "ClSApellido": "GONZALEZ",
    "ClApeCasada": "",
    "ClSexo": "F",
    "ClFNacimiento": "1996-04-01",
    "ClEstCivil": 1,
    "ClEdad": 23,
    "ClEdadRango": "De 21 a 30 años",
    "ClNomJuridico": "",
    "ClRepLegal": "",
    "ClRegMercantil": "",
    "ClFecConstitucion": "0000-00-00",
    "GrAfCodigo": 4,
    "GrAfDescripcion": "GRUPO ZONA 7",
    "ClIdeTrib": "C/F",
    "ApPrmCod": "agomez",
    "ApPrmNombre": "Anibal Gomez",
    "ClImpuestos": "S",
    "ClFIngreso": "2016-04-19",
    "ClEstado": "A",
    "ClFecInactivacion": "0000-00-00",
    "ClFotoArchivo": "PublicTempStorage/multimedia/foto01_a22b159c858a4dceadfb17128abe99ac.JPG",
    "ClNomSocio": "ANA MARIA DEL CARMEN MUJER CIFUENTES GONZALEZ",
    "RefPerUlt": 4,
    "RefSegUlt": 0,
    "ClReferencia": "1234",
    "ClSoliAsigna": 0,
    "ClApSucCod": 1,
    "ClATMPin": "",
    "ApActCod": 6,
    "ApActDes": "PROFESOR",
    "ClMensajeAdvertencia": "",
    "ClFirma": "PublicTempStorage/multimedia/pulgar_1e0e1be95b69465588651bbdb2254fac.jpg",
    "ClHuella": "",
    "ClTipoHuella": 0,
    "ClPortalFechaActualizacion": "0000-00-00",
    "ClExcluirCorreosElectronicos": 0,
    "ClFechaModificacion": "2018-10-26",
    "ClUsuarioModificacionCodigo": "admin",
    "ClUsuarioModificacionNombre": "admin",
    "ClRazonListaNegra": "",
    "ClOtraNacionalidad": false,
    "ClNacionalidad1Codigo": "GTM",
    "ClNacionalidad1Descripcion": "GUATEMALA",
    "ClNacionalidad2Codigo": "",
    "ClNacionalidad2Descripcion": "",
    "ClCondicionMigratoria": 2,
    "gx_md5_hash": "15B28FE875F351FB93F8B4DBB9046EA9"
}

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"
  }
}

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 Clientes, 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" , "clientes" ) and type = "page" and space = "DOC"

Artículos Actualizados Recientemente

Recent updates
typespage
max5
spacesDOC
themeconcise
hideHeadingtrue
Change History