IMPORT com IMPORT util TYPE t_sync_cmd RECORD oper STRING, data STRING END RECORD DEFINE url STRING MAIN CALL testcliente() END MAIN FUNCTION testcliente() DEFINE s,xrnc STRING, r_cmd t_sync_cmd DEFINE p RECORD data RECORD tipo_cliente SMALLINT, sec_cliente INT, nombre varchar(100) , codigo VARCHAR(10), cod_zona SMALLINT , cod_provincia SMALLINT, telefono char(25), fax char(25), telex char(25), patente varchar(80), limite_credito dec(10, 2), tipo_documento char(10), num_rnc char(25) , contactoPrincipal char(80), Puesto_laboral varchar(50), telefono_casa varchar(25), tipo_negocio SMALLINT, cond_pago SMALLINT, id_ciudad SMALLINT , url VARCHAR(100), casa_num VARCHAR(50), direccion VARCHAR(100), sector VARCHAR(100), urbanizacion VARCHAR(100), usuario VARCHAR(50), clave VARCHAR(50), id_crm VARCHAR(200), sec_vend INT END RECORD, contactos DYNAMIC ARRAY OF RECORD contacto VARCHAR(60), tipo_negocio_contacto INT, puesto VARCHAR(60), puesto1 VARCHAR(60), email VARCHAR(60), celular VARCHAR(20), telefono_of VARCHAR(20), telefono_casa VARCHAR(20) END RECORD, vendedor_aux DYNAMIC ARRAY OF RECORD sec_vend_aux INT, nombre_vend_aux VARCHAR(100) END RECORD END RECORD, ret INTEGER, res STRING LET url = "http://192.168.40.9/gas/ws/r/restserver" LET p.data.tipo_cliente=21 LET p.data.sec_cliente=0 LET p.data.nombre ='CLIENTE DE PRUEBA X11' LET P.data.codigo = 'DO' LET p.data.cod_zona =1 LET p.data.cod_provincia =1 LET p.data.telefono ='829-847-3878' LET p.data.fax ='809-528-0650' LET p.data.telex ='809-227-1322' LET p.data.patente ='patente' LET p.data.limite_credito = 1000000 LET p.data.tipo_documento = '01' LET p.data.num_rnc ='130337391' LET p.data.contactoPrincipal ='JHONNY SOTO' LET p.data.Puesto_laboral = 'GERENTE TECNOLOGIA' LET p.data.telefono_casa = '809-620-2924' LET p.data.tipo_negocio = 01 LET p.data.cond_pago = 4 LET p.data.id_ciudad = 1000 LET p.data.url = 'http://nace.com' LET p.data.casa_num = '# 01' LET p.data.direccion = 'CALLE PRIMERA, RES. SOL CRECIENTE' LET p.data.sector = 'ARROYO HONDO II' LET p.data.urbanizacion = 'SOL CRECIENTE' LET p.data.usuario = 'jusoto' LET p.data.clave = 'lmmjvsd2014' LET p.data.id_crm = 'string id cuenta en crm' LET p.data.sec_vend = 3355 LET p.contactos[1].contacto = 'ALBERTO SOTO' LET p.contactos[1].celular = '809-555-5555' LET p.contactos[1].email = 'albereto@hotmail.com' LET p.contactos[1].puesto = 'CONTADOR' LET p.contactos[1].telefono_casa = '829-555-5555' LET p.contactos[1].telefono_of = '849-555-5555' LET p.contactos[1].tipo_negocio_contacto = 1 LET p.contactos[2].contacto = 'NATALIE ACEVEDO' LET p.contactos[2].celular = '809-666-6666' LET p.contactos[2].email = 'na@hotmail.com' LET p.contactos[2].puesto = 'PINTORA' LET p.contactos[2].telefono_casa = '829-666-6666' LET p.contactos[2].telefono_of = '849-777-7777' LET p.contactos[2].tipo_negocio_contacto = 2 LET p.vendedor_aux[1].nombre_vend_aux='VENDEDOR PRUEBA 1' LET p.vendedor_aux[1].sec_vend_aux=1 LET p.vendedor_aux[2].nombre_vend_aux='VENDEDOR AUX PRUEBA 2' LET p.vendedor_aux[2].sec_vend_aux=2 LET r_cmd.oper = 'clientes_insert' LET r_cmd.data = util.JSON.stringify(p) LET s = util.JSON.stringify(r_cmd) DISPLAY "s-",s CALL sync_send_command(url, s) RETURNING ret, res DISPLAY "DATOS ",res END FUNCTION FUNCTION sync_send_command(url, cmd) DEFINE url, cmd STRING DEFINE result, tmp STRING DEFINE http_req com.HTTPRequest DEFINE http_resp com.HTTPResponse TRY LET http_req = com.HTTPRequest.Create(url) CALL http_req.setConnectionTimeout(40) CALL http_req.setTimeout(40) CALL http_req.setMethod("POST") CALL http_req.setCharset("UTF-8") CALL http_req.setHeader("DBSync-Client","mbs") CALL http_req.setHeader("Content-Type","dbsync/json") CALL http_req.doTextRequest(cmd) LET http_resp=http_req.getResponse() IF http_resp.getStatusCode() != 200 THEN RETURN http_resp.getStatusCode(), http_resp.getStatusDescription() END IF LET tmp = http_resp.getStatusDescription() IF (tmp == "OK" || tmp == "no error" ) THEN RETURN -1, SFMT("HTTP request status description: %1 ",tmp) END IF LET result = http_resp.getTextResponse() CATCH RETURN -2, SFMT("HTTP request error: STATUS=%1 (%2)",STATUS,SQLCA.SQLERRM) END TRY RETURN 0, result END FUNCTION FUNCTION show_sync_err(msg) DEFINE msg STRING CALL fgl_winmessage(%"ERROR", msg, "exclamation") END FUNCTION