Nombre de la Categoría: > API'S

API de Carga Masiva de Contactos

Definición y Utilización

Es un servicio web basado en REST, su wadl se encuentra en:

https://ws.danaconnect.com:18181/com.danaconnect.contactManager.access.http-development/rest/application.wadl

El url utilizado para la inserción de los registros del archivo es:

https://ws.danaconnect.com:18181/com.danaconnect.contactManager.access.http-development/rest/webdb/table/+ tableCode

Donde tableCode, corresponde al código lógico de la lista de contactos previamente creada en la cuenta Dana donde se realizará la importación. Este código se encuentra, entrando al módulo de Contact Manager, haciendo clic en la Lista de Contactos a ser utilizada y una vez abierta haciendo clic sobre su Nombre.

 

 

El usuario con el que se debe realizar la autenticación al invocar el url, es la concatenación del usuario Dana, arroba (@) y el ID Company. La contraseña, es la utilizada por el usuario Dana.

Por ejemplo, si el usuario entra a la herramienta a través de demo.danaconnect.com con los datos:

 

usuario: webservice

contraseña: pass

 

deberá autenticarse en el web service de la siguiente manera:

 

usuario: webservice@demo

contraseña: pass

 

Adicionalmente, deben enviarse en la petición los siguientes parámetros:

 

  • keyField: código lógico del campo o campos, que hacen único a un registro. En caso de ser más de uno estos deben ir separados por punto y coma (;)

 

  • separator: carácter utilizado para separar valores dentro del archivo.

 

 

  • operationType: UPDINS, para insertar los registros nuevos y actualizar los ya existentes. INSALL, para insertar todo los registros. UPDALL, para actualizar todos los registros. INSNEW, para insertar solo los nuevos registros. Todos los tipos de operación están basados en el valor definido como keyField para determinar cuáles son nuevos y cuales ya existen.

 

  • includeHeaders: true si el primer registro del archivo corresponde a los nombres de las columnas, false en caso contrario.

 

  • fieldsCode: códigos lógicos de las columnas separados por punto y coma (;), en el mismo orden que se encuentran en el archivo.

 

  • delimiter: carácter utilizado para identificar donde comienza un valor y donde termina el mismo.

 

  • strict: true si desea realizarse la inserción a pesar de que algunos registros fallen, false si se desea abortar el proceso en caso de que algún registro falle.

 

  • encodingType: tipo de codificación del archivo a importar, generalmente UTF-8

 

  • file: nombre y ruta del archivo a utilizar.

 

La estructura del archivo a enviar debe cumplir con las siguientes condiciones:

  • Cada línea es un registro (fila) a insertar.
  • Dentro de cada registro, las columnas deben estar separadas por el caracter indicado como separador en los parámetros y delimitado por el indicado como delimitador.

 

Los códigos de los campos a enviar (keyField y fieldsCode), se encuentran en la herramienta Dana, ingresando al Contact Manager, ubicando la lista de contactos a ser utilizada y haciendo clic en ella. Una vez allí, en la esquina superior derecha, hacer clic en el icono de configuración de campos.

 

Screen Shot 2016-03-15 at 10.59.17 AM

 

En la ventana que se despliega, colocarse sobre el nombre de una columna y hacer clic en el botón Configurar que aparece en la esquina inferior derecha de la misma.

 

Screen Shot 2016-03-15 at 11.02.31 AM

En la nueva ventana, ubicar el valor en la etiqueta Código.

 

 

Screen Shot 2016-03-15 at 11.05.20 AM

Una vez ubicados todos los valores de los parámetros a enviar, se invoca al servlet.

 

Parámetros:

file = «/home/user/uploadFile.txt»;

idCompany=»demo»;

login=»webservice»;

password=»pass»;

separator=»|»;

delimiter = «\»»;

strict=»true»;

encodingType = «UTF-8″;

includeHeaders=»true»;

operationType=»INSALL»;

tableCode= «PRUEBAWS»;

fieldsId=»PRUEBAWS_CELULAR;PRUEBAWS_CONTACTO;PRUEBAWS_CLIENTE;PRUEBAWS_ID_NOTIFICACION»;

keyField=»PRUEBAWS_ID_NOTIFICACION»;

 

target_url=»https://ws.danaconnect.com:18181/com.danaconnect.contactManager.access.http-development/rest/webdb/table/»+ tableCode;

 

ch = curl_init();

post = array(‘keyField’=> keyField,

‘separator’=> separator,

‘operationType’=> operationType,

‘includeHeaders’=> includeHeaders,

‘fieldsCode’=> fieldsId,

‘delimiter’=> delimiter,

‘strict’=> strict,

‘encodingType’=> encodingType,

‘file’=> ‘@’.file.’;type=text/csv;filename=’.file_name);

 

curl_setopt(ch, CURLOPT_URL,target_url);

curl_setopt(ch, CURLOPT_USERPWD, login.»@».idCompany.»:».password);

curl_setopt(ch, CURLOPT_PORT, 18181);

curl_setopt(ch, CURLOPT_POST, true);

curl_setopt(ch, CURLOPT_POSTFIELDS, post);

 

result=curl_exec(ch);

 

 

También puede consultar ¿Cómo puedo activar mi servicio para el envío de Archivos Adjuntos Dinámicos?


Ver Tambien:
« | »