Versions Compared

Key

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

Web Services para Consultar Información de Contacto 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 Mensajes para 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: "MensajesParaClientes" externalDocs: description: "Manual SIFCO" url: "https://sifco.atlassian.net/wiki/x/DoDb" produces: - application/json paths: /MensajesParaClientes/{MensajeID}: get: tags: - MensajesParaClientes operationId: "GetMensajesParaClientes" summary: "Consultar los Mensajes 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

DESCRIPCIÓN.

Este Web Service, permite consultar los Mensajes Enviados a los Clientes registrados en la Aplicación SIFCO WEB, esta consulta se hace a través del código del mensaje, el cual esta en código UUID.

Un identificador único universal o universally unique identifier (UUID) es un número de 16 bytes (128 bits). Por tanto, el número de posibles UUID es de 1632, o unos 3,4 × 1038. En su forma canónica un UUID se expresa mediante 32 dígitos hexadecimales divididos en cinco grupos separados por guiones de la forma 8-4-4-4-12 lo que da un total de 36 caracteres (32 dígitos y 4 guiones). Por ejemplo:

550e8400-e29b-41d4-a716-446655440000

Un UUID puede ser usado con un identificador específico "intencionalmente" y ser usado en varias ocasiones para identificar el mismo objeto en diferentes contextos. Ademas de permitir enmascarar el código de un Mensaje Enviados a los Clientes registrados en la Aplicación SIFCO WEB, con un código único de identificación.

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: "MensajesParaClientes"
  externalDocs:
    description: "Manual SIFCO"
    url: "https://sifco.atlassian.net/wiki/x/DoDb"
produces:
  - application/json
paths:
  /MensajesParaClientes/{MensajeID}:
    get:
      tags:
        - MensajesParaClientes
      operationId: "GetMensajesParaClientes"
      summary: "Consultar los Mensajes required:de trueun Cliente en el Sistema"
      defaultparameters:
OAuth <Access Token>         - in: header
          name: GENEXUSContent-AGENTType
          type: "string"
          required: true
          default: SmartDevice Applicationapplication/json
        - namein: "MensajeID"header
          inname: "path"Authorization
          descriptiontype: "ID Mensajestring"
          required: true
          typedefault: "string"OAuth <Access Token>
        format- in: "uuid"header
          name: GENEXUS-AGENT
 responses:         200type: "string"
          descriptionrequired: "Successfultrue
operation"           schemadefault: SmartDevice Application
        -  $refname: "#/definitions/MensajesParaClientesMensajeID"
         400 in: "path"
          description: "BadID requestMensaje"
          schemarequired: true
           $reftype: "#/definitions/GxJsonErrorstring"
         401 format: "uuid"
      
  description: "Not Authenticated"  responses:
        schema200:
          description: "Successful $ref: "#/definitions/GxJsonError"operation"
          404schema:
          description  $ref: "Data with the specified key could not be found"#/definitions/MensajesParaClientes"
        400:
          description: "Bad request"
          schema:
            $ref: "#/definitions/GxJsonError"
        500401:
          description: "InternalNot server errorAuthenticated"
          schema:
            $ref: "#/definitions/GxJsonError"
     post:   404:
   tags:       description: "Data -with MensajesParaClientesthe specified key could not be  operationId: "InsertMensajesParaClientes"found"
       summary: "Insertar los Mensajesschema:
de un Cliente en el Sistema"       parameters$ref: "#/definitions/GxJsonError"
       - in500:
header           namedescription: Content-Type"Internal server error"
        type: "string"  schema:
        required: true   $ref: "#/definitions/GxJsonError"

security:
  -  defaultOAuth2: application/json[]
    ApiKeyAuth1: []
securityDefinitions:
 - inOAuth2:
header    type: oauth2
     nameflow: Authorizationpassword
    tokenUrl: https://test.sifco.org/DemoCoopGT/oauth/access_token
    typescopes:
"string"      Execute: Permite el método tipo required:GET
true           defaultInsert: OAuthPermite <Accessel Token>método tipo POST
      - inUpdate: headerPermite el método tipo PUT
      nameDelete: GENEXUS-AGENTPermite el método tipo DELETE
      typeFullControl: "string"Permite el manejo de los Cuatro Métodos GET, POST, PUT,DELETE, sobre required:el trueWeb Service
  ApiKeyAuth1:
    type: apiKey
default: SmartDevice Application  in: header
    name: -granttype

namedefinitions:

"MensajeID"  MensajesParaClientes:
    properties:
   in: "path"  MensajeID:
        description: "ID Mensaje"
          requiredtype: true"string"
          typeformat: "stringuuid"

         format: "uuid"ClCliCod:
        - namedescription: "MensajesParaClientes"Código del Cliente
        intype: "bodyinteger"
          descriptionformat: "SDT of MensajesParaClientesint64"

         requiredMensajeCorto:
false           schemadescription: Mensaje Corto
          $reftype: "#/definitions/MensajesParaClientesstring"

      responsesMensajeLargo:
        200description: Mensaje Largo
        descriptiontype: "Successful operationstring"

      MensajeVisibleEnSucursalElectronica:
  schema:      description: ES un mensaje visible en la $ref: "#/definitions/MensajesParaClientes"sucursal electrónica
        201type: "boolean"

        descriptionMensajeStatus:
"Created"           schemadescription: Estado del Mensaje
         $reftype: "#/definitions/MensajesParaClientesinteger"
        400format: "int32"

        descriptionMensajeSMS:
"Bad request"           schemadescription: Es SMS
          $reftype: "#/definitions/GxJsonErrorboolean"

       401:
 MensajeSMS_Remitentes:
        description: "Not Authenticated"
 Tipo de Remitente de SMS
        schematype: "integer"
           $refformat: "#/definitions/GxJsonErrorint32"

       404MensajesTimeStamp:
 
        description: "DataHora withen theque specifiedfué keygrabado
could not be found"     type: "string"
    schema:    format: "date-time"

      $refMensajeSMSStatus: "#/definitions/GxJsonError"
        description: Status SMS
        500type: "integer"
         descriptionformat: "Internal server error"
 "int32"

      MensajeCorreoElectronico:
        schemadescription: Es un Correo Electrónico
        $reftype: "#/definitions/GxJsonError"

boolean"

  put:    MensajeCorreoElectronicoStatus:
  tags:      description: Status email
- MensajesParaClientes       operationIdtype: "UpdateMensajesParaClientesinteger"
      summary  format: "Actualizarint32"

 los Mensajes de un Cliente enMensajeNotificacion:
el Sistema"       parametersdescription: Es Notificación (mensaje)
     -   intype: header "boolean"

      MensajeNotificacionStatus:
        namedescription: Content-TypeEnviada  Notificación
        type: "stringinteger"
          requiredformat: true"int32"

      ClExcluirCorreosElectronicos:
  default: application/json     description: Excluir de Correos -Electrónicos
in: header           nametype: Authorization"integer"
          typeformat: "stringint32"

      DirCorreE:
   required: true    description: Correo Electrónico
    default: OAuth <Access Token> type: "string"

     - inDirCorreE2:
header           namedescription: GENEXUS-AGENTCorreo Electrónico Alternativo
        type: "string"

         requiredClNomSocio:
true           defaultdescription: SmartDeviceNombre Applicationdel Cliente
       - nametype: "MensajeIDstring"

         ingx_md5_hash:
"path"           description: "ID Mensaje"
          required: true
          type: "string"
 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.
        formattype: "uuidstring"


      - namerequired:
"MensajesParaClientes"      - MensajeID

  inGxJsonError:
"body"    properties:
      descriptionerror:
"SDT of MensajesParaClientes"      $ref: "#/definitions/GxJsonError.error"

  requiredGxJsonError.error:
true    properties:
      schemacode:
        description: Código de Error
 $ref: "#/definitions/MensajesParaClientes"       
      responsestype: "string"

      200message:

         description: "SuccessfulMensaje operation"de Error
         schematype: "string"


         $refx-gx-level: "#/definitions/MensajesParaClientes"
        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: "MensajesParaClientes was changed"
        500:
          description: "Internal server error"
          schema:
            $ref: "#/definitions/GxJsonError"

    delete:
      tags:
        - MensajesParaClientes
      operationId: "DeleteMensajesParaClientes"
      summary: "Eliminar los Mensajes 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: "MensajeID"
          in: "path"
          description: "ID Mensaje"
          required: true
          type: "string"
          format: "uuid"

      responses:
        200:
          description: "Successful operation"
          schema:
            $ref: "#/definitions/MensajesParaClientes"
        204:
          description: "Successful operation"
          schema:
            $ref: "#/definitions/MensajesParaClientes"
        400:
          description: "Bad request"
          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 metodo tipo GET
      Insert: Permite el metodo tipo POST
      Update: Permite el metodo tipo PUT
      Delete: Permite el metodo tipo DELETE
      FullControl: Permite el manejo de los Cuatro Metodos GET, POST, PUT,DELETE, sobre el Web Service
  ApiKeyAuth1:
    type: apiKey
    in: header
    name: granttype

definitions:

  MensajesParaClientes:
    properties:
      MensajeID:
        description: ID Mensaje
        type: "string"
        format: "uuid"

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

      MensajeCorto:
        description: Mensaje Corto
        type: "string"

      MensajeLargo:
        description: Mensaje Largo
        type: "string"

      MensajeVisibleEnSucursalElectronica:
        description: ES un mensaje visible en la sucursal electrónica
        type: "boolean"

      MensajeStatus:
        description: Estado del Mensaje
        type: "integer"
        format: "int32"

      MensajeSMS:
        description: Es SMS
        type: "boolean"

      MensajeSMS_Remitentes:
        description: Tipo de Remitente de SMS
        type: "integer"
        format: "int32"

      MensajesTimeStamp:
        description: Hora en que fué grabado
        type: "string"
        format: "date-time"

      MensajeSMSStatus:
        description: Status SMS
        type: "integer"
        format: "int32"

      MensajeCorreoElectronico:
        description: Es un Correo Electronico
        type: "boolean"

      MensajeCorreoElectronicoStatus:
        description: Status email
        type: "integer"
        format: "int32"

      MensajeNotificacion:
        description: Es Notificacion (mensaje)
        type: "boolean"

      MensajeNotificacionStatus:
        description: Enviada Notificacion
        type: "integer"
        format: "int32"

      ClExcluirCorreosElectronicos:
        description: Excluir de Correos Electronicos
        type: "integer"
        format: "int32"

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

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

      ClNomSocio:
        description: Nombre del Cliente
        type: "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:
      - MensajeID

  GxJsonError:
    properties:
      error:
        $ref: "#/definitions/GxJsonError.error"

  GxJsonError.error:
    properties:
      code:
        description: Codigo de Error
        type: "string"

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


    x-gx-level: "GxJsonError"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

MensajesParaClientes

DirCorreE

WSClientesEmailConsulta

DirCorreE2

WSClientesEmailConsulta

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 GET

Este método para este Web Service en especifico permite consultar los Mensajes Enviados a los Clientes registrados en la Aplicación SIFCO WEB.

El siguiente ejemplo permite consultar un Mensaje Enviado a un Cliente registrado en la Aplicación SIFCO WEB.

Tipo de Mensaje HTTP

Ejemplo

REQUEST

URL:

Code Block
languagehtml
https://test.sifco.org/democoopgt/rest/MensajesParaClientes/3fa85f64-5717-4562-b3fc-2c963f66afa6

HEADERS

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

200 (Successful operation)

Operación Exitosa

Code Block
languagejson
{
  "MensajeID": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "ClCliCod": 0,
  "MensajeCorto": "string",
  "MensajeLargo": "string",
  "MensajeVisibleEnSucursalElectronica": true,
  "MensajeStatus": 0,
  "MensajeSMS": true,
  "MensajeSMS_Remitentes": 0,
  "MensajesTimeStamp": "2019-09-30T00:28:48.304Z",
  "MensajeSMSStatus": 0,
  "MensajeCorreoElectronico": true,
  "MensajeCorreoElectronicoStatus": 0,
  "MensajeNotificacion": true,
  "MensajeNotificacionStatus": 0,
  "ClExcluirCorreosElectronicos": 0,
  "DirCorreE": "string",
  "DirCorreE2": "string",
  "ClNomSocio": "string",
  "gx_md5_hash": "string"
}

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

Enlaces Relevantes

Live Search
spaceKeyDOC
placeholderBúsqueda en esta Pagina
typepage

Artículos Relacionados

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

Artículos Actualizados Recientemente

Recent updates
typespage
max5
spacesDOC
themeconcise
hideHeadingtrue
Change History