URL

https://karbooking.com/service/get-new-trips

Parámetros

Debe enviar por POST las variables

  • user: Usuario válido de Karbooking
  • pass: Password de un usuario válido de Karbooking
  • last_transaction: Número de la última transacción procesada, utilizado por Karbooking para enviar sólo novedades. La primera vez que se llama el servicio, puede ser 01)

Ejemplo para consumirlo

<html><body><form action="https://karbooking.com/service/get-new-trips" method="POST">
User: <input type="text" class="form-control" name="user" value=""><br>
Pass: <input type="text" class="form-control" name="pass" value=""><br>
Transaction: <input type="text" class="form-control" name="last_transaction" value="1"><br>
<input type="submit" value="Submit">
</form></body></html>

Resultado

El resultado es en formato JSON:

{
    "success": true/false,
    "trips": [ // (array de viajes)
        {
            (campos de viaje),
            "cliente": { (campos de cliente) },
            "desde_intermediate": [ { (campos de paradas intermedias ida) },],
            "hasta_intermediate": [ { (campos de paradas intermedias en retorno) },],
            "auth": { (campos autorizante) },
            "pax1": { (campos pasajero) },
            "pax2": { (campos pasajero) }, // puede ser null
            "pax3": { (campos pasajero) }, // puede ser null
            "pax4": { (campos pasajero) }  // puede ser null
        },],
    "transaction": nnn,   // (número de transacción)
    "reason_code": n,     // (código de error en caso de "success": false)
    "reason_desc": "xxxx" // (descripción del error en caso de "success": false)
}

Campos de viaje

'id', 'fecha_salida', 'hora_salida', 'fecha_pedido', 'hora_pedido', 'fecha_inicio', 'hora_inicio', 'fecha_fin', 'hora_fin', 'fecha_turno', 'tipo_servicio', 'destino_frecuente', 'desde_dir_id', 'desde_dir_nombre', 'desde_dir_calle', 'desde_dir_piso_depto', 'desde_dir_localidad', 'desde_dir_lat', 'desde_dir_lng', 'hasta_dir_id', 'hasta_dir_nombre', 'hasta_dir_calle', 'hasta_dir_piso_depto', 'hasta_dir_localidad', 'hasta_dir_lat', 'hasta_dir_lng', 'observaciones_ch', 'observaciones_cl', 'observaciones_op', 'km_presup', 'disposicion_solic', 'presupuesto_cl', 'presupuesto_ch', 'cuenta_corriente', 'tarjeta_credito', 'checks', 'status', 'factura', 'disposicion', 'oneway_distance_cl', 'oneway_distance_ch', 'return_distance_cl', 'return_distance_ch', 'kms', 'kms_0a', 'kms_b0', 'kms_cl', 'kms_ch', 'importe_kms_cl', 'importe_kms_ch', 'kms_ad', 'importe_kms_ad_cl', 'importe_kms_ad_ch', 'interm_dest', 'ajuste_cl', 'ajuste_ch', 'peajes', 'telepeajes', 'hoteleria', 'parking', 'carga', 'gastos', 'tiempo_espera', 'costo_espera_cl', 'costo_espera_ch', 'impuestos_cl', 'comprobante', 'fecha_cierre', 'hora_cierre', 'observaciones_cierre', 'closed_and_checked', 'razon_baja', 'fecha_baja', 'create_time', 'update_time', 'baja'
  • Los campos de KMs que se deben utilizar en SGO son 'kms_cl' y 'kms_ch' que corresponden a la combinación de 'kms', 'kms_0a', 'kms_b0' según corresponda a la fórmula de cálculo de distancia
  • El campo 'checks' puede tomar los siguientes valores:
    • DISPOSITION: Si es con disposición
    • RETURN: Si es con retorno
    • MESSAGING: Si es mensajería
    • INVOICE: Si solicita factura
    • BILINGUAL: Si solicita conductor bilingüe
    • ADD_MIN_TRIP: Agrega el costo de un viaje mínimo
    • NO_GNC: Solicita que no sea GNC
  • Estos son redundantes, ya que hay otros campos que indican lo mismo:
    • FIX_CREDIT_CARD: Tarjeta de crédito
    • FIX_IS_FREQ_DEST: Es destino frecuente (tarifa fija por barrio)
    • FIX_HAS_INTERM_DEST: Tiene paradas intermedias

Campos de Cliente

'id', 'nombre', 'cuit', 'email', 'email_viajes', 'observaciones', 'fecha_ingreso', 'cuenta_corriente', 'baja'

Campos de Pasajero

'id', 'nombre', 'numero', 'email', 'tipo', 'telefono_alt', 'legajo', 'fecha_nacimiento', 'numero_documento', 'observaciones', 'observaciones_ch', 'observaciones_op', 'baja'

Campos desde_intermediate y hasta_intermediate

'dir_calle', 'dir_localidad', 'dir_piso_depto', 'dir_nombre', 'dir_id', 'dir_lat', 'dir_lng', 'aeropuerto'
// donde 'aeropuerto' puede ser null o un objeto con los siguientes campos:
'id_aeropuerto', 'id_aerolinea', 'flightno', 'id_procedencia', 'airsign', 'tipo'

Campos de Factura

'fecha', 'desde', 'hasta', 'pto_vta', 'comprobante', 'cbte_tipo', 'val_tipo', 'val_numero', 'concepto', 'doc_tipo', 'imp_total', 'imp_neto_gastos', 'imp_neto_no_gravado', 'imp_neto_gravado', 'imp_neto_exento', 'imp_neto_terceros', 'imp_neto_agencia', 'imp_iva', 'imp_tributos', 'moneda_id', 'moneda_cotiz', 'informa_iva', 'condicion_pago', 'cae_num', 'cae_vto', 'vencimiento_pago', 'cli_razon_social', 'cli_documento', 'cli_direccion', 'cli_codigo_postal', 'cli_localidad', 'cli_telefono', 'cli_tipo_responsable', 'production'
  • pto_vta: Campo PtoVta de AFIP: Punto de venta
  • cbte_tipo: Campo CbteTipo de AFIP: Tipo de comprobante (ver tipos disponibles)
  • concepto: Campo Concepto de AFIP: Concepto del Comprobante: (1)Productos, (2)Servicios, (3)Productos y Servicios
  • doc_tipo: Campo DocTipo de AFIP: Tipo de documento del comprador (99 consumidor final, ver tipos disponibles)
  • cli_documento: Campo DocNro de AFIP: Número de documento del comprador (0 consumidor final)
  • comprobante: Campos CbteDesde y CbteHasta de AFIP: Número de comprobante
  • val_tipo: Texto correspondiente al tipo de comprobante (por ejemplo “Factura A”)
  • val_numero: Texto correspondiente a pto_vta y comprobante (por ejemplo “0005-00000023”)
  • fecha: Campo CbteFch de AFIP: Opcional) Fecha del comprobante (yyyymmdd) o fecha actual si es nulo
  • desde: Campo FchServDesde de AFIP: Fecha de inicio del abono para el servicio a facturar
  • hasta: Campo FchServHasta de AFIP: Fecha de fin del abono para el servicio a facturar
  • vencimiento_pago: Campo FchVtoPago de AFIP: Fecha de vencimiento del pago servicio a facturar
  • imp_total: Campo ImpTotal de AFIP: Importe total del comprobante
  • imp_neto_no_gravado + imp_neto_gastos: Campo ImpTotConc de AFIP: Importe neto no gravado
  • imp_neto_gravado: Campo ImpNeto de AFIP: Importe neto gravado
  • imp_neto_exento: Campo ImpOpEx de AFIP: Importe exento de IVA
  • imp_iva: Campo ImpIVA de AFIP: Importe total de IVA
  • imp_tributos: Campo ImpTrib de AFIP: Importe total de tributos
  • moneda_id: Campo MonId de AFIP: Tipo de moneda usada en el comprobante (ver tipos disponibles)('PES' para pesos argentinos)
  • moneda_cotiz: Campo MonCotiz de AFIP: Cotización de la moneda usada (1 para pesos argentinos)
  • informa_iva: 1 si informa IVA
  • condicion_pago: Texto correspondiente a la condición de pago (por ejemplo “Cuenta Corriente”)
  • cbu_number: Número de CBU (en facturas de crédito)
  • cbu_alias: Alias de CBU (en facturas de crédito)
  • cae_num: Número de CAE otorgado por AFIP
  • cae_vto: Vencimiento de CAE otorgado por AFIP
  • cli_razon_social: Razón Social del cliente
  • cli_documento: Número de documento (CUIT/CUIL/DNI)
  • cli_direccion: Dirección del cliente
  • cli_codigo_postal: Código Postal del cliente
  • cli_localidad: Localidad del cliente
  • cli_telefono: Teléfono del cliente
  • cli_tipo_responsable: Tipo de Responsable del cliente (por ejemplo “IVA Responsable Inscripto”)
  • production: 1 si se trata de una factura de producción en AFIP (si no, no se debe tener en cuenta)

Configuración

El equipo de Karbooking puede configurar los siguientes parámetros que definen en qué momento se registran los servicios para estar disponibles en el webservice

  • Servicios: Web Service - Registrar nuevos servicios
  • Servicios: Web Service - Registrar servicios al pasar de “Cerrados a Revisar” a “Cerrados”
  • Servicios: Web Service - Registrar servicios marcados con tilde “Revisado”
  • Servicios: Web Service - Registrar servicios facturados
  • Servicios: Web Service - Registrar servicios confirmados por el Conductor

Ejemplo de resultado

Ejemplo de resultado exitoso con la información de dos servicios

{"success":true,"trips":[{"id":181965,"fecha_salida":"2018-12-21","hora_salida":"22:26:00","fecha_pedido":"2018-12-21","hora_pedido":"23:30:00","fecha_inicio":null,"hora_inicio":null,"fecha_fin":null,"hora_fin":null,"fecha_turno":"2018-12-21","tipo_servicio":"Tradicional","destino_frecuente":"Micro-Macro centro","desde_dir_id":"158655","desde_dir_nombre":"","desde_dir_calle":"Avenida Independencia 299","desde_dir_piso_depto":"","desde_dir_localidad":"Buenos Aires","desde_dir_lat":"-34.6170989","desde_dir_lng":"-58.3698155","hasta_dir_id":"158656","hasta_dir_nombre":"","hasta_dir_calle":"Suipacha 1036","hasta_dir_piso_depto":"","hasta_dir_localidad":"AAV","hasta_dir_lat":"-34.5957855","hasta_dir_lng":"-58.3799761","observaciones":"","observaciones_cl":"","km_presup":"4.00","disposicion_solic":null,"presupuesto_cl":"528.00","presupuesto_ch":"444.00","cuenta_corriente":1,"tarjeta_credito":0,"checks":"FIX_IS_FREQ_DEST,FIX_HAS_INTERM_DEST","status":"closed","factura":{"fecha":"2019-11-27","desde":"2019-10-17","hasta":"2019-11-27","pto_vta":7,"comprobante":3360,"cbte_tipo":11,"val_tipo":"Factura C","val_numero":"0007-00003360","concepto":2,"doc_tipo":80,"imp_total":"22252.00","imp_neto_gastos":"0.00","imp_neto_no_gravado":"22252.00","imp_neto_gravado":"0.00","imp_neto_exento":"0.00","imp_neto_terceros":"16935.31","imp_neto_agencia":"5316.69","imp_iva":"0.00","imp_tributos":"0.00","moneda_id":"PES","moneda_cotiz":"1.00","informa_iva":0,"condicion_pago":"Contado","cae_num":"69486000174954","cae_vto":"2019-12-07","vencimiento_pago":"2019-12-27","cli_razon_social":"Clarity S.A.","cli_documento":"30537667993","cli_direccion":"Avenida General San Martín 1100","cli_codigo_postal":"","cli_localidad":"La Tablada","cli_telefono":"40346755","cli_tipo_responsable":"IVA Responsable Inscripto","production":1},"disposicion":null,"kms":"4.00","kms_0a":"0.00","kms_b0":"7.00","importe_kms_cl":"888.00","importe_kms_ch":"444.00","kms_ad":null,"importe_kms_ad_cl":"0.00","importe_kms_ad_ch":"0.00","interm_dest":2,"ajuste_cl":null,"ajuste_ch":null,"peajes":null,"telepeajes":null,"hoteleria":null,"parking":null,"carga":null,"gastos":null,"tiempo_espera":null,"costo_espera_cl":"0.00","costo_espera_ch":"0.00","impuestos_cl":null,"comprobante":"","fecha_cierre":"2018-12-22","hora_cierre":"00:29:00","observaciones_cierre":"","closed_and_checked":1,"razon_baja":"","fecha_baja":null,"create_time":"2018-12-21 15:13:00","update_time":"2018-12-27 16:46:26","baja":0,"kms_cl":4,"kms_ch":11,"desde_intermediate":[{"dir_calle":"San Martín 1225/1275","dir_localidad":"Buenos Aires","dir_piso_depto":"","dir_nombre":"","dir_id":"153359","dir_lat":"-34.5930539","dir_lng":"-58.3724695","aeropuerto":null},{"dir_calle":"El Palomar","dir_localidad":"El Palomar","dir_piso_depto":"","dir_nombre":"","dir_id":"","dir_lat":"-34.6117266","dir_lng":"-58.6013705","aeropuerto":{"id_aeropuerto":"76","id_aerolinea":"","flightno":"","id_procedencia":"","airsign":"","tipo":"AIR"}}],"hasta_intermediate":[],"costcenter":"No Aplica - No Aplica","cliente":{"id":30386,"nombre":"Bass Grupo Creativo S.A.","cuit":"30-61234324-4","email":"reservas@bass.com.ar","email_viajes":"reservas@bass.com.ar","observaciones":"Nextel: 54*123*123","fecha_ingreso":"2018-10-10","cuenta_corriente":1,"baja":0},"auth":{"id":84154,"nombre":"JUAN PEREZ","numero":"","email":"","tipo":"PASSENGER_B","telefono_alt":"","legajo":"","fecha_nacimiento":null,"numero_documento":"","observaciones":"","baja":0},"pax1":{"id":84154,"nombre":"JUAN PEREZ","numero":"","email":"","tipo":"PASSENGER_B","telefono_alt":"","legajo":"","fecha_nacimiento":null,"numero_documento":"","observaciones":"","baja":0},"pax2":null,"pax3":null,"pax4":null},{"id":181971,"fecha_salida":"2018-12-21","hora_salida":"19:32:00","fecha_pedido":"2018-12-21","hora_pedido":"20:25:00","fecha_inicio":null,"hora_inicio":null,"fecha_fin":null,"hora_fin":null,"fecha_turno":"2018-12-21","tipo_servicio":"Tradicional","destino_frecuente":"Centro - Aeroparque","desde_dir_id":"","desde_dir_nombre":"","desde_dir_calle":"Aeroparque, Aerolineas Argentinas, vuelo: AR2831 CRD, desde/hacia: Comodoro Rivadavia, cartel: “PAX”","desde_dir_piso_depto":"","desde_dir_localidad":"CABA","desde_dir_lat":"-34.5553267","desde_dir_lng":"-58.4160861","hasta_dir_id":"152438","hasta_dir_nombre":"","hasta_dir_calle":"Avenida Callao 1234","hasta_dir_piso_depto":"","hasta_dir_localidad":"Buenos Aires","hasta_dir_lat":"-34.5892419","hasta_dir_lng":"-58.3896169","observaciones":" - 11 4123 4567\r\n - RECONFIRMARTRASLADO SABADO 22/12 15:00 - HOTEL/EZE","observaciones_cl":"","km_presup":"8.00","disposicion_solic":null,"presupuesto_cl":"550.00","presupuesto_ch":"480.00","cuenta_corriente":1,"tarjeta_credito":null,"checks":"FIX_IS_FREQ_DEST","status":"closed","factura":"","disposicion":null,"kms":null,"kms_0a":"0.00","kms_b0":"13.00","importe_kms_cl":"550.00","importe_kms_ch":"480.00","kms_ad":null,"importe_kms_ad_cl":"0.00","importe_kms_ad_ch":"0.00","interm_dest":0,"ajuste_cl":null,"ajuste_ch":null,"peajes":null,"telepeajes":null,"hoteleria":null,"parking":null,"carga":null,"gastos":null,"tiempo_espera":null,"costo_espera_cl":"0.00","costo_espera_ch":"0.00","impuestos_cl":null,"comprobante":"","fecha_cierre":"2018-12-22","hora_cierre":"00:33:00","observaciones_cierre":"","closed_and_checked":1,"razon_baja":"","fecha_baja":null,"create_time":"2018-12-21 15:56:47","update_time":"2018-12-27 12:54:21","baja":0,"kms_cl":0,"kms_ch":0,"desde_intermediate":[],"hasta_intermediate":[],"costcenter":"N/A - N/A","cliente":{"id":30096,"nombre":"Buhler S.A.","cuit":"30-70765401-1","email":"operaciones@agenciaejemplo.com.ar","email_viajes":"juan.lopez@buhler.com.ar","observaciones":"Alta 03.12.2015\r\n\r\nJUAN LOPEZ\r\nSupervisor de Compras\r\nCompras\r\nLogistica\r\n? 11 - 4132 - 9999 Ext. 7934 \r\nBuhler S.A.\r\nAfiliada a Hochschild Mining.\r\nwww.buhler.com.ar *MA","fecha_ingreso":"2018-08-20","cuenta_corriente":1,"baja":0},"auth":{"id":79047,"nombre":"GOROSITO Pipo","numero":"11 4123 4567","email":"roman.riquelme@buhler.com.ar","tipo":"PASSENGER_B","telefono_alt":"","legajo":"","fecha_nacimiento":null,"numero_documento":"","observaciones":"","baja":0},"pax1":{"id":79047,"nombre":"RIQUELME Roman Gilmer","numero":"11 4123 4567","email":"roman.riquelme@buhler.com.ar","tipo":"PASSENGER_B","telefono_alt":"","legajo":"","fecha_nacimiento":null,"numero_documento":"","observaciones":"","baja":0},"pax2":null,"pax3":null,"pax4":null}],"transaction":59}

1)
La función de last_transaction es informarle al webservice cuál fue la última transacción procesada exitosamente. De esa manera, el webservice responderá sólo las novedades luego de esa transacción. Si siempre se le envía 0, además de las novedades, el webservice volverá a incluir también los datos ya enviados, por lo que la cantidad de datos respondidos en cada llamada va a ser incremental. Por lo tanto, es importante enviarle al webservice este valor