¿Cómo obtener la información de terceros?
GetInfoTercero (datajson, controlkey, iapp, random) : json

Descripción

Función encargada de retornar la información de un tercero. Existen 3 formas de obtener la información de un tercero:

Resultado

Retorna un Json con la información de un tercero.
Seguridad
Aplica todas las configuraciones de seguridad de datos y de seguridad de acciones de ContaPyme / AgroWin.
Compatibilidad de la API
Función disponible desde ContaPyme/AgroWin Versión 4 - Release 7.

Petición

Requisitos
Debe haber realizado el logueo en el agente a través de la función GETAUTH().
Parámetros
Nombre parámetro Tipo Descripción Ejemplo
dataJSON JSON

Json que contiene en su interior la siguiente estructura:

init: Identificador único del tercero. (requerido)

secciones: Json que contiene los nombres de las secciones de información que se desean obtener, dentro de cada sección es posible solicitar datos particulares.

Las secciones que se pueden obtener son:
"infobasica" => Retorna la información básica del tercero, la documentación de los campos que retorna esta sección se encuentra en el documento "InfoBasica" de la zona de “Documentación de apoyo”.

"tipotercero" => Retorna los tipos de tercero que tenga asignados el tercero en el sistema, la documentación de los campos que retorna esta sección se encuentra en el documento "TipoTercero" de la zona de “Documentación de apoyo”.

"listacontactos" => Retorna el listado de contactos asociados al tercero, la documentación de los campos que retorna esta sección se encuentra en el documento “ListaContactos" de la zona de “Documentación de apoyo”.

"conceptosnominacontable" => Retorna el listado de conceptos de nómina contable que tiene asociados el tercero, la documentación de los campos que retorna esta sección se encuentra en el documento "ConceptosNominaContable" de la zona de “Documentación de apoyo”.

"entidadesempleado" => Retorna el listado de entidades a las que está afiliado el tercero (cuando es de tipo empleado), la documentación de los campos que retorna esta sección se encuentra en el documento "EntidadesEmpleado" de la zona de “Documentación de apoyo”.

"datosvendedor" => Retorna la información de datos vendedor, la documentación de los campos que retorna esta sección se encuentra en el documento "DatosVendedor" de la zona de “Documentación de apoyo”.

"lineasproductos" => Retorna la información de las líneas de productos que tiene asociadas el tercero (cuando es de tipo proveedor), la documentación de los campos que retorna esta sección se encuentra en el documento "LineasProductos" de la zona de “Documentación de apoyo”

"listaeleminvproveedor" => Retorna la información de los elementos de inventario que ofrece el proveedor, la documentación de los campos que retorna esta sección se encuentra en el documento "ListaElemInvProveedor" de la zona de “Documentación de apoyo”.

"listadirecciones" => Retorna la información de las direcciones que tenga asociadas el tercero, la documentación de los campos que retorna esta sección se encuentra en el documento "ListaDirecciones" de la zona de “Documentación de apoyo”

"listaproductoscomprados" => Retorna la información de los productos que se han comprado al proveedor, la documentación de los campos que retorna esta sección se encuentra en el documento "ListaProductosComprados" de la zona de “Documentación de apoyo”

{ "init":"810000630" }
controlkey Varchar Corresponde al keyagente obtenido en el logueo (requerido). "564654"
iapp Varchar Código que identifica a la aplicación que interactúa con el Agente (requerido) "1068"
random Varchar Cadena aleatoria que se crea en el lado del cliente, esto con el fin de que las peticiones no sean cacheadas por el navegador Internet Explorer (para aplicaciones web). (Opcional). "54654"
Ejemplo de la ejecución en JavaScript
//Escriba a continuación la URL donde se encuentra su Agente de servicios web de ContaPyme. var URLUbicacion = 'http://local.insoft.co:9000' var URLFuncion = '/datasnap/rest/TCatTerceros/"GetInfoTercero"/'; //Se construye la URL completa la cual es la concatenación de la ubicación y la función var URL = URLUbicacion + URLFuncion; //Invocamos la función que retorna controlKey para modo aprendizaje var controlkey = getControlKey(URLUbicacion); //1001 es el iapp configurado para agente de servicios web de ContaPyme. var iapp = "1001"; //dataJSON: parámetros de entrada para la función var dataJSON = { "init":"810000630" }; //Se arma los 4 parámetros de entrada de la funcion var JSONSend ={ "_parameters" : [ JSON.stringify(dataJSON), controlkey, iapp ,"0" ] }; //se constuye objeto para realizar la petición desde JavaScript var xhr = new XMLHttpRequest(); //Se inicializa la solicitud enviando el verbo y la URL a invocar xhr.open("POST",URL); //Se define el evento que se disparará cuando se resuelva la petición xhr.onreadystatechange = function() { //se verifica que la petición se hubiese terminado if (xhr.readyState == 4 && xhr.status == 200) { //se envia la respuesta del servidor para que se imprima imprimirRespuesta(xhr.responseText) } }; //Envía la solicitud adjuntando el JSONSend que contiene los 4 parametros de la función xhr.send(JSON.stringify(JSONSend));
//Escriba a continuación la URL donde se encuentra su Agente de servicios web de ContaPyme. var URLUbicacion = 'http://local.insoft.co:9000' var URLFuncion = '/datasnap/rest/TCatTerceros/"GetInfoTercero"/'; //Se construye la URL completa la cual es la concatenación de la ubicación y la función var URL = URLUbicacion + URLFuncion; //Invocamos la función que retorna controlKey para modo aprendizaje var controlkey = getControlKey(URLUbicacion); //1001 es el iapp configurado para agente de servicios web de ContaPyme. var iapp = "1001"; //dataJSON: parámetros de entrada para la función var dataJSON = { "init":"810000630", "secciones": { "infobasica":[], "listacontactos":[] } }; //Se arma los 4 parámetros de entrada de la funcion var JSONSend ={ "_parameters" : [ JSON.stringify(dataJSON), controlkey, iapp ,"0" ] }; //se constuye objeto para realizar la petición desde JavaScript var xhr = new XMLHttpRequest(); //Se inicializa la solicitud enviando el verbo y la URL a invocar xhr.open("POST",URL); //Se define el evento que se disparará cuando se resuelva la petición xhr.onreadystatechange = function() { //se verifica que la petición se hubiese terminado if (xhr.readyState == 4 && xhr.status == 200) { //se envia la respuesta del servidor para que se imprima imprimirRespuesta(xhr.responseText) } }; //Envía la solicitud adjuntando el JSONSend que contiene los 4 parametros de la función xhr.send(JSON.stringify(JSONSend));
//Escriba a continuación la URL donde se encuentra su Agente de servicios web de ContaPyme. var URLUbicacion = 'http://local.insoft.co:9000' var URLFuncion = '/datasnap/rest/TCatTerceros/"GetInfoTercero"/'; //Se construye la URL completa la cual es la concatenación de la ubicación y la función var URL = URLUbicacion + URLFuncion; //Invocamos la función que retorna controlKey para modo aprendizaje var controlkey = getControlKey(URLUbicacion); //1001 es el iapp configurado para agente de servicios web de ContaPyme. var iapp = "1001"; //dataJSON: parámetros de entrada para la función var dataJSON = { "init": "810000630", "secciones": { "infobasica": [ "ntercero", "napellido", "itddocum" ] } }; //Se arma los 4 parámetros de entrada de la funcion var JSONSend ={ "_parameters" : [ JSON.stringify(dataJSON), controlkey, iapp ,"0" ] }; //se constuye objeto para realizar la petición desde JavaScript var xhr = new XMLHttpRequest(); //Se inicializa la solicitud enviando el verbo y la URL a invocar xhr.open("POST",URL); //Se define el evento que se disparará cuando se resuelva la petición xhr.onreadystatechange = function() { //se verifica que la petición se hubiese terminado if (xhr.readyState == 4 && xhr.status == 200) { //se envia la respuesta del servidor para que se imprima imprimirRespuesta(xhr.responseText) } }; //Envía la solicitud adjuntando el JSONSend que contiene los 4 parametros de la función xhr.send(JSON.stringify(JSONSend));
EJECUTAR CODIGO
Ver otros ejemplos en: PHP , JAVA , C# , Visual Basic.net , Visual Basic 6 , Delphi.
Ver documentación de la petición por GET.

Respuesta

JSONIr arriba
{ "result": [ { "encabezado": { "resultado": "true", "imensaje": "", "mensaje": "", "tiempo": "174" }, "respuesta": { "datos": { "infobasica": { "init": "10212121", "ntercero": "ALBERTO GARCÍA", "idigchequeo": "", "bempresa": "F", "napellido": "", "itddocum": "13", "isexo": "M", "fnacimiento": "03-22-1979", "stratamiento": "Señor", "sprofesion": "Contador público", "nempresa": "Grupo empresarial", "scargo": "Contador", "swww": "", "semail": "agarcia@todopcs.com", "smsn": "", "sskype": "", "bvisible": "T", "sclasiflegal": "PN;RS", "ipais": "169", "idep": "17", "imun": "001", "tdireccion": "Calle 45 # 21 - 03", "sbarrio": "Centro", "ttelefono": "8752369", "tcelular": "3217581402", "tfax": "", "itdcategoria": "Cliente", "itdtercero": "", "scodigoalterno": "", "sobservaciones": "", "ivendedor": "14856296", "iactividadeconomica": "", "itiponegocio": "", "bperfil": "F", "iperfil": "", "ilistaprecios": "", "icccliente": "", "pdescuentoventasfijo": "", "berrorexcesocupocredito": "F", "qdiasplazocxc": "", "bbloquearcreditos": "F", "mcupocredito": "", "iccempleado": "", "iautorizacionblqcreditos": "", "bbloquearpagos": "F", "iautorizacionblqpagos": "", "bmarcadian": "F", "berrdian": "F", "calc_ipaisidep": "16917", "calc_ipaisidepimun": "16917001", "iws": "PC-MCIFUENTES", "fcreacion": "07/02/2005 12:30:11", "iwsult": "SERVER", "fultima": "03/22/2014 11:37:49", "iusuario": "ADMIN", "iusuarioult": "PALZATE", "qregdirecciones": "1", "qregcontactos": "1", "qregdatosvendedor": "0", "qreglineas": "0", "qregproductos": "0", "calc_nterceronapellido": "ALBERTO GARCÍA", "calc_napellidontercero": "ALBERTO GARCÍA", "qregnomcnt": "0", "qregentidades": "0", "isucursal": "", "bempleadonomina": "T", "iingresossup": "", "baportespension": "F", "baportessalud": "F", "baportesarp": "F", "maportespension": "", "maportespensionvol": "", "maportessalud": "", "maportesarp": "", "mcuentasafc": "", "binteresado": "F", "itdinteresado": "", "bverifyvencimientomaximocxc": "", "qdiasvencimientomaximocxc": "", "berrorvencimientomaximocxc": "", "scodigopostal": "", "bautorizaenvioemail": "T", "qnumfallos": "", "bplataformaweb": "F", "bregistroweb": "F", "itdregistroweb": "", "ibanco": "", "itdctabanco": "", "ibanco2": "", "itdctabanco2": "", "npais": "COLOMBIA", "ndep": "CALDAS", "nmun": "MANIZALES", "ndocumento": "Cédula" }, "tipotercero": [ { "base": "2", "codigo": "2" } ], "listacontactos": [ { "init": "10212121", "ilinea": "0", "nnombre": "Paola", "napellido": "Gómez Restrepo", "sobservaciones": " ", "stratamiento": "Señora", "sprofesion": "", "scargo": "", "ttelefono": "8919874", "tcelular": "3217698854", "semail": "paolagr@gmail.com", "smsn": "", "sskype": "", "sclasificador": "", "fultima": "03/22/2014 10:37:37", "isexo": "F", "stipo": "" } ], "listadirecciones": [ { "init": "10212121", "ilinea": "0", "nsucursal": "Sur", "ipais": "169", "idep": "17", "imun": "001", "tdireccion": "Calle 63 # 24-51", "sbarrio": "Palogrande", "ncontacto": "", "ttelefono": "", "tfax": "", "tcelular": "", "fultima": "03/22/2014 10:37:37" } ] } } } ] }
Descripción del JSON Ir arriba
Nombre parámetro Tipo Descripción
encabezado JSON

Json que contiene en su interior los siguientes datos:

resultado (varchar): Retorna true siempre que la petición se ejecute satisfactoriamente.
imensaje (varchar): Código del mensaje de eventualidad o error en caso de presentarse.
mensaje (varchar): Mensaje de eventualidad o error en caso de presentarse.
tiempo (varchar): Tiempo que se tardó el Agente en resolver la petición, este tiempo está dado en milisegundos.

respuesta JSON

Json que contiene en su interior cada uno de los campos con la respectiva información del tercero solicitado.
Para conocer la descripción de cada campo, consultar la documentación de “InfoTercero” que se encuentra en la zona de “Documentación de apoyo”.

EventualidadesIr arriba
Para esta función se pueden presentar las siguientes eventualidades o errores: Un ejemplo del JSON que retorna la función cuando se genera una eventualidad es el siguiente:

{ "result":[{ "encabezado":{"resultado":"false","imensaje":"40","mensaje":"Usuario no logueado."}, "respuesta":{"datos":""} }] }

©2016 InSoft Todos los derechos reservados.