Versions Compared

Key

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

Web Services para Registrar o Modificar las Direcciones de un Cliente.

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 o Modificar direcciones de un cliente 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: "TClDirecciones" externalDocs: description: "Manual SIFCO" url: "https://sifco.atlassian.net/wiki/x/GQDV" produces: - application/json paths: /TClDirecciones/{ClCliCod}: get: tags: - TClDirecciones operationId: "GetTClDirecciones" summary: "Consultar las Direcciones de un Cliente en el Sistema" parameters

DESCRIPCIÓN.

Este Web Service, permite el ingreso al sistemas de clientes (asociados / socios), permitiendo cargar solo las diferentes tipos de direcciones del cliente con sus detalles respectivos, que ya haya sido creado a través de el Web Service (TClClientes). 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: "TClDirecciones"
  externalDocs:
    description: "Manual SIFCO"
    url: "https://sifco.atlassian.net/wiki/x/GQDV"
produces:
  - application/json
paths:
  /TClDirecciones/{ClCliCod}:
    get:
      tags:
        - in:TClDirecciones
 header     operationId: "GetTClDirecciones"
      summary: "Consultar las Direcciones 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/TClDirecciones"
        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:
        - TClDirecciones
      operationId: "InsertTClDirecciones"
      summary: "Insertar las Direcciones 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: "TClDirecciones"
          in: "body"
          description: "SDT of TClDirecciones"
          required: false
          schema:
            $ref: "#/definitions/TClDirecciones"

      responses:
        200:
          description: "Successful operation"
          schema:
            $ref: "#/definitions/TClDirecciones"
        201:
          description: "Created"
          schema:
            $ref: "#/definitions/TClDirecciones"
        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:
        - TClDirecciones
      operationId: "UpdateTClDirecciones"
      summary: "Actualizar las Direcciones 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: "TClDirecciones"
          in: "body"
          description: "SDT of TClDirecciones"
          required: true
          schema:
            $ref: "#/definitions/TClDirecciones"
      
      responses:
        200:
          description: "Successful operation"
          schema:
            $ref: "#/definitions/TClDirecciones"
        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: "TClDirecciones was changed"
        500:
          description: "Internal server error"
          schema:
            $ref: "#/definitions/GxJsonError"

    delete:
      tags:
        - TClDirecciones
      operationId: "DeleteTClDirecciones"
      summary: "Eliminar las Direcciones 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/TClDirecciones"
        204:
          description: "Successful operation"
          schema:
            $ref: "#/definitions/TClDirecciones"
        400:
          description: "Bad request"
          schema:
            $ref: "#/definitions/GxJsonError"
        401:
          description: "Not Authenticated"
          schema:
            $ref: "#/definitions/GxJsonError"
        404:
          description: "Not found"
          schema:
    
          schema:
            $ref: "#/definitions/GxJsonError"
        401:
          description: "Not Authenticated"
          schema:
            $ref: "#/definitions/GxJsonError"
        404:
          description: "Not found"
          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:

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

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

      DirCorreE:
        description: Correo Electrónico
        type: "string"

      DirCorreE2:
        description: Correo Electrónico Alternativo
        type: "string"

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

      DirUlt:
        description: Ultimo Correlativo Direcciones
        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"

      Level1:
        $ref: "#/definitions/TClDirecciones.Level1Item"

    required:
      - ClCliCod

  TClDirecciones.Level1Item:
    properties:
      DirCor:
        description: Correlativo de Dirección
        type: "integer"
        format: "int32"

      DirTipo:
        description: Tipo de Dirección
        type: "integer"
        format: "int32"

      DirDireccion:
        description: Dirección
        type: "string"

      DirPaiCod:
        description: Código País dirección
        type: "integer"
        format: "int64"

      DirPaiNom:
        description: Nombre País
        type: "string"

      DirRegCod:
        description: Código Región Dirección
        type: "integer"
        format: "int64"

      DirRegDes:
        description: Descripción Región
        type: "string"

      DirDepCod:
        description: Código Departamento Dirección
        type: "integer"
        format: "int64"

      DirDepDes:
        description: Descripción Departamento
        type: "string"

      DirMunCod:
        description: Código Municipio Dirección
        type: "integer"
        format: "int64"

      DirMunDes:
        description: Descripción Municipio
        type: "string"

      DirCodPostal:
        description: Código Postal
        type: "string"

      DirGeolocalizacion:
        description: Geolocalización
        type: "string"

      DirNombreEmpresa:
        description: Nombre de la empresa donde labora
        type: "string"

      DirPuesto:
        description: Puesto en la empresa
        type: "string"

      DirDirDespliegue:
        description: Despliegue de Dirección
        type: "string"

      DirActCodEmpresa:
        description: Código actividad económica empresa
        type: "integer"
        format: "int32"

      DirActDesEmpresa:
        description: Descripción actividad económica empresa
        type: "string"


    required:
      - DirCor
    x-gx-level: "TClDirecciones"

  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
https://test.sifco.org/democoopgt/rest/tcldirecciones/3

HEADERS

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

BODY:

Code Block
languagejson
{
  "ClCliCod": "3",
  "ClNomSocio": "ANA MARIA DEL CARMEN MUJER CIFUENTES GONZALEZ",
  "DirCorreE": "ocalderon@sifco.org",
  "DirCorreE2": "",
  "ClExcluirCorreosElectronicos": 0,
  "DirUlt": 3,
  "Level1": [
       
$ref: "#/definitions/GxJsonError"
 {
      
500
"DirCor": 1,
      
description
"DirTipo": 
"Internal
1,
server
 
error"
     "DirDireccion": "COLONIA 
GUMARKAJ",
  
schema:
    "DirPaiCod": 320,
      
$ref
"DirPaiNom": "
#/definitions/GxJsonError
GUATEMALA",
  
security:
   
-
 
OAuth2
"DirRegCod": 
[]
7,
    
ApiKeyAuth1:
 
[]
 
securityDefinitions
"DirRegDes": "Quiché",
 
OAuth2:
     
type
"DirDepCod": 
oauth2
1,
    
flow:
 
password tokenUrl: https://test.sifco.org/DemoCoopGT/oauth/access_token scopes:
 "DirDepDes": "Santa Cruz el Quiche",
      
Execute
"DirMunCod": 
Permite
0,
el
 
método
 
tipo
 
GET
   "DirMunDes": "",
  
Insert:
 
Permite
 
el
 
método
 
tipo POST
"DirCodPostal": "",
      
Update
"DirGeolocalizacion": 
Permite
"",
el
 
método
 
tipo
 
PUT
   "DirNombreEmpresa": "",
  
Delete:
 
Permite
 
el
 
método
 
tipo DELETE
"DirPuesto": "",
      
FullControl
"DirDirDespliegue": 
Permite el manejo de los Cuatro Métodos GET, POST, PUT,DELETE, sobre el Web Service ApiKeyAuth1:
"COLONIA GUMARKAJ Santa Cruz el Quiche GUATEMALA",
      "DirActCodEmpresa": 0,
   
type:
 
apiKey
  "DirActDesEmpresa": ""
 
in:
 
header
     
name:
 
granttype
},
 
definitions:
    
TClDirecciones:
   {
 
properties:
     "DirCor": 2,
ClCliCod:
      "DirTipo": 2,
 
description:
 
Código
 
del
 
Cliente
  "DirDireccion": "Guatemala",
     
type:
 "
integer
DirPaiCod": 320,
      
format
"DirPaiNom": "
int64
GUATEMALA",
      
ClNomSocio
"DirRegCod": 10,
      
description
"DirRegDes": 
Nombre
"Izabal",
del
 
Cliente
     
type: "string"
"DirDepCod": 2,
      
DirCorreE
"DirDepDes": "Los Amates",
      
description
"DirMunCod": 
Correo
0,
Electrónico
      
type
"DirMunDes": "
string
",
      
DirCorreE2
"DirCodPostal": "",
      
description: Correo Electrónico Alternativo
"DirGeolocalizacion": "",
      
type
"DirNombreEmpresa": "
string
Empresa1",
      
ClExcluirCorreosElectronicos
"DirPuesto": "Contador",
      
description
"DirDirDespliegue": 
Excluir
"Guatemala 
de
Los 
Correos Electrónicos
Amates GUATEMALA",
     
type:
 "
integer
DirActCodEmpresa": 0,
      
format
"DirActDesEmpresa": "
int32
"
       
DirUlt:
 },
       
description: Ultimo Correlativo Direcciones
 {
     
type:
 "
integer
DirCor": 3,
      
format:
"
int32
DirTipo": 1,
      
gx_md5_hash
"DirDireccion": "Mixco",
      
description
"DirPaiCod": 
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.
320,
      "DirPaiNom": "GUATEMALA",
      "DirRegCod": 1,
      "DirRegDes": "Guatemala",
      "DirDepCod": 8,
      
type
"DirDepDes": "
string
Mixco",
      
Level1
"DirMunCod": 0,
      
$ref
"DirMunDes": "
#/definitions/TClDirecciones.Level1Item
",
     
required
 "DirCodPostal": "",
     
- ClCliCod TClDirecciones.Level1Item:
 "DirGeolocalizacion": "",
   
properties:
   
DirCor
"DirNombreEmpresa": "",
      
description
"DirPuesto": 
Correlativo
"",
de
 
Dirección
     
type
"DirDirDespliegue": "
integer"
Mixco Mixco 
GUATEMALA",
     
format:
 "
int32
DirActCodEmpresa": 0,
      
DirTipo
"DirActDesEmpresa": ""
      }
description:
 
Tipo
 
de
 
Dirección
   ],
  
type
"gx_md5_hash": "
integer
161BE6BED5F7690D969188F16255026C"
}

200 (Operación Exitosa)

Code Block
languagejson
{
  "ClCliCod": "3",
  
format
"ClNomSocio": "
int32"
ANA MARIA DEL CARMEN MUJER CIFUENTES GONZALEZ",
 
DirDireccion
 "DirCorreE": "ocalderon@sifco.org",
  "DirCorreE2": "",
  
description
"ClExcluirCorreosElectronicos": 
Dirección
0,
  "DirUlt": 3,
  "Level1": [
type:
 
"string"
       {
DirPaiCod:
      "DirCor": 1,
 
description:
 
Código
 
País
 
dirección
  "DirTipo": 1,
     
type:
 "
integer
DirDireccion": "COLONIA GUMARKAJ",
     
format:
 "
int64
DirPaiCod": 320,
      "DirPaiNom": "GUATEMALA",
      
description: Nombre País
"DirRegCod": 7,
      
type
"DirRegDes": "
string
Quiché",
      
DirRegCod
"DirDepCod": 1,
      
description
"DirDepDes": 
Código
"Santa 
Región
Cruz 
Dirección
el Quiche",
      
type:
"
integer
DirMunCod": 0,
      
format
"DirMunDes": "
int64
",
      
DirRegDes
"DirCodPostal": "",
      
description
"DirGeolocalizacion": 
Descripción
"",
Región
      
type
"DirNombreEmpresa": "
string
",
      
DirDepCod
"DirPuesto": "",
      
description: Código Departamento Dirección
"DirDirDespliegue": "COLONIA GUMARKAJ Santa Cruz el Quiche GUATEMALA",
     
type:
 "
integer
DirActCodEmpresa": 0,
      
format
"DirActDesEmpresa": "
int64
"
       
DirDepDes:
 },
       
description:
 
Descripción Departamento
{
      
type:
"
string
DirCor": 2,
      
DirMunCod
"DirTipo": 2,
      
description: Código Municipio Dirección
"DirDireccion": "Guatemala",
      
type:
"
integer
DirPaiCod": 320,
      
format
"DirPaiNom": "
int64
GUATEMALA",
      
DirMunDes
"DirRegCod": 10,
      
description
"DirRegDes": 
Descripción
"Izabal",
Municipio
      
type: "string"
"DirDepCod": 2,
      
DirCodPostal
"DirDepDes": "Los Amates",
      
description
"DirMunCod": 
Código
0,
Postal
      
type
"DirMunDes": "
string
",
      
DirGeolocalizacion
"DirCodPostal": "",
      
description
"DirGeolocalizacion": 
Geolocalización
"",
      
type
"DirNombreEmpresa": "Empresa1"
string"
,
      "DirPuesto": 
DirNombreEmpresa:
"Contador",
      "DirDirDespliegue": "Guatemala Los Amates 
description:
GUATEMALA",
Nombre
 
de
 
la
 
empresa
 
donde
 
labora
 "DirActCodEmpresa": 0,
      
type
"DirActDesEmpresa": "
string
"
       
DirPuesto:
 },
        {
description:
 
Puesto
 
en
 
la
 
empresa
  "DirCor": 3,
     
type:
 "
string
DirTipo": 1,
      
DirDirDespliegue
"DirDireccion": "Mixco",
      "DirPaiCod": 320,
 
description:
 
Despliegue
 
de
 
Dirección
  "DirPaiNom": "GUATEMALA",
     
type:
 "
string
DirRegCod": 1,
      
DirActCodEmpresa
"DirRegDes": "Guatemala",
      
description
"DirDepCod": 
Código
8,
actividad
 
económica
 
empresa
    "DirDepDes": "Mixco",
    
type:
  "
integer
DirMunCod": 0,
      
format
"DirMunDes": "
int32
",
      
DirActDesEmpresa
"DirCodPostal": "",
      
description: Descripción actividad económica empresa
"DirGeolocalizacion": "",
      
type
"DirNombreEmpresa": "
string
",
      
required:
"DirPuesto": "",
      
- DirCor
"DirDirDespliegue": "Mixco Mixco GUATEMALA",
     
x-gx-level:
 "
TClDirecciones
DirActCodEmpresa": 0,
  
GxJsonError:
    "DirActDesEmpresa": ""
properties:
      }
error:
      ],
  
$ref
"gx_md5_hash": 
"#/definitions/GxJsonError.error" GxJsonError.error:
"161BE6BED5F7690D969188F16255026C"
}

400 (Bad Request).

Solicitud Errada

Code Block
{
  "error": {
    
properties
"code": "string",
    
code
"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
{
  
description
"error": 
Código
{
de
 
Error
   
type: "string"
"code":"0",
    "message":"This service needs 
message:
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
{
  
description
"error": 
Mensaje
{
de
 
Error
   "code": "string",
    
type
"message": "string"
  
x-gx-level: "GxJsonError"
}
}

Info

INFORMACIÓN

Para identificar el MENSAJE DE ERROR remitirse a la pagina de (Listado de Errores) External Call Out, donde se describe el listado de errores 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
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" , "direcciones" ) and type = "page" and space = "DOC"

Artículos Actualizados Recientemente

Recent updates
typespage
max5
spacesDOC
themeconcise
hideHeadingtrue
Change History