DataManipulationWebService

De Centro de Conocimientos DANA

Centro de Conocimientos DANA > Interfaces de conexión con DANA (API) > DataManipulationWebService

Web Service SOAP que permite manipular la información contenida en Base de Datos Web de DANA.

Contenido

Acceso

Protocolo URL
HTTPS Web Service

https://ws.danacrm.com:18181/dana/webDB/dataManipulationWebService
Definición del Web Service
https://ws.danacrm.com:18181/dana/webDB/dataManipulationWebService?wsdl

HTTP Web Service

http://ws.danacrm.com:18080/dana/webDB/dataManipulationWebServiceNoSSL
Definición del Web Service
http://ws.danacrm.com:18080/dana/webDB/dataManipulationWebServiceNoSSL?wsdl

Se recomienda utilizar el protocolo HTTPS.

Volver

Cómo empezar a utilizar el Web Service

  1. La compañía que va a utilizar el Web Service debe estar autorizada para hacerlo, para solicitar la autorización comuníquese con soporte técnico.
  2. Se debe crear un usuario con el perfil apropiado que será utilizado por el sistema que consume el Web Service, para más información véase Perfil.
  3. Se debe otorgar los permisos necesarios al usuario para realizar la operación en las tablas deseadas, para más información véase Permisos.


Volver

Resumen de los métodos

Nombre Descripción
delete Elimina uno o varios registros de una tabla de Base de Datos Web siempre y cuando cumplan la condición dada.
int delete(String idCompany, 
           String login, 
           String password, 
           String tableCode, 
           String conditions)
deleteById Elimina un registro de una tabla de Base de Datos Web dado su UID.
int deleteById(String idCompany, 
               String login, 
               String password, 
               String tableCode, 
               int uid)
insert Inserta un registro en una tabla de Base de Datos Web.
int insert(String idCompany, 
           String login, 
           String password, 
           String tableCode, 
           StringMap values)
select Realiza una consulta en una o varias tablas de Base de Datos Web.
StringMap[] select(String idCompany, 
                   String login, 
                   String password, 
                   String query)
selectById Consulta todas las columnas de un registro en una tabla de Base de Datos Web dado su UID.
StringMap selectById(String idCompany, 
                     String login, 
                     String password, 
                     String tableCode, 
                     int uid)
specialSelect Realiza una consulta libre en una o varias tablas de Base de Datos Web.
StringMap[] specialSelect(String idCompany, 
                          String login, 
                          String password, 
                          String query)
update Actualiza uno o varios registros de una tabla de Base de Datos Web siempre y cuando cumplan la condición dada.
int update(String idCompany, 
           String login, 
           String password, 
           String tableCode, 
           String conditions, 
           StringMap values)
updateById Actualiza un registro de una tabla de Base de Datos Web dado su UID.
int updateById(String idCompany,
               String login,
               String password,
               String tableCode,
               int uid,
               StringMap values)


Volver

Detalle de los métodos

insert

Inserta un registro en una tabla de Base de Datos Web.

Sintaxis

public int insert(String idCompany,
                  String login,
                  String password,
                  String tableCode,
                  StringMap values)
           throws InvalidUserException,
                  InternalDanaException,
                  InvalidTableOrColumnException,
                  InvalidCompanyException

Parámetros

  • idCompany - Identificador de la compañía propietaria de la base de datos.
  • login - Login del usuario que realiza la operación.
  • password - Clave del usuario que realiza la operación.
  • tableCode - Código lógico de la tabla en la cual se va a insertar el registro.
  • values - Diccionario con los valores del registro a insertar, la clave es el código lógico de la columna y el valor es el valor que va a recibir la columna.

Valor devuelto

UID o identificador del registro insertado.

Excepciones

- la tabla indicada no existe,
- no se indicó la tabla (es nulo o vacío),
- el usuario no tiene permiso de insertar registros en la tabla,
- la tabla no tiene columnas,
- no se indicaron columnas (el diccionario es nulo o vacío),
- al menos una de las columnas no existe.


Volver

updateById

Actualiza un registro de una tabla de Base de Datos Web dado su UID.

Sintaxis

public int updateById(String idCompany,
                      String login,
                      String password,
                      String tableCode,
                      int uid,
                      StringMap values)
               throws InvalidUserException,
                      InternalDanaException,
                      InvalidTableOrColumnException,
                      InvalidCompanyException

Parámetros

  • idCompany - Identificador de la compañía propietaria de la base de datos.
  • login - Login del usuario que realiza la operación.
  • password - Clave del usuario que realiza la operación.
  • tableCode - Código lógico de la tabla en la cual se va a actualizar el registro.
  • uid - Identificador del registro a ser actualizado.
  • values - Diccionario con los valores de las columnas a actualizar en el registro, la clave es el código lógico de la columna y el valor es el valor que va a recibir la columna.

Valor devuelto

Cantidad de registros afectados, cero si no se actualizó ningún registro.

Excepciones

- la tabla indicada no existe,
- no se indicó la tabla (es nulo o vacío),
- el usuario no tiene permiso de actualizar registros en la tabla,
- la tabla no tiene columnas,
- no se indicaron columnas (el diccionario es nulo o vacío),
- al menos una de las columnas no existe.


Volver

update

Actualiza uno o varios registros de una tabla de Base de Datos Web siempre y cuando cumplan la condición dada.

Detalle

Las condiciones corresponden a la cláusula where de una sentencia sql y se emplea su sintaxis; para referenciar una tabla o una columna se debe emplear el código lógico de esta y debe estar entre corchetes.

Ejemplo de condición

[PARTICIPANTE_NOMBRE] = 'Fulano' AND [PARTICIPANTE_APELLIDO] = 'De Tal'

Limitaciones

  • El sistema distingue entre mayúsculas y minúsculas en el código lógico de las tablas y columnas, por lo que se debe utilizar la correcta capitalización al referenciar a tablas y columnas.
  • En la condición solo se pueden utilizar columnas pertenecientes a la tabla indicada por argumento, si se trata de utilizar miembros de otras tablas el sistemas no los considerará válidos.
  • No están soportados los subquery (select dentro de la operación).

Sintaxis

public int update(String idCompany,
                  String login,
                  String password,
                  String tableCode,
                  String conditions,
                  StringMap values)
           throws InvalidUserException,
                  InternalDanaException,
                  InvalidTableOrColumnException,
                  InvalidQueryException,
                  InvalidCompanyException

Parámetros

  • idCompany - Identificador de la compañía propietaria de la base de datos.
  • login - Login del usuario que realiza la operación.
  • password - Clave del usuario que realiza la operación.
  • tableCode - Código lógico de la tabla en la cual se va a actualizar el(los) registro(s).
  • conditions - Condición que deben cuamplir los registros a actualizar.
  • values - Diccionario con los valores de las columnas a actualizar en el(los) registro(s), la clave es el código lógico de la columna y el valor es el valor que va a recibir la columna.

Valor devuelto

Cantidad de registros afectados, cero si no se actualizó ningún registro.

Excepciones

- la tabla indicada no existe,
- no se indicó la tabla (es nulo o vacío),
- el usuario no tiene permiso de actualizar registros en la tabla,
- la tabla no tiene columnas,
- no se indicaron columnas (el diccionario es nulo o vacío),
- al menos una de las columnas no existe (en el diccionario o en el query).
  • InvalidQueryException - Si la condición es inválida, esto puede ocurrir porque es nula o vacía o porque existe un error de sintaxis.
  • InvalidCompanyException - Si no existe una compañía registrada con el identificador suministrado.


Volver

deleteById

Elimina un registro de una tabla de Base de Datos Web dado su UID.

Sintaxis

public int deleteById(String idCompany,
                      String login,
                      String password,
                      String tableCode,
                      int uid)
               throws InvalidUserException,
                      InternalDanaException,
                      InvalidTableOrColumnException,
                      InvalidCompanyException

Parámetros

  • idCompany - Identificador de la compañía propietaria de la base de datos.
  • login - Login del usuario que realiza la operación.
  • password - Clave del usuario que realiza la operación.
  • tableCode - Código lógico de la tabla en la cual se va a actualizar el registro.
  • uid - Identificador del registro a ser eliminado.

Valor devuelto

Cantidad de registros afectados, cero si no se eliminó ningún registro.

Excepciones

- la tabla indicada no existe,
- no se indicó la tabla (es nulo o vacío),
- el usuario no tiene permiso para eliminar registros de la tabla.


Volver

delete

Elimina uno o varios registros de una tabla de Base de Datos Web siempre y cuando cumplan la condición dada.

Detalle

Las condiciones corresponden a la cláusula where de una sentencia sql y se emplea su sintaxis; para referenciar una tabla o una columna se debe emplear el código lógico de esta y debe estar entre corchetes.

Ejemplo de condición

[PARTICIPANTE_NOMBRE] = 'Fulano' AND [PARTICIPANTE_APELLIDO] = 'De Tal'

Limitaciones

  • El sistema distingue entre mayúsculas y minúsculas en el código lógico de las tablas y columnas, por lo que se debe utilizar la correcta capitalización al referenciar a tablas y columnas.
  • En la condición solo se pueden utilizar columnas pertenecientes a la tabla indicada por argumento, si se trata de utilizar miembros de otras tablas el sistemas no los considerará válidos.
  • No están soportados los subquery (select dentro de la operación).

Sintaxis

public int delete(String idCompany,
                  String login,
                  String password,
                  String tableCode,
                  String conditions)
           throws InvalidUserException,
                  InternalDanaException,
                  InvalidTableOrColumnException,
                  InvalidQueryException,
                  InvalidCompanyException

Parámetros

  • idCompany - Identificador de la compañía propietaria de la base de datos.
  • login - Login del usuario que realiza la operación.
  • password - Clave del usuario que realiza la operación.
  • tableCode - Código lógico de la tabla en la cual se va a actualizar el registro.
  • conditions - Condición que deben cuamplir los registros a eliminar.

Valor devuelto

Cantidad de registros afectados, cero si no se eliminó ningún registro.

Excepciones

- la tabla indicada no existe,
- no se indicó la tabla (es nulo o vacío),
- el usuario no tiene permiso para eliminar registros de la tabla,
- la tabla no tiene columnas,
- al menos una de las columnas no existe.
  • InvalidQueryException - Si la condición es inválida, esto puede ocurrir porque es nula o vacía o porque existe un error de sintaxis.
  • InvalidCompanyException - Si no existe una compañía registrada con el identificador suministrado.


Volver

selectById

Consulta todas las columnas de un registro en una tabla de Base de Datos Web dado su UID.

Sintaxis

public StringMap selectById(String idCompany,
                            String login,
                            String password,
                            String tableCode,
                            int uid)
                     throws InvalidUserException,
                            InternalDanaException,
                            InvalidTableOrColumnException,
                            InvalidCompanyException

Parámetros

  • idCompany - Identificador de la compañía propietaria de la base de datos.
  • login - Login del usuario que realiza la operación.
  • password - Clave del usuario que realiza la operación.
  • tableCode - Código lógico de la tabla en la cual se va a consultar el registro.
  • uid - Identificador del registro a ser consultado.

Valor devuelto

Objeto que contiene un diccionario con el valor de todas las columnas del registro, la clave es el código lógico de la columna y el valor es el valor de la columna.

Excepciones

- la tabla indicada no existe,
- no se indicó la tabla (es nulo o vacío),
- el usuario no tiene permiso para consultar registros de la tabla,
- la tabla no tiene columnas.


Volver

select

Realiza una consulta en una o varias tablas de Base de Datos Web.

Detalle

El query corresponden a la cláusula from en adelante de una sentencia select de sql y se emplea su sintaxis; para referenciar una tabla o una columna se debe emplear el código lógico de esta y debe estar entre corchetes.
La consulta va a retornar todos los campos de cada una de las tablas indicadas en la cláusula from de la consulta.

Ejemplo de query

FROM [PROYECTO], [PROYECTOPARTICIPANTE], [PARTICIPANTE] 
WHERE [PROYECTOPARTICIPANTE_CODIGODELPROYECTO] = [PROYECTO_CODIGO] AND
      [PROYECTOPARTICIPANTE_CEDULADEPARTICIPANTE] = [PARTICIPANTE_CEDULADEIDENTIDAD] AND
      [PROYECTO_ANODELPROYECTO] = '2008' AND
      [PROYECTO_ESTATUSDEPROYECTO] = '3' 
GROUP BY [PROYECTO_UID] 
ORDER BY [PROYECTO_CODIGO] ASC
LIMIT 0,20

Limitaciones

  • El sistema distingue entre mayúsculas y minúsculas en el código lógico de las tablas y columnas, por lo que se debe utilizar la correcta capitalización al referenciar a tablas y columnas.
  • No están soportados los subquery (select dentro de la operación).
  • No está soportado incluir tras operaciones select dentro del query.

Sintaxis

public StringMap[] select(String idCompany,
                          String login,
                          String password,
                          String query)
                   throws InvalidUserException,
                          InternalDanaException,
                          InvalidTableOrColumnException,
                          InvalidQueryException,
                          InvalidCompanyException

Parámetros

  • idCompany - Identificador de la compañía propietaria de la base de datos.
  • login - Login del usuario que realiza la operación.
  • password - Clave del usuario que realiza la operación.
  • query - Query de consulta de los registros.

Valor devuelto

Arreglo con cada registro resultante de la consulta, cada entrada del arreglo corresponde a un objeto que contiene un diccionario con el valor de todas las columnas del registro, la clave es el código lógico de la columna y el valor es el valor de la columna.

Excepciones

- la tabla indicada no existe,
- no se indicó la tabla (es nulo o vacío),
- el usuario no tiene permiso para consultar registros de la tabla,
- la tabla no tiene columnas,
- al menos una de las columnas no existe.
  • InvalidQueryException - Si el query es inválido, esto puede ocurrir porque es nulo o vacío o porque existe un error de sintaxis.
  • InvalidCompanyException - Si no existe una compañía registrada con el identificador suministrado.


Volver

specialSelect

Realiza una consulta libre en una o varias tablas de Base de Datos Web.

Detalle

El query corresponden a una consulta select de sql y se emplea su sintaxis; para referenciar una tabla o una columna se debe emplear el código lógico de esta y debe estar entre corchetes.

Ejemplo de query

SELECT [PROYECTO_UID], [PROYECTO_CODIGO]
FROM [PROYECTO], [PROYECTOPARTICIPANTE], [PARTICIPANTE] 
WHERE [PROYECTOPARTICIPANTE_CODIGODELPROYECTO] = [PROYECTO_CODIGO] AND 
      [PROYECTOPARTICIPANTE_CEDULADEPARTICIPANTE] = [PARTICIPANTE_CEDULADEIDENTIDAD] AND 
      [PROYECTO_ANODELPROYECTO] = '2008' AND 
      [PROYECTO_ESTATUSDEPROYECTO] = '3' 
GROUP BY [PROYECTO_UID] 
ORDER BY [PROYECTO_CODIGO] ASC 
LIMIT 0,20

Limitaciones

  • El sistema distingue entre mayúsculas y minúsculas en el código lógico de las tablas y columnas, por lo que se debe utilizar la correcta capitalización al referenciar a tablas y columnas.

Sintaxis

public StringMap[] specialSelect(String idCompany,
                                 String login,
                                 String password,
                                 String query)
                          throws InvalidUserException,
                                 InternalDanaException,
                                 InvalidTableOrColumnException,
                                 InvalidQueryException,
                                 InvalidCompanyException

Parámetros

  • idCompany - Identificador de la compañía propietaria de la base de datos.
  • login - Login del usuario que realiza la operación.
  • password - Clave del usuario que realiza la operación.
  • query - Query de consulta de los registros.

Valor devuelto

Arreglo con cada registro resultante de la consulta, cada entrada del arreglo corresponde a un objeto que contiene un diccionario con el valor de todas las columnas del registro, la clave es el código lógico de la columna y el valor es el valor de la columna.

Excepciones

- la tabla indicada no existe,
- no se indicó la tabla (es nulo o vacío),
- el usuario no tiene permiso para consultar registros de la tabla,
- la tabla no tiene columnas,
- al menos una de las columnas no existe.
  • InvalidQueryException - Si el query es inválido, esto puede ocurrir porque es nulo o vacío o porque existe un error de sintaxis.
  • InvalidCompanyException - Si no existe una compañía registrada con el identificador suministrado.


Volver

Ejemplos

Para descargar los ejemplos presione aquí


Volver

Herramientas personales
Página Principal