Artículos sobre: APIs y Webservices

API REST – Carga Masiva de Contactos

Especificaciones OpenAPI:


Puede encontrar toda la documentación y especificaciones bajo el estándar OpenAPI en nuestro portal de desarrolladores: https://dev.danaconnect.com

API REST – Carga Masiva de Contactos



La Carga Masiva de contactos es un servicio web basado en REST y su WADL se encuentra en:

https://ws.danaconnect.com/api/contacts/rest/application.wadl

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

https://ws.danaconnect.com/api/contacts/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 con los datos siguientes:


código de compañía: demo
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 dónde comienza un valor y dónde 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.





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.




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




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/api/contacts/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, ${color}[#ef4b26](login.”@”.idCompany).”:”.password);

curl_setopt(ch, CURLOPT_PORT, 443);

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?

Actualizado el: 14/12/2021

¿Este artículo te resultó útil?

Comparte tu opinión

Cancelar

¡Gracias!