Versions Compared

Key

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

Web Services para Registrar o Modificar Departamentos de una Región.

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 los Grupos de Afinidad 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: "TClGruAfinidad" externalDocs: description: "Manual SIFCO" url: "https://sifco.atlassian.net/wiki/x/loDe" produces: - application/json paths: /TClGruAfinidad/{GrAfCodigo}: get: tags: - TClGruAfinidad operationId: "GetTClGruAfinidad" summary: "Consultar los los Grupos de Afinidad Registrados en el Sistema" parameters

DESCRIPCIÓN.

Este Web Service, permite Consultar, Crear o Modificar Municipios o Localidades de una Región y de un País registrado en la Aplicación SIFCO WEB, es importante acotar que se pueden incluir o modificar detalles como Nombre y Ubicación Geográfica, el cual permitirá junto con los Web Service (TApPais) y Web Service (TApRegion) establecer ubicaciones precisas de las direcciones, documentos de identificación o demás parámetros del cliente donde la ubicación geográfica es relevante.

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: "TClGruAfinidad"
  externalDocs:
    description: "Manual SIFCO"
    url: "https://sifco.atlassian.net/wiki/x/loDe"
produces:
  - application/json
paths:
  /TClGruAfinidad/{GrAfCodigo}:
    get:
      tags:
        - TClGruAfinidad
      operationId: "GetTClGruAfinidad"
      summary: "Consultar los los Grupos de Afinidad Registrados 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: "GrAfCodigo"
          in: "path"
          description: "Código del Grupo de Afinidad"
          required: true
          type: "integer"
          format: "int64"
      
      responses:
        200:
          description: "Successful operation"
          schema:
            $ref: "#/definitions/TClGruAfinidad"
        400:
          description: "Bad request"
          schema:
        - in: header  $ref: "#/definitions/GxJsonError"
        name401:
Content-Type           typedescription: "stringNot Authenticated"
          requiredschema:
true            default$ref: application/json"#/definitions/GxJsonError"
        404:
-  in: header       description: "Data with  name: Authorizationthe specified key could not be found"
          typeschema:
 "string"           required$ref: true"#/definitions/GxJsonError"
          default500:
OAuth <Access Token>        description: -"Internal in:server headererror"
          nameschema:
GENEXUS-AGENT            type$ref: "string#/definitions/GxJsonError"

         requiredpost:
true      tags:
    default: SmartDevice Application  - TClGruAfinidad
     - nameoperationId: "GrAfCodigoInsertTClGruAfinidad"
          insummary: "path"Insertar los los Grupos de Afinidad Registrados en el Sistema"
 description: "Código del Grupo de Afinidad"parameters:
         - requiredin: trueheader
          typename: "integer"Content-Type
          formattype: "int64string"
          required: true
 responses:         200default: application/json
        - descriptionin: "Successfulheader
operation"           schemaname: Authorization
           $reftype: "#/definitions/TClGruAfinidadstring"
        400  required: true
         description default: "BadOAuth request"<Access Token>
        - schemain: header
           $refname: "#/definitions/GxJsonError"GENEXUS-AGENT
          401type: "string"
          descriptionrequired: "Nottrue
Authenticated"           schemadefault: SmartDevice Application
        -  $refname: "#/definitions/GxJsonErrorGrAfCodigo"
        404  in: "path"
          description: "DataCódigo withdel theGrupo specified key could not be foundde Afinidad"
          schemarequired: true
           $reftype: "#/definitions/GxJsonErrorinteger"
        500:  format: "int64"
        -  descriptionname: "Internal server errorTClGruAfinidad"
          schemain: "body"
           $refdescription: "#/definitions/GxJsonError"

SDT of TClGruAfinidad"
   post:       tagsrequired: false
       - TClGruAfinidad  schema:
    operationId: "InsertTClGruAfinidad"       summary$ref: "Insertar los los Grupos de Afinidad Registrados en el Sistema"#/definitions/TClGruAfinidad"

         parametersresponses:
        - in200: header
          namedescription: Content-Type "Successful operation"
          typeschema:
"string"            required$ref: true"#/definitions/TClGruAfinidad"
          default201:
application/json         - indescription: header"Created"
          nameschema:
 Authorization           type$ref: "string#/definitions/TClGruAfinidad"
          required400: true
          defaultdescription: OAuth"Bad <Accessrequest"
Token>         - inschema:
header           name: GENEXUS-AGENT
  $ref: "#/definitions/GxJsonError"
        type401:
"string"          description: required: true"Not Authenticated"
          defaultschema:
SmartDevice  Application         - name$ref: "GrAfCodigo#/definitions/GxJsonError"
          in: "path"404:
          description: "Código del Grupo de AfinidadData with the specified key could not be found"
          requiredschema:
true            type$ref: "integer#/definitions/GxJsonError"

         format500:
"int64"         - namedescription: "TClGruAfinidadInternal server error"
          inschema:
"body"            description$ref: "#/definitions/GxJsonError"SDT
of
TClGruAfinidad"    put:
      requiredtags:
false        - TClGruAfinidad
 schema:     operationId: "UpdateTClGruAfinidad"
      $refsummary: "#/definitions/TClGruAfinidadActualizar los los Grupos de Afinidad Registrados en el Sistema"
      parameters:
responses:        - 200in: header
          descriptionname: "Successful operation"Content-Type
           schema:type: "string"
          required: true
$ref: "#/definitions/TClGruAfinidad"         201default: application/json
        - descriptionin: "Created"header
          schemaname: Authorization
           $reftype: "#/definitions/TClGruAfinidad"string"
          400required: true
          descriptiondefault: "BadOAuth request"<Access Token>
        - schemain: header
          name: GENEXUS-AGENT
$ref: "#/definitions/GxJsonError"         401type: "string"
         description required: "Nottrue
Authenticated"           schemadefault: SmartDevice Application
        -  $refname: "#/definitions/GxJsonError"GrAfCodigo"
          404in: "path"
          description: "DataCódigo withdel theGrupo specified key could not be foundde Afinidad"
          schemarequired: true
           $reftype: "#/definitions/GxJsonError"integer"
          500format: "int64"
        - descriptionname: "Internal server errorTClGruAfinidad"
          schemain: "body"
           $refdescription: "#/definitions/GxJsonError"SDT of TClGruAfinidad"
      put    required: true
     tags:     schema:
   -  TClGruAfinidad       operationId$ref: "UpdateTClGruAfinidad#/definitions/TClGruAfinidad"
      summary:
"Actualizar los los Grupos de Afinidad Registradosresponses:
en el Sistema"       parameters200:
        -  indescription: header"Successful operation"
          nameschema:
 Content-Type           type$ref: "string#/definitions/TClGruAfinidad"
        400:
 required: true         description: "Bad request"
          defaultschema:
application/json         - in: header $ref: "#/definitions/GxJsonError"
        name401:
Authorization           typedescription: "stringNot Authenticated"
          required: true schema:
         default: OAuth <Access Token>
$ref: "#/definitions/GxJsonError"
       - in404:
header          description: name: GENEXUS-AGENT"Not found"
          typeschema:
"string"            required$ref: true"#/definitions/GxJsonError"
          default409:
SmartDevice Application         - namedescription: "GrAfCodigo"TClGruAfinidad was changed"
        in500:
"path"           description: "Código del Grupo de AfinidadInternal server error"
          requiredschema:
 true           type$ref: "integer#/definitions/GxJsonError"

    delete:
    format  tags:
"int64"        - TClGruAfinidad
 - name: "TClGruAfinidad"   operationId: "DeleteTClGruAfinidad"
      insummary: "body"Eliminar los los Grupos de Afinidad Registrados en el Sistema"
 description:  "SDT of TClGruAfinidad" parameters:
        - requiredin: trueheader
          schemaname: Content-Type
           $reftype: "#/definitions/TClGruAfinidadstring"
          required: true
 responses:         200default: application/json
        - descriptionin: "Successfulheader
operation"           schemaname: Authorization
           $reftype: "#/definitions/TClGruAfinidadstring"
         400 required: true
         description default: "BadOAuth request"<Access Token>
        - schemain: header
          name: GENEXUS-AGENT
$ref: "#/definitions/GxJsonError"         401type: "string"
          descriptionrequired: "Nottrue
Authenticated"           schemadefault: SmartDevice Application
        -  $refname: "#/definitions/GxJsonErrorGrAfCodigo"
        404  in: "path"
          description: "Not foundCódigo del Grupo de Afinidad"
          schemarequired: true
           $reftype: "#/definitions/GxJsonErrorinteger"
        409:  format: "int64"

      descriptionresponses: "TClGruAfinidad
was changed"         500200:
          description: "InternalSuccessful server erroroperation"
          schema:
            $ref: "#/definitions/GxJsonErrorTClGruAfinidad"
     delete:       tags204:
        - TClGruAfinidad
      operationId description: "DeleteTClGruAfinidadSuccessful operation"
      summary: "Eliminar los los Gruposschema:
de Afinidad Registrados en el Sistema"       parameters$ref: "#/definitions/TClGruAfinidad"
       - in400:
header          description: name: Content-Type"Bad request"
          typeschema:
"string"            required$ref: true"#/definitions/GxJsonError"
          default401:
application/json         - indescription: "Not headerAuthenticated"
          nameschema:
Authorization            type$ref: "string#/definitions/GxJsonError"
          required404:
true           defaultdescription: OAuth"Not <Accessfound"
Token>         - inschema:
header            name$ref: GENEXUS-AGENT"#/definitions/GxJsonError"
        500:
 type: "string"        description: "Internal  required: trueserver error"
          defaultschema:
SmartDevice  Application         - name$ref: "GrAfCodigo#/definitions/GxJsonError"


security:
  - OAuth2: []
  in: "path" ApiKeyAuth1: []
securityDefinitions:
  OAuth2:
    descriptiontype: "Códigooauth2
del Grupo de Afinidad" flow: password
    tokenUrl: https://test.sifco.org/DemoCoopGT/oauth/access_token
  required: true   scopes:
       typeExecute: "integer"Permite el método tipo GET
      formatInsert: "int64"Permite el método tipo POST
   responses:   Update: Permite el método tipo PUT
200:      Delete: Permite el método tipo description:DELETE
"Successful operation"     FullControl: Permite el manejo de los schema:Cuatro Métodos GET, POST, PUT,DELETE, sobre el Web Service
    $ref: "#/definitions/TClGruAfinidad"ApiKeyAuth1:
    type: apiKey
    204in: header
    name: granttype

definitions:

  descriptionTClGruAfinidad:
"Successful operation"   properties:
       schemaGrAfCodigo:
        description: Código del Grupo $ref: "#/definitions/TClGruAfinidad"de Afinidad
        400type: "integer"
         descriptionformat: "Badint64"

request"      GrPrmCod:
    schema:    description: Código de Promotor
     $ref: "#/definitions/GxJsonError"  type: "string"

    401:  GrPrmNombre:
        description: "NotNombre Authenticated"de promotor
         schematype: "string"

      GrAfDescripcion:
   $ref: "#/definitions/GxJsonError"    description: Descripción del Grupo Afinidad
404:        type: "string"

  description: "Not found"  GrAfCiclo:
        schemadescription: Ciclo de Grupo
         $reftype: "#/definitions/GxJsonErrorinteger"
        500format:   "int64"

      descriptionGrAfEstado: "Internal
server error"           schemadescription: Estado de Grupo
         $reftype: "#/definitions/GxJsonErrorstring"

 security:    - OAuth2GrAfPaiCod:
[]      ApiKeyAuth1: [] securityDefinitionsdescription: Código de OAuth2:País de Grupo
  type: oauth2     flowtype: password
    tokenUrl: https://test.sifco.org/DemoCoopGT/oauth/access_token"integer"
        scopesformat: "int64"

     Execute GrAfPaiNom:
Permite el método tipo GET    description: Nombre de Insert:País Permitede elGrupo
método tipo POST       Update: Permite el método tipo PUTtype: "string"

      GrAfRegCod:
   Delete: Permite el método tipo DELETEdescription: Código de Región de Grupo
 FullControl: Permite el manejo de los Cuatro Métodos GET, POST, PUT,DELETE, sobre el Web Servicetype: "integer"
        ApiKeyAuth1format: "int64"

  type: apiKey   GrAfRegDes:
 in:  header     namedescription: granttypeDescripción Región definitions:de Grupo
   TClGruAfinidad:     propertiestype: "string"

    GrAfCodigo  GrAfDepCod:
        description: Código delDepartamento Grupo de AfinidadGrupo
        type: "integer"
        format: "int64"

      GrPrmCodGrAfDepDes:
        description: CódigoDescripción Departamento de PromotorGrupo
        type: "string"

      GrAfMunCod:
        description: Código Municipio de GrPrmNombre:Grupo
        descriptiontype: Nombre"integer"
de promotor         typeformat: "stringint64"

      GrAfDescripcionGrAfMunDes:
        description: Descripción delMunicipio de Grupo Afinidad
        type: "string"

      GrAfCicloGrAfGeolocalizacion:
        description: CicloGeolocalización
de Grupo         type: "integerstring"

       formatGrAfSucCodigo:
"int64"        GrAfEstadodescription: Código de Sucursal
     description:  Estado de Grupotype: "integer"
        typeformat: "stringint32"

      GrAfPaiCodgx_md5_hash:
        description: Código de País de Grupo
        type: "integer"
        format: "int64"

      GrAfPaiNom: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.
        descriptiontype: Nombre de País de Grupo"string"


    required:
   type: "string"  - GrAfCodigo

   GrAfRegCodGxJsonError:
      properties:
 description: Código de Región de Grupoerror:
        type$ref: "integer#/definitions/GxJsonError.error"

  GxJsonError.error:
    formatproperties: "int64"
       GrAfRegDescode:
        description: DescripciónCódigo Región de GrupoError
        type: "string"

      GrAfDepCodmessage:
        description: CódigoMensaje Departamento de GrupoError
        type: "integerstring"


      format: "int64"

      GrAfDepDes:
        description: Descripción Departamento de Grupo
        type: "string"

      GrAfMunCod:
        description: Código Municipio de Grupo
        type: "integer"
        format: "int64"

      GrAfMunDes:
        description: Descripción Municipio de Grupo
        type: "string"

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

      GrAfSucCodigo:
        description: Código de Sucursal
        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:
      - GrAfCodigo

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

TApDepartamento

ApPaiCod

WSApPaisLista

ApRegCod

WSApDepartamentoLista

ApDepCod

WSApMunicipioLista

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 Municipios o Localidades de una Región y de un País registrados en la Aplicación SIFCO WEB.

El siguiente ejemplo crea un Municipio, de una Región de un País en la Aplicación SIFCO WEB.

Tipo de Mensaje HTTP

Ejemplo

REQUEST

URL:

Code Block
languagehtml
https://test.sifco.org/democoopgt/rest/TApDepartamento/593,1,1

HEADERS:

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

BODY:

Code Block
languagejson
{
  "ApPaiCod": 593,
  "ApPaiNombre": "Ecuador",
  "ApRegCod": 1,
  "ApRegDes": "Pichincha",
  "ApDepCod": 1,
  "ApDepDes": "Pichincha",
  "ApDepGeo": "Ecuador, Pichincha, Pichincha",
  "gx_md5_hash": "A10DEE1CBB329B5952C1181C999CB025"
}

201 (Created)

(Registro Creado con Éxito)

Code Block
languagejson
{
  "ApPaiCod": 593,
  "ApPaiNombre": "Ecuador",
  "ApRegCod": 1,
  "ApRegDes": "Pichincha",
  "ApDepCod": 1,
  "ApDepDes": "Pichincha",
  "ApDepGeo": "Ecuador, Pichincha, Pichincha",
  "gx_md5_hash": "E2FA9D63AECE8D81E0DB881282936E87"
}

400 (Bad Request).

Solicitud Errada

Code Block
{
  "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
{
  "error": {
    "code":"0",
    "msage":"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
{
  "error": {
    "code": "string",
    "message": "string"
  }
}

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 que este Web Service, NO REQUIERE seguir algún Flujo de Trabajo especifico por ende se puede utilizar de forma independiente al Flujo de Trabajo descrito en el Web Services de Clientes.

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" , "parametros" , "generales" , "departamento" , "municipio" , "region" ) and type = "page" and space = "DOC"

Artículos Actualizados Recientemente

Recent updates
typespage
max5
spacesDOC
themeconcise
hideHeadingtrue
Change History