Versions Compared

Key

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

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: "TClGruAfinidadTApDepartamento"
  externalDocs:
    description: "Manual SIFCO"
    url: "https://sifco.atlassian.net/wiki/x/loDefADe"
produces:
  - application/json
paths:
  /TClGruAfinidad/{GrAfCodigoTApDepartamento/{ApPaiCod},{ApRegCod},{ApDepCod}:
    get:
      tags:
        - TClGruAfinidadTApDepartamento
      operationId: "GetTClGruAfinidadGetTApDepartamento"
      summary: "Consultar los Departamentos de losuna GruposRegión de Afinidadun País 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: "GrAfCodigoApPaiCod"
          in: "path"
          description: "Código del Grupo de Afinidad"
          required: true
          type: "integer"
          format: "int64"
        - name: "ApRegCod"
  responses:         200:in: "path"
          description: "SuccessfulCódigo División operationGeográfica"
          schemarequired: true
           $reftype: "#/definitions/TClGruAfinidadinteger"
        400  format: "int64"
        - descriptionname: "Bad requestApDepCod"
          schemain: "path"
           $refdescription: "#/definitions/GxJsonErrorCódigo Sub-División Geográfica"
        401  required: true
          descriptiontype: "Not Authenticatedinteger"
          schemaformat: "int64"
      
      $ref: "#/definitions/GxJsonError"responses:
        404200:
          description: "Data with the specified key could not be foundSuccessful operation"
          schema:
            $ref: "#/definitions/GxJsonErrorTApDepartamento"
        500400:
          description: "InternalBad server errorrequest"
          schema:
            $ref: "#/definitions/GxJsonError"

    post:       tags401:
        - TClGruAfinidad
      operationId description: "InsertTClGruAfinidadNot Authenticated"
      summary: "Insertar los los Gruposschema:
de Afinidad Registrados en el Sistema"       parameters$ref: "#/definitions/GxJsonError"
       - in404:
header           namedescription: Content-Type"Data with the specified key could not     type: "string"be found"
          requiredschema:
 true           default$ref: application/json"#/definitions/GxJsonError"
        -500:
in: header         description: "Internal name:server Authorizationerror"
          typeschema:
 "string"           required$ref: true"#/definitions/GxJsonError"

    post:
    default: OAuth <Accesstags:
Token>         - in:TApDepartamento
header      operationId: "InsertTApDepartamento"
   name: GENEXUS-AGENT  summary: "Insertar los Departamentos de una Región de un type: "string"
  País Registrados en el Sistema"
       requiredparameters:
true        -   defaultin: SmartDeviceheader
Application         - name: "GrAfCodigo"Content-Type
          intype: "pathstring"
          descriptionrequired: true
"Código del Grupo de Afinidad"      default: application/json
   required: true    - in: header
    type: "integer"     name: Authorization
    format: "int64"         - nametype: "TClGruAfinidadstring"
          inrequired: "body"true
          descriptiondefault: "SDTOAuth of<Access TClGruAfinidad"Token>
        -  requiredin: falseheader
          schemaname: GENEXUS-AGENT
           $reftype: "#/definitions/TClGruAfinidad"string"
          responsesrequired: true
         200 default: SmartDevice Application
        - descriptionname: "Successful operationApPaiCod"
          schemain: "path"
           $refdescription: "#/definitions/TClGruAfinidadCódigo"
        201  required: true
         description type: "Createdinteger"
          schemaformat: "int64"
        -   $refname: "#/definitions/TClGruAfinidadApRegCod"
        400:  in: "path"
          description: "BadCódigo División requestGeográfica"
          schemarequired: true
           $reftype: "#/definitions/GxJsonError"integer"
          401format: "int64"
        - descriptionname: "Not AuthenticatedApDepCod"
          schemain: "path"
           $refdescription: "#/definitions/GxJsonErrorCódigo Sub-División Geográfica"
        404  required: true
         description type: "Data with the specified key could not be found"integer"
          format: "int64"
        -  schemaname: "TApDepartamento"
           $refin: "#/definitions/GxJsonErrorbody"
         500 description: "SDT of TApDepartamento"
        description: "Internal serverrequired: error"false
          schema:
            $ref: "#/definitions/GxJsonErrorTApDepartamento"

    put:  responses:
    tags:    200:
    - TClGruAfinidad       operationIddescription: "UpdateTClGruAfinidadSuccessful operation"
      summary: "Actualizar los los Gruposschema:
de Afinidad Registrados en el Sistema"       parameters$ref: "#/definitions/TApDepartamento"
       - in201:
header           namedescription: Content-Type"Created"
          typeschema:
 "string"           required$ref: true"#/definitions/TApDepartamento"
        400:
 default: application/json        description: - in: header"Bad request"
          schema:
name: Authorization           type$ref: "string#/definitions/GxJsonError"
          required401:
true           defaultdescription: OAuth"Not <AccessAuthenticated"
Token>         - inschema:
header            name$ref: GENEXUS-AGENT"#/definitions/GxJsonError"
          type: "string"404:
          requireddescription: true"Data with the specified key could not be found"
  default: SmartDevice Application      schema:
    - name        $ref: "GrAfCodigo#/definitions/GxJsonError"
          in: "path"500:
          description: "CódigoInternal del Grupo de Afinidadserver error"
          requiredschema:
true            type$ref: "integer#/definitions/GxJsonError"

    put:
     format tags:
"int64"         - name: "TClGruAfinidad"TApDepartamento
          inoperationId: "bodyUpdateTApDepartamento"
      summary: "Actualizar los  description: "SDT of TClGruAfinidad"
Departamentos de una Región de un País Registrados en el Sistema"
      parameters:
        - requiredin: trueheader
          schemaname: Content-Type
           $reftype: "#/definitions/TClGruAfinidadstring"
          required: true
 responses:         200default: application/json
        - descriptionin: "Successful operation"header
          schemaname: Authorization
           $reftype: "#/definitions/TClGruAfinidadstring"
        400  required: true
          descriptiondefault: "BadOAuth request"<Access Token>
        - schemain: header
           $ref: "#/definitions/GxJsonError"name: GENEXUS-AGENT
          401type: "string"
          descriptionrequired: "Not Authenticated"true
          schemadefault: SmartDevice Application
        -  $refname: "#/definitions/GxJsonErrorApPaiCod"
         404: in: "path"
          description: "Not foundCódigo"
          schemarequired: true
           $reftype: "#/definitions/GxJsonErrorinteger"
        409  format: "int64"
        - descriptionname: "ApRegCod"TClGruAfinidad
was changed"         500in: "path"
          description: "InternalCódigo serverDivisión errorGeográfica"
          schemarequired: true
           $reftype: "#/definitions/GxJsonErrorinteger"
     delete:     format: "int64"
tags:         - TClGruAfinidadname: "ApDepCod"
     operationId: "DeleteTClGruAfinidad"    in: "path"
 summary: "Eliminar los los Grupos de Afinidad Registrados en eldescription: Sistema"Código Sub-División Geográfica"
    parameters:         - inrequired: headertrue
          nametype: Content-Type"integer"
          typeformat: "stringint64"
        -  requiredname: true"TApDepartamento"
          defaultin: application/json "body"
         - indescription: header "SDT of TApDepartamento"
          namerequired: Authorizationtrue
          typeschema:
"string"            required$ref: true"#/definitions/TApDepartamento"
      
   default: OAuth <Access Token>responses:
        - in200:
header          description: name: GENEXUS-AGENT"Successful operation"
          typeschema:
 "string"           required$ref: true"#/definitions/TApDepartamento"
          default400:
SmartDevice Application         - namedescription: "GrAfCodigoBad request"
          inschema:
 "path"           description$ref: "Código del Grupo de Afinidad#/definitions/GxJsonError"
          required401:
true           typedescription: "integerNot Authenticated"
          formatschema:
"int64"            responses$ref: "#/definitions/GxJsonError"
       200 404:
          description: "SuccessfulNot operationfound"
          schema:
            $ref: "#/definitions/TClGruAfinidadGxJsonError"
        204409:
          description: "SuccessfulTApDepartamento was operationchanged"
        500:
 schema:         description: "Internal server error"
$ref: "#/definitions/TClGruAfinidad"         400schema:
          description  $ref: "Bad request#/definitions/GxJsonError"

    delete:
    schema:  tags:
        - TApDepartamento
$ref: "#/definitions/GxJsonError"     operationId: "DeleteTApDepartamento"
  401:    summary: "Eliminar los Departamentos de una Región description:de "Notun Authenticated"País Registrados en el Sistema"
      schemaparameters:
        - in: header
 $ref: "#/definitions/GxJsonError"         404:name: Content-Type
          descriptiontype: "Not foundstring"
          schemarequired: true
           $refdefault: "#/definitions/GxJsonError"application/json
        - 500in: header
         description name: "Internal server errorAuthorization
          type: "string"
          schemarequired: true
          default: OAuth <Access Token>
 $ref: "#/definitions/GxJsonError"   security:   - OAuth2in: header
[]     ApiKeyAuth1: [] securityDefinitions:   OAuth2name: GENEXUS-AGENT
   type:  oauth2     flowtype: password"string"
    tokenUrl: https://test.sifco.org/DemoCoopGT/oauth/access_token
      required: true
   scopes:       Executedefault: PermiteSmartDevice elApplication
método tipo GET      - Insertname: Permite"ApPaiCod"
el método tipo POST       Updatein: Permite"path"
el método tipo PUT       Deletedescription: Permite"Código"
el método tipo DELETE       FullControlrequired: Permitetrue
 el manejo de los Cuatro Métodos GET, POST, PUT,DELETE, sobre el Web Service  type: "integer"
     ApiKeyAuth1:     typeformat: apiKey"int64"
    in: header    - name: granttype "ApRegCod"
      definitions:    TClGruAfinidadin: "path"
   properties:       GrAfCodigodescription: "Código División Geográfica"
       description:  Código delrequired: Grupotrue
de Afinidad         type: "integer"
          format: "int64"
       GrPrmCod: - name: "ApDepCod"
     description: Código de Promotor  in: "path"
     type: "string"    description: "Código Sub-División Geográfica"
 GrPrmNombre:         descriptionrequired: Nombretrue
de promotor         type: "stringinteger"
          GrAfDescripcionformat: "int64"

      descriptionresponses:
Descripción   del Grupo Afinidad   200:
     type: "string"    description: "Successful operation"
 GrAfCiclo:         descriptionschema:
 Ciclo de Grupo         type$ref: "integer#/definitions/TApDepartamento"
        format204:
"int64"        GrAfEstado:  description: "Successful operation"
     description: Estado de Grupo     schema:
            $ref: "#/definitions/TApDepartamento"
        400:
          typedescription: "stringBad request"
         GrAfPaiCod:
  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
      descriptionDelete: CódigoPermite deel Paísmétodo detipo GrupoDELETE
        typeFullControl: "integer"Permite el manejo de los Cuatro Métodos GET,  format: "int64"

 POST, PUT,DELETE, sobre el Web Service
  ApiKeyAuth1:
 GrAfPaiNom:   type: apiKey
    descriptionin: Nombreheader
de País de Grupo name: granttype

definitions:

   typeTApDepartamento:
"string"    properties:
   GrAfRegCod:    ApPaiCod:
    description: Código de Región dedescription: GrupoCódigo
        type: "integer"
        format: "int64"

      GrAfRegDesApPaiNombre:
        description: DescripciónPaí­s
Región de Grupo         type: "string"

      GrAfDepCodApRegCod:
        description: Código DepartamentoDivisión deGeográfica
Grupo         type: "integer"
        format: "int64"

      GrAfDepDesApRegDes:
        description: Descripción DepartamentoDivisión de GrupoGeográfica
        type: "string"

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

      GrAfMunDes:
  : Código Sub-División Geográfica
     description: Descripción Municipio de Grupotype: "integer"
        typeformat: "stringint64"

      GrAfGeolocalizacionApDepDes:
        description: Geolocalización Descripción Sub-División Geográfica
        type: "string"

      GrAfSucCodigoApDepGeo:
        description: CódigoGeo-Ubicación de SucursalSub-División Geográfica
        type: "integer"
        format: "int32"string"

      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:
      - ApPaiCod
      - ApRegCod
      - GrAfCodigoApDepCod

  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

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