Como construir Pulsos

La construcción del mensaje del pulso se realiza con el Builder del objeto PulsesRQ el cual representa el formato de mensajería usado para publicar pulsos en BPulse.

El objeto PulsesRQ esta definido en el proyecto bpulse-protobuf de libre acceso para poder resolver su dependencia.

Un ejemplo de construcción de un pulso con los atributos (“destinationId”, “numAdults”, “clientId”, “initDate”, “endDate”)

En este caso el cliente de la plataforma es “clientex” que previamente configuró un pulso llamado “booking” cuyo id generado en la plataforma BPulse es “bpulse_clientex_booking”.

PulsesRQ
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
PulsesRQ.Builder pulses = PulsesRQ.newBuilder();
pulses.setVersion("1.0"); //versión de la mensajería
Pulse.Builder pulse = Pulse.newBuilder();
pulse.setTypeId("bpulse_clientex_booking"); //El id generado en la plataforma BPulse
pulse.setInstanceId("B2BIntegration-01"); // Permite identificar desde que servidor o aplicación del cliente se generó el pulso.
pulse.setTime(System.currentTimeMillis()); //Representa el instante de tiempo en el que ocurre el evento booking
//values
// destinationId attribute
Value.Builder value =  Value.newBuilder();
value.setName("destinationId"); //Nombre de atributo previamente configurado en la definición del pulso "booking"
value.addValues("BCN"); //Valor asociado al atributo "destinationId"
pulse.addValues(value);
// numAdults attribute
value =  Value.newBuilder();
value.setName("numAdults"); //Nombre de atributo previamente configurado en la definición del pulso "booking"
value.addValues("2"); //Valor asociado al atributo "numAdults"
pulse.addValues(value);
// clientId attribute
value =  Value.newBuilder();
value.setName("clientId"); //Nombre de atributo previamente configurado en la definición del pulso "booking"
value.addValues("viajeros"); //Valor asociado al atributo "clientId"
pulse.addValues(value);
 
// initDate attribute
value =  Value.newBuilder();
value.setName("initDate"); //Nombre de atributo previamente configurado en la definición del pulso "booking"
value.addValues("2015-06-03T12:00:00"); //Valor asociado al atributo "initDate" se debe usar el formato "yyyy-mm-ddThh:mm:ss"
pulse.addValues(value);
 
// endDate attribute
value =  Value.newBuilder();
value.setName("endDate"); //Nombre de atributo previamente configurado en la definición del pulso "booking"
value.addValues("2015-06-08T13:00:00"); //Valor asociado al atributo "endDate" se debe usar el formato "yyyy-mm-ddThh:mm:ss"
pulse.addValues(value);
pulses.addPulse(pulse);

El objeto PulsesRQ se obtiene invocando el método build()

Build
pulses.build();