IBM Unica Interact v| 8 1.: 6 2012b 5y 25O

|.Z !Le

 |m L $8M L $8! vxOB &0; gkOb |!, ]eC 277 dLvG :VGgW;GO] $8& P8JC@.

L 3$G: u 3$G! %CGv JB Q IBM Unica Interact(&0 x# 5725-D22) v| 8, 1.: 5, v$ 0z pg DS 1. : W v$G! {kKOY.

© Copyright IBM Corporation 2001, 2012. qw

& 1 e IBM Unica Interact |...... 1 3w

© Copyright IBM Corp. 2001, 2012 iii RMI ANd]! kQ JMX pOM5; gkO5 setInteractionPoint ...... 106 O Interact 8:...... 64 setMethodIdentifier ...... 106 JMXMP ANd]! kQ JMX pOM5; gk setNumberRequested ...... 107 O5O Interact 8: ...... 64 setRelyOnExistingSession ...... 108 jconsole :)3. gk ...... 64 NameValuePair NMdL: $8...... 108 JMX S:...... 65 getName ...... 108 JMX [w...... 72 getValueAsDate ...... 109 getValueAsNumeric ...... 109 & e G ,!: W 7 IBM Unica Interact API getValueAsString ...... 110 ^Re ...... 73 getValueDataType ...... 110 ,!: Interact API ...... 73 setName ...... 111 G wD- Jv 8: dR HTTP Java ....73 setValueAsDate ...... 111 Jv 8: dR SOAP ...... 74 setValueAsNumeric ...... 112 API JavaDoc ...... 74 setValueAsString ...... 112 9 $8 API ...... 74 setValueDataType ...... 113

qw v Interact | offerserving ...... 188 Campaign | partitions | partition[n] | Interact Interact | offerserving | b; &x P@ 8: 189 | contactAndResponseHistTracking | Interact | offerserving | \N P@ 8: ...190 contactTypeMappings ...... 219 Interact | offerserving | \N P@ 8: | E3 Campaign | partitions | partition[n] | Interact /v %LM | [parameterName] ...... 191 | contactAndResponseHistTracking | Interact | -q: ...... 191 responseTypeMappings ...... 219 Interact | -q: | contactHist ...... 192 Campaign | partitions | partition[n] | Interact | Interact | -q: | contactHist | 3C ....192 report ...... 220 Interact | -q: | contactHist | fileCache . . 193 Campaign | partitions | partition[n] | Interact | Interact | -q: | defaultedStats .....193 learning ...... 221 Interact | -q: | defaultedStats | 3C ...194 Campaign | partitions | partition[n] | Interact Interact | -q: | eligOpsStats ...... 194 | learning | learningAttributes | Interact | -q: | eligOpsStats | 3C ...195 [learningAttribute] ...... 224 Interact | -q: | eventActivity .....195 Campaign | partitions | partition[n] | Interact | Interact | -q: | eventActivity | 3C ...196 deployment ...... 225 Interact | -q: | customLogger .....196 Campaign | partitions | partition[n] | Interact | Interact | -q: | customLogger | 3C ...197 serverGroups | [serverGroup] ...... 225 Interact | -q: | responseHist ...... 197 Campaign | partitions | partition[n] | Interact Interact | -q: | responseHist | 3C ...198 | serverGroups | [serverGroup] | Interact | -q: | responseHist | fileCache 198 instanceURLs | [instanceURL] ...... 225 Interact | -q: | crossSessionResponse. . . 199 Campaign | partitions | partition[n] | Interact | Interact | -q: | crossSessionResponse | 3 flowchart ...... 226 C ...... 200 Campaign | partitions | partition[n] | Interact | Interact | -q: | crossSessionResponse | whiteList | [AudienceLevel] | DefaultOffers . . 227 OverridePerAudience | [AudienceLevel] | Campaign | partitions | partition[n] | Interact | TrackingCodes | byTreatmentCode.....200 whiteList | [AudienceLevel] | offersBySQL . . 227 Interact | -q: | crossSessionResponse | Campaign | partitions | partition[n] | Interact | OverridePerAudience | [AudienceLevel] | whiteList | [AudienceLevel] | ScoreOverride . . 228 TrackingCodes | byOfferCode ...... 202 Campaign | partitions | partition[n] | server | Interact | -q: | crossSessionResponse | internal ...... 228 OverridePerAudience | [AudienceLevel] | Campaign | pOM5 ...... 231 TrackingCodes | byAlternateCode .....203 NO ,sLp. x!- GC# @[ gkZ 3 Interact | -q: | threadManagement | D. N 3$ contactAndResponseHist ...... 204 ...... 235 $8 Interact | -q: | threadManagement | Interact Message Connector ...... 235 3! allOtherServices ...... 205 Message Connector ...... 236 5) [: Interact | -q: | threadManagement | Message Connector ...... 242 $8 flushCacheToDB ...... 206 Interact Web Connector ...... 245 18S -v! 3! Interact | sessionManagement ...... 207 Web Connector ....246 05 %@k ANW%8N Web Connector 3 NO C. Interact pZN /f 8: nO $8 . . 211 ! ...... 247 Campaign | partitions | partition[n] | reports 211 Web Connector 8: ...... 248 Campaign | partitions | partition[n] | Interact | Web Connector |. dLv gk .....260 contactAndResponseHistTracking ...... 213 Web Connector dLv yC ...... 261 Campaign | partitions | partition[n] | Interact NO W kU &0 | contactAndResponseHistTracking | E. Interact Intelligent Offer GegW runtimeDataSources | [runtimeDataSource] . . 218 ...... 265 vi IBM Unica Interact: |.Z !Le Interactz Intelligent OfferG kU 3d ....265 IBM Unica bz vx cgZ!T .G ....275 kUJv dG ...... 266 VGgW Intelligent Offer kU;'Q @[ 8: ....267 ...... 277 s% kU yCAN'. gk ...... 268 ...... 279

qw vii viii IBM Unica Interact: |.Z !Le & 1 e IBM Unica Interact |.

Interact |.B )/ [w8N Lgn}OY. L[w: Y=; wTOv8 \v L[ w8N8 &QGvB J@OY. v gkZ W *R /v8v v %LM R: /v8v

v Interact 1C{ @[ &x bI 8: v 18S /f :I pOM5 W /v8v

Interact |.& C[Ob |! [w; 8Y 1T v`O5O LXX_ OB InteractG [? fD! |Q n !v YI 3dLV@OY. Y= =G!- InteractM,|H | . [w; 3mUOY.

L !LeG N x0 D.B InteractG gk !IQ API(Application Programming Interface)N Interact API, ExternalCallout API, P@ API! kX 3mUOY.

Interact YI 3d L =G: Interact! kX [wOb |! LXX_ OB n !v YI 3d; 3mU OY.

ks vX ks vX: 7dNG ksL I v VB ID ]:GTOY. 9& in, 7dN <.! “!$,” “ag m4,” “m4,” “h$” ks vX; gkR v V@OY. " vX: 7 dN! gk !IQ 6IC %LMG /$ 8b& *8@OY.

ks vX:O]{8N h~ 86x8N 8:KOY. 'G 9& gkOi, v !$: h~ 86G G '! V8g O* LsGagm4z 9: m4; wTR v V@OY. v m4: h~ 86G W Y=Lg "m4!)/ h$LV;v V@OY. v h$: h~ 86G G F!! V@OY.

qnO: k qnO: /f!B 8Y 9bQ Y% ks h~ 86 9! 8gOg, L 9!B qnO:, 8g, N-, Wl, 3N, h$ nG ks vXL 8gX_ UOY.

ks vX: -N OkO, YkO GB YkY n "b Y% |h! V; v V@OY. ks vX; $GOi ks- k5N gkZ! )/ Y% ksgLG |h& |.R

© Copyright IBM Corp. 2001, 2012 1 v V5O Campaign ;! ks vX 3d; %CR v V@OY. 9& in, !$0 N )/ ag m4LV;v Vv8 !$g Q ag m488N ^O5; &QR v V@OY.

pZN /f pZN /f: Interact 8:G kNP; v`OB '!TOY. pZN /f!- L%., s#[k v!, :6.

pZN /f: Campaign %@k ANW%z T2 3!KOY.

L%. L%.B 18S /f!- [w(9:

L%.B Uz k-D $N! [:H D postEvent ^Re& gkO) Interact API #b! GX ..EKOY. L%.B Interact pZN /f! $GH Y= _ O* Ls G[w; J!R v V@OY. v g

L%.& gkO) postEvent ^Re! $GQ [w(WLm! %LM Nk, P@ %L M wT, 30 CNw...E n)5 ..ER v V@OY.

pZN /f!-B mGs L%.& |VN 8:R v V@OY. 18S /f!- |V B bI{ q{L x@OY.

k-D $N k-D $N: Campaign!- NMdL: ^Re! k-D k- sZN "!; *8@ OY. L RA.~n %CBk-D 6IC! |CH pg 3<, %LM, -v Zx; 6$OB % gkKOY.

k-D $N: s#[k v! W L%.& $GOB % gkOB 58TOY. k-D $NG P. G!- k-D $N! kQ 8m-!5 W<:R v V@OY.

k-D $N: nk 18S W :WL! -v v$5 wTUOY. n 3G k-D $N ;[:O)nk18S W :WL! -v }UL O*8 VB fl L%. W s# [k v!; 8:OE* L%. W s#[k v!; m4 ki C:[0N PRR v V@OY.

2 IBM Unica Interact: |.Z !Le k-D CNw. k-D CNw.B Campaign O}3. CNw.M |CLVv8 `# Y(OY. k -D CNw.B O}3. CNw.M ?OQ Vd bI(m4;

k-D CNw.B n 3G k-D CNw./$ AN<:B 0P O}3. CNw. AN<: O' }U; wTUOY.

|m: Campaign

s#[k v!; 5*8N 8:R v V@OY.

@[ @[BYgQ fD8N |^R v VB\O 6IC ^Cv& *8@OY.

Campaign!- O* LsG 7dN! gkR v VB @[& }:UOY.

@[BY=G fl ggk !IUOY. v Y% 7dN! v & C#! Y% '!!-

v Y% 3N Wl!(?) v @[G E3/v-H Je& Yg-O) Y% “v|”8N

AC AN<: _ O*& gkO) CNw.G ks ?!@[& v$Om @[& ^ : m4z @dQ m4! kQ %LM& 83O) 7dN az& _{UOY.

ANDO ANDO: 18S /f!- gkOB m4 %LM }UTOY. L %LMB m4 %L M#L:!- gk !IQ m4 %LM O' }U, GC#8N v}H%LM GB Q G 6UO v V@OY. L %LMBY= q{8N gkKOY. v GC# s#[k C*.@!- O* LsG :6.

& 1 e IBM Unica Interact |. 3 v @[ gkZ 3N 3$ v P@! kX _{R S:8N

9& in, f.ZG a% )N W /$ @[& vtOB " sBG f.Z v&p OMO5O Interact& 8:R v V@OY. W/i 18S /fL Xg $8& gk O)@[ 1C;

L %LMB 18S /fG fl Pb |kTOY.

18S /f 18S /f: "!!,aOm s#[k; v`UOY. 18S /f: "!!,aH O* GBYvG 18S -vN 8:I v V@OY.

18S /f: pZN /f!- hwH $8& Interact APIM aUO) gkO) "! !@[& &xUOY.

18S

startSession #b; gkR ' 18S

"! "!: m4z s#[kR v VB @k ANW% GB '!TOY. "!: m4L A C; C[("NYne" s#[k)OE* gkZ! m4z AC("FtYne" s#[k)O B $NO v V@OY. O]{N 9B % gL. W ]>M @k ANW%TOY. Interact API& gkOi Interact& "!z kUO) "!!-G[w; bX8N m 4!T @[& &xR v V@OY. "!; ,sLp. ki C:[(CFS)Lsm5 U OY.

3. T" 3. T": :6.

" 3. T"!B 6IC !v5 V@OY. N 3 LsG

4 IBM Unica Interact: |.Z !Le @[& $GO5O =@OY. 18S /fL GeOB @[B P@ pb, @[ &\ q O, |* W 30 @[ v$G 5b; ^; v V@OY.

Interact F0X3 Interact /f: VR N !vVd 8: dRN pZN /fz 18S /f8N Lg n}OY. 1C{8N W:. 18S -v& 8:R v5 V@OY. Y= W2: s' 9' F0X3 3d& 8)]OY.

pZN /f: Interact 8:G kNP; v`OB '!TOY. pZN /f: Campaign %@k ANW%z T2 3!Gg Campaign C:[WLmzm4%LM#L:& | 6UOY. pZN /f; gkO) API! gkR s#[k v! W L%.& $GUO Y.

18S /f!- m4 s#[k; 3.R fD; pZNOm 8:Q D :WL! -v Wl! W:. k5N GB GC#m4s#[k;'X nk 18S -v Wl! L %LM& hwUOY.

Interact APIB "!z 18S -v #G ,a; &xUOY. gkZB Interact APIN pZN /f! }:H 3<("!z L%.)& |6Om L& gkO) 18S -vG $ 8& d;UOY.

& 1 e IBM Unica Interact |. 5 Interact W.v) mAgW InteractG nk 3!B VR N C:[; gkUOY. )/ Interact 18S -vM P j %LM#L:! VB t: <}G nk /f!-B vJ 3G C:[L gkI v V@OY. VsG :I;'X mAR )/ W.v)dzNv d8 gWLV@OY. v Interact API 8vL ?OQ #bN aOB fl(9: executeBatch(startSession, getOffers, postEvent, endSession)

Ne k1-M Interact 18S -v #G aOg(9: startSession ... executeBatch(getOffers, postEvent) ... endSession

)Interact 18S -vG Ne k1-& gk _N fl!B Ne k1-! kQ O N vS /|(:<0

6 IBM Unica Interact: |.Z !Le W:. GB :WL! 3!!-B Interact pZN C# W 18S; ?OQ C:[! 3!R v V@OY. nk /f!B L C*.@& GeOv J@OY.

& 1 e IBM Unica Interact |. 7 8 IBM Unica Interact: |.Z !Le & 2 e IBM Unica Interact gkZ 8:

Interact!-B N !v gkZ <.N 18S /f gkZM pZN /f gkZ& 8 :X_ UOY. v 18S gkZB 18S -v! kX [wO5O 8:H Marketing Platform! } :KOY. v pZN C# gkZB Campaign gkZTOY. Campaign! kX pZN @G Y gQ 8:x! kQ 8H; 8:OJC@.

18S /f gkZ 8:

Interact& 3!Q D VR O*G Interact gkZ, 18S /f gkZ& 8:X_ U OY.

18S /f gkZB 18S WLm! kQ W<: GQ; &xUOY. LBk-D $N; hwR ' gkOB gkZL'z O#TOY. 18S -vB %@k ANW % -v JDBC Nu; %LM#L:ES $8! gkOGN18S /f %LM R: & 18S /f gkZ! _!RJd! x@OY.

_dgW: 0: -v Wl! SOB pg 18S -vB ?OQ gkZ ES $8& x /X_ UOY. " 18S -vG 30 Marketing Platform N:O:! VB fl!B ""! ?OQ gkZM O#& }:X_ UOY.

%LM#L: Ne /?.<& gk _Li 18S /f! kQ NWN ES $8G % LM R:N18S WLm; $GX_ UOY. L %LM R:GL': systemTablesDataSource)_ UOY.

JMXMP ANd]! kQ JMX pOM5! 8H; 3$Q fl JMX pOM5 8H ;'Q 05G gkZ! JdUOY. pZN /f gkZ 8:

pZN /f gkZB Campaign gkZTOY. Campaign *R GQ; 8:R 'M ?OQ fD8N pZN /f gkZ& 8:UOY.

k-D CNw.& m}R GQLVB Campaign gkZ!T W:. G` WLm % LM R:! kQ W<: GQ; N)X_ UOY.

© Copyright IBM Corp. 2001, 2012 9 Interact& 3!Om 8:Q fl!B b; |* $% W u $%! kQ Y= _! I GL gk !IUOY. ON pZN /f gkZB gkZ $G E)NM 0: n !v Campaign GQ5 JdT; boOJC@.

|V GQ 7dN v 7dN s#[k |+ 8b - 7dNG s#[k |+ G; < v Vv8 m}R vB x@OY.

v 7dN s#[k |+ m} - 3. T"; wTQ s#[k |+; /fR v V@OY.

v 7dN s#[k |+ h& - 7dN!- s#[k |+; &ER v V@ OY. k-D $N hw! s#[k |+L wTH fl s#[k |+ G h&! &QKOY.

v 7dN s#[k |+ _! - 7dN! us#[k |+ G; }:R v V@OY. v 7dN s#[k |+ hw C[ - hw GB hw &E! kQ s#[k |+ G; %CR v V@OY. k-D $N v k-D $N hw - Interact 18S /f! k-D $N; hwR v V @OY. v k-D $N m} - k-D $NG d` G; /fR v V@OY. v k-D $N h& - k-D $N; &ER v V@OY. k-D $NL h wH fl!Bk-D $N h&! &QKOY. v k-D $N 8b - k-D $N; < v Vv8 m}R vB x@OY. v k-D $N _! - u k-D $N; }:R v V@OY. v k-D $N 8m- 8b - k-D $NG P. G; < v V@OY. v k-D $N O' 3<_! - s#[k v!, 5*, L%., |V& _! R v V@OY.

10 IBM Unica Interact: |.Z !Le 9& pZN /f GQ

9& in, k-D CNw.& }:OB 3Nz s#[k |+; $GOB 3N! O* ? N 3G *R; }:R v V@OY. " =G! GQ N)*RL *-KOY. k-D CNw. *R

gkZ $G E)N v gkZ $G E)N _! v gkZ $G E)N m} v gkZ $G E)N gk

D} Je v D} Je _! v D} Je m} v D} Je gk

CNw. [C4 v [C4 Y)Vb

s#[k |+ *R

7dN v u 7dN d` v 7dN ks ? |. v 7dN s#[k |+ 8b

& 2 e IBM Unica Interact gkZ 8: 11 v 7dN s#[k |+ m} v 7dN s#[k |+ _! v 7dN s#[k |+ hw C[

@[ v @[ d` 8b

12 IBM Unica Interact: |.Z !Le & 3 e Interact %LM R: |.

Interact!-B )/ %LM R:! &kN bIX_ UOY. ON %LM R:B Interact! bIOb 'XJdQ $8& wTOm Y% %LM R:& gkZ %LM & wTUOY.

Y= =G: Interact %LM R:& &kN 8:Ob 'XJdQ $8M %LM R: /v8v! kQ n !v&HgW; wTO) %LM R:& 3mUOY.

Interact %LM R:! kQ [w Interact!-B )/ %LM <.! bIX_ UOY. v Campaign C:[WLm - CampaignG pg%LM _!- Campaign C:[W Lm: 3. T" W k-D $Nz0L pZN /f!- }:OB Interact 8: dR! kQ %LM& wTUOY. pZN /fz Campaign C:[WLm: ?O Q 0. %LM#L: W :06& x/UOY. v 18S WLm -(systemTablesDataSource) pZN /f, AC W @d bOG : WL! WLm, 18S khG hw %LM& wTUOY. v ANDO WLm -(prodUserDataSource) f.Z& :6.

ANDO WLm: @[ &\, !v g$G, |* W 30 @[ v$! kQ WLm ; wTO)@[ &x; bI 8-OB % gkGB WLm5 wTR v V@OY. v W:. G` WLm -(testRunDataSource) s#[k _ GC# v}GB $8& pfOB %LM& wTO), f.Z& :6.

© Copyright IBM Corp. 2001, 2012 13 v 3w

%LM#L: W @k ANW%

Y= YLnW%: !IQ Interact %LM R: W L %LM R:! IBM® Unica @ k ANW%! |CH fD; 8)]OY.

v Campaign W W:. G` -v Wl pN W:. G` WLm! W<:UOY. v W:. G` WLm: k-D CNw. W:. G`!8 gkKOY. v 18S -v& gkO) Interact API& wTQ hw& W:.R ' 18S -vB %LMG ANDO WLm; gkUOY. v AC W @d bO pb; 8:Q fl pb: iWsne _b, //, Ne(ETL) AN<:& gkO) 18S :WL! WLm!- Campaign AC W @d bO W LmN %LM& L?C5OY. v 8m bI: P@ WLm, 18S WLm, Campaign C:[WLm!- %LM& u .O) Campaign! 8m-& %CUOY.

nk 18S /fz Y% WLm <.& gkO5O W:. 18S /f; 8:X_ U OY. :WL!z n5 # 05G WLmN G& azM +|OT W:. az& 8| R v V@OY. AC W @d bO pb: Ws G& Campaign AC W @d bO

14 IBM Unica Interact: |.Z !Le WLm! %LM& pTT! /GOJC@(Campaign!B W:. AC W @d bO W LmL x=). W:. 18S /f! kQ 05G P@ WLmLV8g 8m-N az & 8Ai W:. /f! kQP@ 8m-& G`OB IBM Cognos® BIG 30 N :O:! JdUOY.

Campaign C:[WLm

pZN /f; 3!R '!B Campaign C:[WLm! Interact0 WLm5 uN } :UOY.

AC W @d bO pb; 3$OipbL 18S WLmG :WL! WLm!- Campaign C:[WLmG AC W @d bO WLmN AC W @d bO; 9gU OY. b; WLm: UA_ContactHistory, UA_DtlContactHist, UA_ResponseHistory Lv8 AC W @d bO pb: Campaign! JNH n@ WLmL* AC W @d bO WLm! gkUOY.

|*@[ WLmz !v g$G WLm; gkO)@[& RgOB fl k-D $ NG 3. T"! wTGv J: @[& gk _Li Campaign C:[WLmG UACI_ICBatchOffers WLm; $v_ R v V@OY.

18S WLm

Q LsG ks vXLVB fl " ks vX6Y AC W @d bO %LM! kQ :WL! WLm; }:X_ UOY.

SQL :)3.B b; ks vX! kQ Y= WLm; }:UOY. v UACI_CHStaging v UACI_CHOfferAttrib v UACI_RHStaging

18S WLm! " ks vX! kQ L < !v WLmG g;; }:X_ UOY.

Campaign AC W @d bO WLm! gkZ $GH Je! V8i ?OQJe L 'z /|; UACI_CHStaging W UACI_RHStaging WLm! }:X_ UOY. 18 S _

& 3 e Interact %LM R: |. 15 Y= YLnW%: Aud1 W Aud2 ksG yC WLm; 8)]OY. L YLnW% ! 18S %LM#L:G pg WLmL wTGvB JR@OY.

WLmG pg JeB Jv JeTOY. CustomerID W UserDefinedFields& Campaign AC W @d bO WLmz O!OT v$R v V@OY.

W:. G` WLm

W:. G` WLm: k-D CNw.G W:. G`!8 gkKOY. k-D CNw .G W:. G`:

16 IBM Unica Interact: |.Z !Le W:. G` WLmz ,|H%LM#L: gkZ!TB W:. G` az WLm; _!R CREATE GQLVn_ UOY.

W:. G` %LM#L:Bk-D $NG JNH pg WLm; wTX_ UOY.

L WLm: k-D CNw.!- W:.OAB C*.@& G`R %LM& wTX_ UOY. 9& in, k-D CNw.! =: ^O C:[! 1CH 1C gW! bJO ) 3N;

" W:. G` WLm!B Xgks vX! kQ VR O*G ID qOz gkR M 8N 9sGB GC# %LM& *8;B -L O* Vn_ UOY. W:. G`: G C# %LM! kQ W<:! x8GN 9sGB GC# %LMG pg NP! kQ y C %LM& &xX_ UOY. 9& in, lastPageVisited S:! zeH f.Q 6 v7 % dLvGL'L* shoppingCartItemCount S:! zeH eY8OG Wq vM 0L GC#8N v}R v VB %LM& gkOAi ?OQ L'8N -; } :Om yC %LMN -; $v_ UOY. W/i ;! ?[L* AX:.N CNw. m.G Pb& W:. G`R v V@OY.

k-D CNw.G W:. G`: + %LM <.! kQ [w!B V{-Gn Vv J @OY. s#[k AN<:!- W:. G`! gkGB ` v& &QR v V@OY. Ov8 &QOi Ws 9 x0 ` <.! 1CKOY. Y% ` <.! 1CGT OAi W:. G` WLmG Y% 8b& gkOJC@.

18S! k-D CNw.G 3.. :I; W:.OAi W:. /f! kQANDO WLm; wTO) W:. 18S /f; }:X_ UOY.

G&N, k-D CNw.G W:. G`! kQ W:. G` WLm, W:. -v Wl G W:. ANDO WLm, nk ANDO WLm <.G < !v WLm <.! W: .! JdR v V@OY.

?{8N }:H WLm! gkGB b; %LM /| g$G Interact 18S /f: N !v C*.@ o, CNw.G W:. G` _ W.m Fw 8gOv JB WLm! 2B :@& AN<:G G` _ ?{8N WLm; }:UO Y. L WLm; }:Ob 'X InteractB vxGB " %LM#L: /|G Oe Zy H%LM /|! G8UOY.

testRunDataSource GB prodUserDataSource! uaci_column_typessBk< % LM /|G WLm; }:O) b; %LM /|;g$GR v V@OY. InteractB Oe ZyH %LM /|L{kGv JB e. fl! L _! WLm; gkUOY.

& 3 e Interact %LM R: |. 17 uaci_column_types WLmL $GI ' InteractB WLm }:! gkR %LM / |8N -G ^8%LM& gkUOY. uaci_column_types WLmL $GGv J: fl* WLm;P8A R ' 9\! _}Q fl!B b; %LM /|L gkKO Y.

C[ C 18S C:[: Uz testRunDataSource!- uaci_column_types WLm ; .NUOY. uaci_column_types WLmL testDataSource! 8gOv JB f l * prodUserDataSource! Y % % L M # L : / | L i InteractB prodUserDataSource!- WLm; .NUOY.

b; %LM /| g$G

Y= \h! {s ?{8N }:H WLmG b; %LM /|;g$GOJC@. 1. TestRunDataSource GB ProdUserDataSource! Y= nO $8G WLm; } :OJC@.

WLm L': uaci_column_types

- L': v uaci_float v uaci_number v uaci_datetime v uaci_string

%LM#L:! vxGB {}Q %LM /|; gkO) " -; $GOJC@. 2. Interact! u WLmLNDG5O18S -v& YCC[OJC@.

_dgW: uaci_column_types WLm; /fR '6Y 18S -v& YCC[ X_ UOY.

?{8N }:H WLmG b; %LM /|

Y= WLm!B Interact 18S C:[L Gv, }Z, /%/C#, .Z--G vxG B " %LM#L:! b;{8N gkOB Oe ZyH %LM /|L *-KOY.

% 1. ?{8N }:H WLmG b; %LM /| %LM#L: b; %LM /|

® DB2 v float v bigint v timestamp v varchar

18 IBM Unica Interact: |.Z !Le % 1. ?{8N }:H WLmG b; %LM /| (hS) %LM#L: b; %LM /|

® Informix v float

v int8

v DATETIME YEAR TO FRACTION

v char2

Oracle v float

v number(19)

v timestamp

v varchar2

SQL Server v float

v bigint v datetime v nvarchar

ANDO %LM#L:

ANDO %LM#L:G AYwBk-D CNw. W Interact API 8:! JdQ % LM! |{8N G8UOY. InteractB " %LM#L:6Y /$ /|L* %LM& wTO5O d8OE* GeUOY.

ANDO %LM#L:BY=; wTX_ UOY. v k-D $NG JNH pg WLm.

L WLm: nk /f!- k-D CNw.& G`OB % JdQ pg%LM& w TUOY. Y= WLm; 1C, I|-, &kN vN-X_ UOY. !x %LM! W <:OB :I qkLV8GN !IR '6Y q$T-H :06& gkX_ UO Y. VRQ ks vX ID JeG ANDO WLm; vN-X_ UOY. wx WL m!- KvH Y% Je! VB fl %LM#L: d! C#; YL5O {}OT L Je& vN-X_ UOY. ANDO WLmG ks IDB Campaign! $GH k s IDM O!X_ UOY. v enableScoreOverrideLookup 8: nO $8& trueN 3$Oi VR Q ks v X! kQ !v g$G WLm; wTX_ UOY. !v g$G WLm L': scoreOverrideTable nO $8N $GUOY.

!v g$G WLm: 30 m4 k @[ V; wTR v V@OY. ANDO %L M#L:! kX aci_usertab SQL :)3.& G`O) yC !v g$G WL m, UACI_ScoreOverride& }:R v V@OY. ks ID -!5 L WLm; v N-X_ UOY.

& 3 e Interact %LM R: |. 19 enableScoreOverrideLookup nO $8& falseN 3$OB fl!B !v g$ G WLm; wTR Jd! x@OY. v enableDefaultOfferLookup 8: nO $8& trueN 3$OB fl |*@[ W Lm(UACI_DefaultOffers); wTX_ UOY. ANDO %LM#L:! kX aci_usertab SQL :)3.& G`O) |*@[ WLm; }:R v V@OY.

|*@[ WLm: ks k @[ V; wTR v V@OY. v enableOfferSuppressionLookup nO $8& trueN 3$Oi VR O*G ks vX! kQ @[ &\ WLm; wTX_ UOY. @[ &\ WLm L': offerSuppressionTable nO $8N $GUOY.

@[ &\ WLm: pg ks 8:xG WqL JdOv JF5 ks 8:xG % C HOB " @[! kQQ`; wTR v V@OY. ANDO %LM#L:! kX aci_usertab SQL :)3.& G`O) yC @[ &\ WLm, UACI_BlackList& }:R v V@OY.

enableOfferSuppressionLookup nO $8& falseN 3$OB fl!B @[ & \ WLm; wTR Jd! x@OY.

L WLm! kk. %LM! VB fl :ILzOI v V@OY. VsG az& ' X-B 18S! gkGBkk. %LM! VB WLmG ks vX -! {}Q v N; NJC@.

'!- |6H pg 8: nO $8B Interact > ANDO GB Interact > AND O > ks vX > AudienceLevel |V! V@OY. aci_usertab SQL :)3.B 18S /f 3! p:d.G ddl p:d.! V@OY.

Y= YLnW%: ks vX Aud1 W Aud2G W:. G`z ANDO %LM#L: ! kQ 9 WLm; 8)]OY.

20 IBM Unica Interact: |.Z !Le P@ WLm

Interact b; &x P@; gk _N fl P@ WLm; 8:X_ UOY. L WLm : b; &x P@ bI8N P@OB pg%LM& wTUOY.

?{ P@ S:; gk _Li UACI_AttributeList WLm; $v_ UOY.

P@: _# :WL! WLm! 2m :WL! WLm!- P@ WLmN $8& }h OB z$z|CKOY. Interact > offerserving > b; &x P@ 8: |V G insertRawStatsIntervalInMinutes W aggregateStatsIntervalInMinutes 8 : nO $8B P@ WLm; $lB s5& G0UOY.

insertRawStatsIntervalInMinutes S:: "m4W @[! kQ vtz AC $ 8! ^p.!- :WL! WLm, UACI_OfferStatsTX W UACI_OfferAllTxN L? OB s5& G0UOY. :WL! WLm! zeH $8B aggregateStatsIntervalInMinutes 8: nO $8N G0H Vb{ #]8N }h Gn UACI_OfferStats W UACI_OfferStatsAll WLm! L?KOY.

Interact b; &x P@:L%LM& gkO)@[G V>!v& hjUOY.

& 3 e Interact %LM R: |. 21 3w

3w

L AC bO WLm! kX aci_crhtab SQL :)3.& G`O) 3w

Interact bI :)3. gk

Interact!- gk !IQ n !v 1C{ bI; gkOAi ANDO %LM#L:G /$ WLm; /fX_ UOY. Interact 3!B pZN /fz 18S /f pN ddl :)3.& wTUOY. L :)3.B WLm! JdQ /$ -; _!UOY.

L/Q bI; 3$OAi Xg %LM#L: GB WLm! kXXg :)3.& G `OJC@.

dbType: %LM#L: /|TOY(9: Microsoft SQL ServerG fl sqlsvr). bI L' bI :)3. G` ks /f |*@[, @[ &\, ! 18S /f 3! p:d ANDO %LM#L: DefaultOffers, v g$G .\ddl\aci_usrtab_dbType.sql (userProdDataSource) UACI_BlackList, UACI_ScoreOverride WLm ;[:UOY. !v N) 18S /f 3! p:d ANDO %LM#L:G !v LikelihoodScore W .\ddl\acifeatures\ g$G WLm AdjExploreScore -; _!U aci_scoringfeature_dbType.sql (userProdDataSource) OY. P@ pZN /f 3! p:d AC bO WLm; wTOB UA_DtlContactHist WLm! .\ddl\acifeatures\ Campaign %LM#L: RTSelectionMethod -; _ aci_lrnfeature_dbType.sql !UOY.

AC W @d bO _{ $8

AC W @d bO; Campaign AC W @d bO WLm! 9ZyO5O18S / f; 8:R v V@OY. 18S -vB AC W @d bO; :WL! WLm! ze UOY. AC W @d bO pb:L%LM& :WL! WLm!- Campaign AC W @d bO WLmN 9gUOY.

22 IBM Unica Interact: |.Z !Le AC W @d bO pb: pZN /fG 8: dLv!- interactInstalled W contactAndResponseHistTracking > isEnabled nO $8& 9N 3$Q fl! 8 [?UOY.

3w

AC W @d /| 8: Y= WLm! %CH kN Interact!- O*G AC /|z N 3G@d /|; 9 ZyR v V@OY. L pgnO $8B contactAndResponseHistTracking |V ! V@OY.

L%. AC/@d /| 8: nO $8 @[ AC NW AC ,tH m4 v @[ vt NW @d vt @[ EN NW @d EN

postEvent ^ReN _! gkZ $G@d /|; 9ZyR v5 V@OY.

Campaign C:[WLm! VB UA_UsrResponseType WLmG CountsAsResponse - L & k N 8 : G z B v 5 . N X _ U OY. L p g @ d / | L UA_UsrResponseType WLm! 8gX_ UOY.

UA_UsrResponseTypeG CY% WqLAi CountsAsResponse& wTO) WLmG pg -G *; $GX_ UOY. CountsAsResponseG CY% *: 0, 1 GB 2TO Y.0:@d x=,1:@d,2B EN& *8@OY. L@d: 8m! gkKOY.

_! @d /| Interact!- Interact APIG postEvent ^Re& gkO)@[! kQ "vt" GB " EN" [w; NWOB L%.& ..ER v V@OY. postEvent #bN =v, m A, ?T GB L`z0: _! @d /|; 9ZyO5O C:[; bI 8-R v5 V@OY. L pg @d /|: Campaign C:[WLmG UA_UsrResponseType W Lm! 8gX_ UOY. postEvent ^Re! /$ L%. E3/v& gkO) _! @d /|; 9ZyOm P@! vt; wTX_ OBv )N& $GR v V@OY.

_! @d /|; NWOAi Y=L%. E3/v& _!X_ UOY. v UACIRESPONSETYPECODE - @d /| Ze& *8;B .Z-TOY. L * : UA_UsrResponseType WLmG CY% WqLn_ UOY.

& 3 e Interact %LM R: |. 23 UA_UsrResponseTypeG CY% WqLAi CountsAsResponse& wTO) WLm G pg -; $GX_ UOY. CountsAsResponseG CY% *: 0, 1 GB 2T OY.0:@d x=,1:@d,2B EN& *8@OY. L@d: 8m! gkK OY. v UACILOGTOLEARNING -1GB 0 *LVB }ZTOY.1: Interact! P @! kQ vt8N L%.& NWX_ T; *[email protected]: Interact! P@! k Q L%.& NWOi HJ; *8@OY. L E3/v& gkO) P@!5b; V v Jm )/ @d /|; NkOB n 3G postEvent ^Re& [:R v V@ OY. UACILOGTOLEARNING; $GOv J8i InteractB b;* 0; !$UOY.

NWOAB " @d /|6Y O*? @[ vt NW [w8N )/ L%.& }:O E* 30 @d /|; NWOb 'X gkOB pg postEvent #b! gkR @[ vt NW [w8N \OL%.& }:R v V@OY.

9& in " @d /|6Y @[ vt NW [w8N O*GL%.& }:OJC@. UA_UsrResponseType WLm! [L'(Ze)]N gkZ $G@d; $GUOY(9: = v(EXP), mA(CON), ?T(CMT)). W1 Y= < 3GL%.& }:Om L'; LogAccept_Explore, LogAccept_Consider, LogAccept_Commit8N v$UOY. < !v pg L%.B $.w ?OOv8(@[ vt NW [wLV=) API! kX [w OB gkZ! 80R v V5O L': -N Y(OY.

GB pg gkZ $G@d /|! gkOB @[ vt NW [w8N \OL%.& }:R v V@OY. 9& in, L'; LogCustomResponses v$OJC@.

API! kX [wR '!B L%. #! bI{ wLB xv8 L' v$ T"8N Z e&m.w R v V@OY. " gkZ $G@d! 05GL'; N)OB fl!B $N L%. 0? d` 8m-! 8Y $.Q $8! %CKOY.

Uz pg L'-* V; 3$OJC@. //Define name value pairs for the UACIRESPONSETYPECODE // Response type Explore NameValuePair responseTypeEXP = new NameValuePairImpl(); responseTypeEXP.setName("UACIRESPONSETYPECODE"); responseTypeEXP.setValueAsString("EXP"); responseTypeEXP.setValueDataType(NameValuePair.DATA_TYPE_STRING);

// Response type Consider NameValuePair responseTypeCON = new NameValuePairImpl(); responseTypeCON.setName("UACIRESPONSETYPECODE"); responseTypeCON.setValueAsString("CON"); responseTypeCON.setValueDataType(NameValuePair.DATA_TYPE_STRING);

// Response type Commit NameValuePair responseTypeCMT = new NameValuePairImpl(); responseTypeCMT.setName("UACIRESPONSETYPECODE"); responseTypeCMT.setValueAsString("CMT"); responseTypeCMT.setValueDataType(NameValuePair.DATA_TYPE_STRING);

24 IBM Unica Interact: |.Z !Le //Define name value pairs for UACILOGTOLEARNING //Does not log to learning NameValuePair noLogToLearning = new NameValuePairImpl(); noLogToLearning.setName("UACILOGTOLEARNING"); noLogToLearning.setValueAsString("0"); noLogToLearning.setValueDataType(NameValuePair.DATA_TYPE_NUMERIC);

//Logs to learning NameValuePair LogToLearning = new NameValuePairImpl(); LogToLearning.setName("UACILOGTOLEARNING"); LogToLearning.setValueAsString("1"); LogToLearning.setValueDataType(NameValuePair.DATA_TYPE_NUMERIC);

L 9 x0 9&B 30 L%. gk; 8)]OY. //EXAMPLE 1: This set of postEvent calls use the individually named events //PostEvent with an Explore response NameValuePair[] postEventParameters = { responseTypeEXP, noLogToLearning }; response = api.postEvent(sessionId, LogAccept_Explore, postEventParameters);

//PostEvent with a Consider response NameValuePair[] postEventParameters = { responseTypeCON, noLogToLearning }; response = api.postEvent(sessionId, LogAccept_Consider, postEventParameters);

//PostEvent with a Commit response NameValuePair[] postEventParameters = { responseTypeCOM, LogToLearning }; response = api.postEvent(sessionId, LogAccept_Commit, postEventParameters);

L N x0 9&B L%.& O*8 gkOB fl& 8)]OY. //EXAMPLE 2: This set of postEvent calls use the single event //PostEvent with an Explore response NameValuePair[] postEventParameters = { responseTypeEXP, noLogToLearning }; response = api.postEvent(sessionId, LogCustomResponse, postEventParameters);

//PostEvent with a Consider response NameValuePair[] postEventParameters = { responseTypeCON, noLogToLearning }; response = api.postEvent(sessionId, LogCustomResponse, postEventParameters);

//PostEvent with a Commit response NameValuePair[] postEventParameters = { responseTypeCOM, LogToLearning }; response = api.postEvent(sessionId, LogCustomResponse, postEventParameters);

N 9& pN $.w ?OQ [w; v`Ov8 Q v|L Y% v|! qX Pb , o v V@OY.

18S /f :WL! WLm; Campaign bO WLm! JN

Y= WLm: 18S /f :WL! WLm; Campaign bO WLm! JNOB f }; %CUOY. " ks vX6Y L WLm _ O*! Vn_ T; boOJC@. %CH WLm L': 18S WLm W Campaign C:[WLm!- b; ks! k X [:H yC WLmTOY.

& 3 e Interact %LM R: |. 25 % 2. AC bO UACI_CHStaging Campaign AC bO W Interact AC bO :WL! WLm - L' Lm WLm - L' ContactID Xg x= Xg x= TreatmentCode UA_Treatment TreatmentCode CampaignID UA_Treatment CampaignID OfferID UA_Treatment OfferID CellID UA_Treatment CellID CustomerID UA_DtlContactHist CustomerID ContactDate UA_DtlContactHist ContactDateTime ExpirationDateTime UA_Treatment ExpirationDateTime EffectiveDateTime UA_Treatment EffectiveDateTime ContactType UA_DtlContactHist ContactStatusID UserDefinedFields UA_DtlContactHist UserDefinedFields

ContactIDB UACI_CHOfferAtrib& UACI_CHStagingz 6NOB 0TOY.

% 3. @[ S: UACI_CHOfferAttrib Campaign AC bO W Interact AC bO :WL! WLm - L' Lm WLm - L' ContactID Xg x= Xg x= AttributeID UA_OfferHistAttrib AttributeID StringValue UA_OfferHistAttrib StringValue NumberValue UA_OfferHistAttrib NumberValue DateTimeValue UA_OfferHistAttrib DateTimeValue

ContactIDB UACI_CHOfferAtrib& UACI_CHStagingz 6NOB 0TOY.

% 4. @d bO UACI_RHStaging Campaign @d bO W Interact @d bO :WL! WLm - L' Lm WLm - L' SeqNum Xg x= Xg x= TreatmentCode UA_ResponseHistory TreatmentInstID CustomerID UA_ResponseHistory CustomerID ResponseDate UA_ResponseHistory ResponseDateTime ResponseType UA_ResponseHistory ResponseTypeID UserDefinedFields UA_ResponseHistory UserDefinedFields

SeqNum: AC W @d bO pbL %LM& D0OB % gkOB 0Lv8 Campaign @d WLm! bOGv J@OY.

26 IBM Unica Interact: |.Z !Le userDefinedFields -: gkZ! 1COB %LM& wTR v V@OY. :WL! WLm!-; _!Oi, AC W @d bO pbL UA_DtlContactHist GB UA_ResponseHistory WLmG ?OL'G -! bOUOY. 9& in, UACI_CHStaging WLm! linkFrom -; _!Oi AC W @d bO pbL Xg %LM& UA_DtlContactHist WLmG linkFrom -N 9gUOY.

_dgW: Campaign AC W @d bO WLm! _! -LV8i, :WL! WLm ! O!OB -; _!X_ AC W @d bO WLm; G`R v V@OY.

18S

L/Q gkZ $GH Je& gkO)@[& &xOB % gkGB !v& wTC3 v V@OY. 18S WLmG UACI_CHStaging WLmz Campaign C:[WLmG UA_DtlContactHist WLm pN! FinalScore -; _!OJC@. b; &x P@ ; gk _N fl Interact! FinalScore -; @[! gkGB V>!vN Z?8 N $sOY.

g k Z $ G H P @ p b ; t e O B f l , ITreatment N M d L : G setActualValueUsed ^Re W ILearning NMdL:G logEvent ^Re& gk R v V@OY.

P@; gkOv JB fl, 18S WLmG UACI_CHStaging WLmz Campaign C :[WLmG UA_DtlContactHist WLm pN! Score -; _!OJC@. Interact! Score -; @[! gkGB !vN Z?8N $sOY.

AC W @d bO pb! kQ JMX pOM5 8:

pZN /f! kQ Marketing Platform!- Campaign > pOM5 |VG Y= 8 : nO $8& m}OJC@.

8: nO $8 3$ monitorEnabledForInteract True port JMX -q:G w. x#TOY. protocol JMXMP GB RMI

JMXMP ANd]; 1COus5 AC W @d bO pb ! kQ 8HL gkGv J@OY.

& 3 e Interact %LM R: |. 27 JMX pOM5 58!- AC W @d bO %LM& 8i S:L 3=!B D

JMXMP ANd]! kQ AC W @d bO pb pOM5G b; VRB service:jmx:jmxmp://CampaignServer:port/campaignTOY.

RMI A N d ] ! k Q A C W @ d b O p b p O M 5 G b ; V R B service:jmx:rmi:///jndi/rmi://CampaignServer:port/campaignTOY.

3w

f.ZB Ws Q xG "K! f.8N .#hG; OaR vB x@OY. m4L% gL.!- eY8O! Wq; _!Om 2O Dnv GE& OaOv J; v V@O Y. 18S

Interact 3w

3w

28 IBM Unica Interact: |.Z !Le v 18S /f: Campaign AC bO WLm! W<:R v Vn_ UOY. Campaign AC bO WLm! W<:R v V5O18S /f; 8:OE* 18S /f! A C bO WLm9g;;[:Oi L8T R v V@OY.

L W<:B Pb |kLg, AC W @d bO /?.

WLm9g;;[:OB fl, AC bO 9g;G %LM! $.Qv .NOB M : gkZG %STOY. purgeOrphanResponseThresholdInMinutes nO $8 & gkO) CrossSessionResponse -q:! O!Ov JB @d; 8/OB C# fL& gkZ! AC bO WLm9g;G %LM uN m' s5M O!O5O 8 :R v V@OY. AC W @d bO pb; gk _N fl, ETL w%L.& 6 $O) VE %LM& 8/Om VBv .NX_ UOY.

3w

AC bO WLm9g;;[:OG Campaign C:[WLmG G& WLm; gk OG Y= \h& v`X_ UOY. 1. AC W @d bO WLm; Campaign!- CYN JNX_ UOY. 2. Interact pZN /f 3! p:d.G interactDT/ddl/acifeatures p:d.! VB aci_lrnfeature SQL :)3.& Campaign C:[WLmG UA_DtlContactHist W UA_ResponseHistory WLm! kX G`X_ UOY.

L :)3.B UA_DtlContactHist W UA_ResponseHistory WLm! RTSelectionMethod -; _!UOY. " ks vX6Y L/Q WLm! kX aci_lrnfeature :)3.& G`OJC@. " ks vX6Y CY% WLm! k X [wO5O L :)3.& Jd! {s m}OJC@. 3. AC bO WLm; 18S /f8N 9gOAi v] 9gOJC@. 4. Interact 18S /f 3! p:d.G ddl p:d.! VB aci_crhtab SQL : )3.& AC W @d bO %LM R:! kX G`OJC@.

L :)3.B UACI_XsessResponse W UACI_CRHTAB_Ver WLm;[:UOY. 5. " ks vX6Y UACI_XsessResponse WLmG v|; [:OJC@.

3w

& 3 e Interact %LM R: |. 29 L/Q WLmG %LM& $b{8N w%L.O) $.Q @d _{; 8eX_ U OY.

3w

AC W @d bO pbL G`Gn_ 3w

UACI_TrackingType WLm

UACI_TrackingType WLm: 18S /f WLmGONTOY. L WLm: 3w < G @d _{z T2 gkGB _{ Ze& $GUOY. _{ ZeB 18S /fL 1 8S

- /| 3m TrackingCodeType int _{ Ze /|; *8;B }ZTOY. SQL mI:L} Z& |6O)

Y= WLm! %CH kN b;{8N18S /f!B N 3G _{ Ze! $GGn V@OY. k< ZeG fl, m/ TrackingCodeType; $GX_ UOY.

TrackingCodeType L' 3m 1 3. Ze UACI }: 3. Ze 2 @[ Ze UAC 7dN/@[ Ze

UACI_XSessResponse

" ks vX6Y L WLmG Q N:O:! Interact 3w

- /| 3m SeqNumber bigint %LM ` IDTOY. CrossSessionResponse -q:B SeqNumber x-N pg 9Ze& 3.UOY.

30 IBM Unica Interact: |.Z !Le - /| 3m ICID bigint k-D $N IDTOY. AudienceID bigint L ks vXG ks IDTOY. L -GL': Campaign ! $GH ks IDM O!X_ UOY. yC WLm: CustomerID -; wTUOY. TrackingCode varchar(64) postEvent ^ReG UACIOfferTrackingCode E3/v! |^Q *TOY. TrackingCodeType int _{ ZeG }Z %CTOY. L *: UACI_TrackingType WLmG CY% WqLn_ UOY. OfferID bigint Campaign! $GH @[ IDTOY. ResponseType int L 9ZeG@d /|TOY. L *: UA_UsrResponseType WLmG CY% WqLn_ UOY. ResponseTypeCode varchar(64) L 9ZeG@d /| ZeTOY. L *: UA_UsrResponseType WLmG CY% WqLn_ UOY. ResponseDate datetime @d /%TOY. Mark bigint L Je *: 9Ze sB& D0UOY. v 1-x` _ v 2-:x v NULL - gC5 v -1 - 9Ze! purgeOrphanResponseThresholdInMinutesPL Q5O %LM#L:! Vz@OY.

%LM#L: |.ZG L WLm /v8vGONN L J e!- O!Ov JB 9Ze(o, *L -1N pg 9Ze)& .NR v V@OY. *L 2N pg 9ZeB CrossSessionResponse -q:! GX Z?8N &EKOY. UsrDefinedFields char(18) @[ @d; AC W @d bOz O!C3 ' wTC3 g kZ $G JeTOY. 9& in, GK Ze& O!C0Ai GK Ze gkZ $GH Je& wTC0JC@.

3w

3w

3w

3. Ze GB @[ Ze! FQ n2 M;O!C0B fl, UACI_TrackingType WLm! _!X_ UOY. 1. 18S /f! W<:R v VB AC W @d bO WLm! XSessResponse W Lm;[:OJC@.

& 3 e Interact %LM R: |. 31 2. 18S /fG contactAndResponseHistoryDataSource |V! nO $8& $ GOJC@. 3. " ks vX6Y crossSessionResponseTable nO $8& $GOJC@. 4. " ks vX6Y OverridePerAudience |V& [:OJC@.

3w

3. Ze0 O!& 'Q SQL:Lks vX! kQ XSessResponse WLmG pg -z OfferIDMatch -; .OX_ UOY. OfferIDMatch -G *: XSessResponse 9ZeG 3. ZeM T2 &xGB offerId)_ UOY.

Y=: 3. Ze& O!C0B b;{8N }:H SQL mI yCTOY. InteractB ks vX!CY% WLm L'; gkOb 'Q SQL; }:UOY. L SQL: Interact > services > crossSessionResponse > OverridePerAudience > AudienceLevel > TrackingCodes > byTreatmentCode > SQL nO $8! C:[ }: SQL gk8N 3$H fl gkKOY.

select distinct treatment.offerId as OFFERIDMATCH, tx.*, dch.RTSelectionMethod from UACI_XSessResponse tx Left Outer Join UA_Treatment treatment ON tx.trackingCode=treatment.treatmentCode Left Outer Join UA_DtlContactHist dch ON tx.CustomerID = dch.CustomerID Left Outer Join UA_ContactHistory ch ON tx.CustomerID = ch.CustomerID AND treatment.cellID = ch.cellID AND treatment.packageID=ch.packageID where tx.mark=1 and tx.trackingCodeType=1

UACI_XsessResponse, UA_DtlContactHist, CustomerID, UA_ContactHistory * : gkZ 3$! GX Interact! $GKOY. 9& in, UACI_XsessResponseB Interact > profile > Audience Levels > [AudienceLevelName] > crossSessionResponseTable 8: nO $8! GX $GKOY.

AC W @d bO WLm; gkZ $GQ fl, WLm! kQ [w; OAi L SQL ; v$X_ UOY. Interact > services > crossSessionResponse > OverridePerAudience > (AudienceLevel) > TrackingCodes > byTreatmentCode > OverrideSQL nO $8! SQL g$G& $GOJC@. ON g$G SQL; &x OB fl, SQL nO $85 g$G SQLN /fX_ UOY.

32 IBM Unica Interact: |.Z !Le @[ Ze0 O!

@[ Ze0 O!& 'Q SQL:Lks vX! kQ XSessResponse WLmG pg -z TreatmentCodeMatch -; .OX_ UOY. TreatmentCodeMatch -G *: XSessResponse 9ZeG @[ ID(W @[ Ze)M T2 &xGB 3. Ze)_ UO Y.

Y=: @[ Ze& O!C0B b;{8N }:H SQL mI yCTOY. InteractB ks vX!CY% WLm L'; gkOb 'Q SQL; }:UOY. L SQL: Interact > services > crossSessionResponse > OverridePerAudience > AudienceLevel > TrackingCodes > byOfferCode > SQL nO $8! C:[ } : SQL gk8N 3$H fl gkKOY. select treatment.treatmentCode as TREATMENTCODEMATCH, tx.*, dch.RTSelectionMethod from UACI_XSessResponse tx Left Outer Join UA_DtlContactHist dch ON tx.CustomerID=dch.CustomerID Left Outer Join UA_Treatment treatment ON tx.offerId = treatment.offerId Left Outer Join ( select max(dch.contactDateTime) as maxDate, treatment.offerId, dch.CustomerID from UA_DtlContactHist dch, UA_Treatment treatment, UACI_XSessResponse tx where tx.CustomerID=dch.CustomerID and tx.offerID = treatment.offerId and dch.treatmentInstId = treatment.treatmentInstId group by dch.CustomerID, treatment.offerId ) dch_by_max_date ON tx.CustomerID=dch_by_max_date.CustomerID and tx.offerId = dch_by_max_date.offerId where tx.mark = 1 and dch.contactDateTime = dch_by_max_date.maxDate and dch.treatmentInstId = treatment.treatmentInstId and tx.trackingCodeType=2 union select treatment.treatmentCode as TREATMENTCODEMATCH, tx.*, 0 from UACI_XSessResponse tx Left Outer Join UA_ContactHistory ch ON tx.CustomerID =ch.CustomerID Left Outer Join UA_Treatment treatment ON tx.offerId = treatment.offerId Left Outer Join ( select max(ch.contactDateTime) as maxDate, treatment.offerId, ch.CustomerID from UA_ContactHistory ch, UA_Treatment treatment, UACI_XSessResponse tx where tx.CustomerID =ch.CustomerID and tx.offerID = treatment.offerId and treatment.cellID = ch.cellID and treatment.packageID=ch.packageID group by ch.CustomerID, treatment.offerId ) ch_by_max_date ON tx.CustomerID =ch_by_max_date.CustomerID and tx.offerId = ch_by_max_date.offerId and treatment.cellID = ch.cellID and treatment.packageID=ch.packageID where tx.mark = 1 and ch.contactDateTime = ch_by_max_date.maxDate and treatment.cellID = ch.cellID and treatment.packageID=ch.packageID and tx.offerID = treatment.offerId and tx.trackingCodeType=2

& 3 e Interact %LM R: |. 33 UACI_XsessResponse, UA_DtlContactHist, CustomerID, UA_ContactHistory * : gkZ 3$! GX Interact! $GKOY. 9& in, UACI_XsessResponseB Interact > profile > Audience Levels > [AudienceLevelName] > crossSessionResponseTable 8: nO $8! GX $GKOY.

AC W @d bO WLm; gkZ $GQ fl, WLm! kQ [w; OAi L SQL ; v$X_ UOY. Interact > services > crossSessionResponse > OverridePerAudience > (AudienceLevel) > TrackingCodes > byOfferCode > OverrideSQL nO $8! SQL g$G& $GOJC@. ON g$G SQL; &xO B fl, SQL nO $85 g$G SQLN /fX_ UOY. k< Ze0 O!

gkZ! 1CQ ON k< Ze0 O!& 'Q SQL mI; $GR v V@OY. 9 & in, @[ GB 3. ZeM 03N GK Ze GB &0 Ze! V; v V@O Y.

Interact 18S /f WLmG UACI_TrackingType WLm! L k< Ze& $GX _ UOY.

Interact > services > crossSessionResponse > OverridePerAudience > (AudienceLevel) > TrackingCodes > byAlternateCode > OverrideSQL nO $ 8! L ks vX! kQ XSessResponse WLmG pg -z TreatmentCodeMatch W OfferIDMatch -; .OOB SQL GB :dne ANCz& &xX_ UOY. OfferIDMatch kE! offerCode& 1C{8N .OR v V@OY(N D. @[ Z eG fl offerCode1, offerCode2, ... offerCodeN |D). TreatmentCodeMatch - W OfferIDMatch -(GB @[ Ze -)G *: XSessResponse 9ZeG TrackingCode! XgX_ UOY.

9& in, Y= SQL Gg ZeB XSessResponse WLmG AlternateCode -;O !C5OY. Select m.TreatmentCode as TreatmentCodeMatch, m.OfferID as OfferIDMatch, tx.* From MyLookup m, UACI_XSessResponse tx Where m.customerId = tx.customerId And m.alternateCode = tx.trackingCode And tx.mark=1 And tx.trackingCodeType =

)b- B UACI_TrackingType WLm! $GH _{ ZeTOY.

34 IBM Unica Interact: |.Z !Le 18S /f!- %LM#L: Ne /?.< gk b;{8N18S /f:

%LM#L: Ne /?.<& gkOi, 18SL :WL! WLm! bOOb |! A C W @d bO; ^p.! pN 8/Ov Jm :WL! WLm! %LM& bOU OY. externalLoaderStagingDirectory nO $8& gkO) :WL! DOL w THp:d.G'!& $GOJC@. L p:d.!B n 3G O' p:d.! V@ OY. 9 x0 O' p:d.B contactHist W respHist p:d.& wTOB 18 SN:O: p:d.TOY. contactHist W respHist p:d.!B audienceLevelName.uniqueID.currentState |D8N m/OT L' v$H O' p: d.(:WL! DO; wT)! V@OY.

vg sB 3m CACHE p:d. AYw& DO! vg bO _TOY. READY p:d. AYw& 3.R Xq! Gz@OY. RUN p:d. AYw& %LM#L:! vg bO _TOY. PROCESSED p:d. AYw! %LM#L:! bOGz@OY. ERROR p:d. AYw& %LM#L:! bOOB ?H @y! _}_@OY. ATTN p:d. AYw! VG! JdUOY. o, %LM#L:! L p:d. AY w bO; OaOAin!v v? \h& v`X_ UOY. RERUN p:d. AYw& %LM#L:! bOR Xq! Gz@OY. .&!; $$ Q D!B p:d. L'; ATTN GB ERROR!- RERUN8N /fX_ UO Y.

@k ANW% -v C[ :)3.! interact.runtime.instance.name JVM nO $8 & $GO) 18SN:O: p:d.& $GR v V@OY. 9& in, %@k A NW% -v C[ :)3.! -Dinteract.runtime.instance.name=instance2& _ !R v V@OY. 3$Ov J: fl b; L': DefaultInteractRuntimeInstance TOY.

samples p:d.!B Z< %LM#L: Ne /?.< A.Q DO[:; vxO B yC DOL in V@OY.

18S /f! %LM#L: Ne /?.< 3$

%LM#L: Ne /?.

& 3 e Interact %LM R: |. 35 InteractB Interact 18S -v 3!G loaderService p:d.! yC mIz A. Q DO; &xUOY. 1. 18S /f gkZ!T Marketing Platform! $GH 18S WLm %LM R: ! kQ NWN ES $8! VBv .NOJC@.

Marketing PlatformG %LM R: L': systemTablesDataSource)_ UO Y. 2. Interact > general > systemTablesDataSource > loaderProperties 8: nO $8& $GOJC@. 3. Interact > -q: >externalLoaderStagingDirectory nO $8& $GO JC@. 4. Jd! {s Interact > -q: > responseHist > fileCache 8: nO $ 8& v$OJC@. 5. Jd! {s Interact > -q: > contactHist > fileCache 8: nO $8 & v$OJC@. 6. 18S -v& YCC[OJC@.

36 IBM Unica Interact: |.Z !Le & 4 e @[ &x

&xR @[ 1C f}; bsC0b 'X )/ !v f}8N Interact& 1CR v V @OY. Y= =G!-B L/Q 1C{ bI;Z

@[ Z]

InteractG q{: {UQ @[& &xOB MTOY. #\w ;X InteractB f.Z, $ N, s2; bX8N {UQ @[ _!- V{ @[& &xUOY.

3. T": Interact!m4!T {UQ @[& G0OB f}G C[O STOY. Interact!B 18SL /fL &xR @[& G0OB f}; bsC0b 'X 8vR v VB n !v 1C{ bILV@OY. L _ n0Q bI5 m4!T @[! &x G5O 8eOv J@OY. L/Q bI: @[!m4!T &xOb! {UOYB ! I:!5b; ]OY. L/Q bI; JdQ 8- s6gv GB ON& gkO) / f! BB VsG VgG; 8vR v V@OY.

@[ Z]!5b; Y v VB < !v b; 5*LVB%, D8 @[ qO }:, 6 IC !v G0, P@TOY.

D8 @[ qO }: D8 @[ qO }:!B N 3G Vd :WLv! V@OY. 9 x0 :WLvB m4 !T {UQ pg !IQ @[ qO; }:OB MTOY. N x0 :WLvB m4! T u Ls {UOv J: pg @[& JM5OB MTOY. N :WLv pN!- D 8 @[ qO }:!5b; Y v VB n 3G'!! V@OY.

Y= YLnW%: D8 @[ qO }: :WLv& %CUOY. -l%B l1x' x-& %CUOY. 9& in, @[! Vk @[ &x =v JM& kzOv8 |*@ [wT T" JM& kzOv xOi 18S /fL @[& &\UOY.

© Copyright IBM Corp. 2001, 2012 37 v |*@[ v$ - |*@[ WLm; gkO) ks vX0 |*@[& $GR v V@OY. v 3. T" - s#[k |+ G; gkO) s#[k v!0N a /% - Campaign!- 7dN; [:R ' 7dN C[ W > a /%& $GR v V@OY. 7dN C[ /%! _}Ov JRE* 7dN >a /%! v58i 18S /fL @[& &\UOY. v @[ &\ - @[ &\ WLm; gkO) /$ ks 8:x! kQ @[ &\& $ GR v V@OY. v Vk @[ &x =v - k-D $N; $GR '

38 IBM Unica Interact: |.Z !Le 6IC !v hj 6IC !v!5b; VE*(hj; gk) g$GOB )/ !v f}LV@OY. Y = YLnW%: 6IC !v!5b; VE* g$GR v VB )/ :WLv& % CUOY. -l%B l1x' x-& %CUOY. 9& in, 3. T"! kQ m^ IG! 6IC !v& G0Ob 'Q%vD; $GOm !v g$G WLm! %vD ; $GOB fl !v g$G WLmG %vDL l1UOY.

v |* !v - |*@[ WLm; gkO) ks vXg !v& $GR v V@OY. v 6IC cgZG !v - 3. T"G =sLu& gkO)

P@!5bB `g Interact b; &x P@ pb; gk _N fl, P@ S: GB EZ vX qOz0 : %X P@ 8:; ~n* P@ bB!5b; Y v V@OY. *Sv 8: dR& gkOB ?H P@ Km.r 8: dR& g$GR v V@OY.

b; @[ W !v g$G WLmG LikelihoodScore W AdjExploreScore -; g kO) P@;g$GR v V@OY. aci_scoringfeature bI :)3.& gkO ) b; @[ W !v g$G WLm! L -; _!R v V@OY. L/Q g$G& CYN gkOAi Interact b; &x P@; 6zw LXX_ UOY.

& 4 e @[ &x 39 P@ pb: D8 @[ qO W D8 @[g 6IC !v& gkOg V> hj!- L & gkUOY. @[ qO: m4L @[& vtR !I:(vt !I:); hjOB % P@ S:z T2 gkKOY. P@ Km.r: =vz Lk #G U|; B_b 'X L/Q !I:z A.(WLG bO v& gkO)@[ !_!& G0UOY. 6v7 8N, b; &x P@: @[ !_!& gkOm V> 6IC !v& vX V>!v& .OUOY. @[B L V>!v0N $DKOY.

@[ o&$8

18S /fL @[& o&OB n !v f}LV@OY. v k-D $NG 18 f. C @[& %CR Vk =v dR.

k-D $N;[:OE* m}R ' 18 f. C @[& %CR Vk =v& $G OJC@. v @[ &\ WLm gk.

ANDO %LM#L:!@[ &\ WLm;[:R v V@OY. v 8a /%! v- @[. v 8aH 7dNG @[. v @[wT T"(3. T" m^ IG); kzOv xOb '.! &\H @[. v Interact

@[ &\ WLm gk

o&H @[ qO; |6O5O Interact& 8:R v V@OY. 1. pg ks! kX ks ID W @[ ID& wTOB u WLm (offerSuppressionTable);[:OJC@. 2. enableOfferSuppressionLookup nO $8& trueN 3$OJC@. 3. offerSuppressionTable nO $8& Xgks! kQ @[ &\ WLm L' 8N 3$OJC@.

@[ &\ WLm

@[ &\ WLm; gkO) /$ ks ID! kQ @[& %COv J; v V@O Y. 9& in, ksL CustomerLi John Smith m4! kQ @[& %COv J; v V@OY. Q 3 LsG ks vX! kX L WLmG v|L nk ANDO %L M#L:! Vn_ UOY. ANDO %LM#L:! kX aci_usertab SQL :)3

40 IBM Unica Interact: |.Z !Le .& G`O)@[ &\ WLm yC(UACI_Blacklist);[:R v V@OY. aci_usertab SQL :)3.B 18S /f 3! p:d.G ddl p:d.! V@O Y.

" `! kX AudienceID W OfferCode1 Je& $GX_ UOY. ks ID GB @ [ Ze! )/ -N 8:H fl _! -; _!R v V@OY. L -: Campaign ! $GH - L'z O!X_ UOY. 9& in, HHold_ID W MemberNum JeN Customer ks; $GOB fl@[ &\ WLm! HHold_ID W MemberNum; _ !X_ UOY.

L' 3m AudienceID (Jv) L -GL': Campaign! ks ID& $GOB - L'z O!X_ UOY. ks ID! )/ -N 8:H fl, L WLm!-; _!R v V@OY. " `: b ; @[& v$R ks ID(9: customer1)& wTX_ UOY. OfferCode1 (Jv) g$GR @[G @[ ZeTOY. @[ Ze! )/ JeN 8:H fl, _! -(9: OfferCode2 n); _!R v V@OY.

|*@[ W 30 v$ s#[k |+ G! 8:H 3. T"; ~n* /$ @[& v$O5O18S /f; 8:R v V@OY. SGG ks vX 8:x! kX |*@[& $GOm /$ ks 8:x! kX 30 v$; $GR v V@OY. 9& in, pg !$! kX |*@ [& $GO) Y% gwL gkR v xB Cb& .NQ D /$ Smith !$! kX 30 @[ v$;[:R v V@OY.

5*, ?, @[wT T"; kX |*@[M 30 v$; pN &QR v V@OY. |*@[M 30 v$ pN nk ANDO %LM#L:G /$ WLm! %LM& _ !O) 8:KOY.

|*@[M 30 v$L CYN [?OAi |6H pg ? W @[ Ze! hw! V n_ UOY. Jv %LM& gkR v VT OAi b; ? Ze W UACI_ICBatchOffers WLm; 8:X_ UOY.

b; ? Ze $G

|* GB 30 @[ v$! b; @[ GB !v g$G WLm; gkOB fl, IndividualTreatment |VG " ks vX W WLm /|! kX DefaultCellCode nO $8& $GO) b; ? Ze& $GX_ UOY.

b; @[ GB !v g$G WLmG /$ `! ? Ze& $GOv J: fl DefaultCellCode! gkKOY. 8mB L b; ? Ze& gkUOY.

& 4 e @[ &x 41 DefaultCellCodeB Campaign! $GH ? Ze |Dz O!X_ UOY. L ? Z eB 8m! *8*B pg @[ v$! gkKOY. m/ b; ? Ze& $GOB f l, b; @[ GB $G WLm!- v$Q @[& 1T D0R v V@OY.

UACI_ICBatchOffers WLm $G

b; @[ GB !v g$G WLm; gkOB fl, pg @[ Ze! hw! VBv .NX_ UOY. b; @[ GB !v g$G WLm!- gkOB pg @[! 3. T"!- gkHYm Km V8i, @[! hw! V@OY. W/* 3. T"!- g kGv JB pg @[B UACI_ICBatchOffers WLm! $GX_ UOY.

UACI_ICBatchOffers WLm: Campaign C:[WLm! V@OY.

UACI_ICBatchOffers WLm; b; @[ GB !v g$G WLm!- gkGB @ [ ZeN $v_ UOY. L WLmG |D: Y=z0@OY.

- L' /| 3m ICName varchar(64) @[! ,|H k-D $N L'TOY. N 3G -N Y% k-D $N!- ?OQ @[& gk _N fl, " k-D $N! `; &xX_ UOY. OfferCode1 varchar(64) @[ ZeG 9 x0 D.TOY. OfferCode2 varchar(64) @[ ZeG N x0 D.TOY(JdQ fl). OfferCode3 varchar(64) @[ ZeG < x0 D.TOY(JdQ fl). OfferCode4 varchar(64) @[ ZeG W x0 D.TOY(JdQ fl). OfferCode5 varchar(64) @[ ZeG Y8 x0 D.TOY(JdQ fl).

|*@[ WLm $8 |*@[ WLm; gkO) ks vX!- 3.& $GR v V@OY. 9& in, k s !$G pg 8:x! kQ |*@[& $GR v V@OY.

Interact @[ &xG Y= dR! kQ |* 3$; $GR v V@OY. v |*@[ v$

v |* 6IC cgZG !v(}Z bX GB %vD bX) v @[& JMR No %vD

v P@ !I: W !_!(Interact b; &x P@; gk _N fl) v |* P@ g$G

|*@[ WLm gk

3. T"! $GH M; ~n* ks vX! kX |*@[& v$O5O18S / f; 8:R v V@OY. 1. ANDO %LM#L:! UACI_DefaultOffers WLm;[:OJC@.

42 IBM Unica Interact: |.Z !Le aci_usrtab ddl DO; gkO)CY% -; !x UACI_DefaultOffers WL m;[:R v V@OY. 2. enableDefaultOfferLookup nO $8& trueN 3$OJC@.

|*@[ WLm

|*@[ WLm: ANDO %LM#L:! Vn_ UOY. ANDO %LM#L:! kX aci_usertab SQL :)3.& G`O) UACI_DefaultOffers |*@[ WL m;[:R v V@OY. aci_usertab SQL :)3.B 18S /f 3! p:d. G ddl p:d.! V@OY.

" `! kX AudienceLevel W OfferCode1 Je& $GX_ UOY. b8 JeB @[ v$; _!N &QOE* ks vX!- b; &x P@!5b; Vb 'Q 1 C gWTOY.

VsG :I; r8Ai L WLmG ks vX -! N&:& [:X_ UOY.

L' /| 3m AudienceLevel varchar(64) (Jv) b; @[& v$OBks vXGL'TOY(9: customer GB household). LL': Campaign! $G H ks vXz O!X_ UOY. OfferCode1 varchar(64) (Jv) b; @[G @[ ZeTOY. @[ Ze! )/ J eN 8:H fl, _! -(9: OfferCode2 n); _!R v V@OY.

|*@[ v$; &xOb 'X L @[& _!OB fl, UACI_ICBatchOffers WLm! L @[& _!X_ UOY. Score float L @[ v$! kQ 6IC !v& $GR }ZTOY. OverrideTypeID int 1N 3$H fl, @[! @[ D8 qO! x8iqO! L @[& _!Om @[! kQ !v %LM& gkOJC @. O]{8N |*@[ v$; &xOAi 1; gkOJ C@.

0, null GB 1L FQ SGG }ZN 3$H fl, @[! @[ D8 qO! VB fl!8 @[! kQ %LM& g kOJC@. kNPG fl, 3. T" GB 30 v$:L 3$;g$GUOY.

& 4 e @[ &x 43 L' /| 3m Predicate varchar(4000) 3. T"! kQ m^ IG8N L -! %vD;TBR v V@OY. 3. T"! kQ m^ IG [: C gk ! IQ ?OQ /v W E)N& gkR v V@OY. L - G ?[: EnableStateID -G *! {s Y(OY. v EnableStateID! 2Li, L -: 3. T"! kQ m ^ IGG Y= %vDL |Li L T";{UQ M8 N #V IGz ?OOT [?O) L @[ v$; &Q UOY. L -: No %vD; wTX_ Og, L @[ & wTOAi |8N X.Gn_ UOY.

_xX-}ZN X.GB %vD; $GOi,0L FQ SGG }Z! |8N #VGm 0: E~8N #VKOY.

v EnableStateID! 3Li, L -: 3. T"! kQ m ^ IGG Y= %vD; 6IC !vN gk IGz ? OOT [?O) L @[& &QUOY. L -: }ZN X.GB %vD; wTX_ UOY. v EnableStateID! 1Li, Interact! L -G pg *; +CUOY. FinalScore float ]/H @[ V> qO; $DOB % gkGB V>!v & g$GR }ZTOY. L -: b; &x P@ pb; 0 :-Q fl gkKOY. L -; gkO5O Z< P@; 8 vR v V@OY. CellCode varchar(64) L b; @[& v$R k-D

OverrideTypeID! 0 GB nullN fl ? Ze& &xX _ UOY. ? Ze& wTC0v J8i, 18S /fLL %LM `; +CUOY.

OverrideTypeID! 1Li, L -! ? Ze& &xOv J F5KOY. ? Ze& &xOv JB fl, 18S /f: 8 m q {8N L k s v X W W L m ! k X DefaultCellCode nO $8! $GH ? Ze& gkUO Y. Zone varchar(64) L @[ v$;{kR 5* L'TOY. NULLLipg 5 *! {kKOY.

44 IBM Unica Interact: |.Z !Le L' /| 3m EnableStateID int L -G *: Predicate -G ?[; $GUOY. v 1 - Predicate -; gkOv J@OY.

v 2 - Predicate& NoN gkO)@[& JMUOY. 3 . T"G Y= %vDL |Li L T";{UQ M8 N #V m^ IGz ?OQ T"; {(OY.

v 3 - Predicate& gkO) 6IC cgZG !v& $ GUOY. 3. T"G Y= %vD; 6IC !vN g k m^ IGz ?OQ T"; {(OY.

L -L NullLE* 2 GB 3 L\G *N pg `: Predicate -; +CUOY. LikelihoodScore float L -: b; &x P@!5b; Vb 'X-8 gkKO Y. aci_scoringfeature ddl; gkO) L -; _!R v V@OY. AdjExploreScore float L -: b; &x P@!5b; Vb 'X-8 gkKO Y. aci_scoringfeature ddl; gkO) L -; _!R v V@OY.

!v g$G $8 !v g$G WLm; gkO) ks ID GB 30 vX!- 3.& $GR v V@O Y. 9& in, ks vXL f.ZLi /$ f.Z! kQ g$G& [:R v V@ OY.

Interact @[ &xG Y= dR! kQ g$G& $GR v V@OY. v 30 @[ v$

v 30 6IC cgZG !v(}Z bX GB %vD bX) v @[& JMR No %vD

v P@ !I: W !_!(b; &x P@; gk _N fl) v 30 P@ g$G

!v g$G WLm gk

6IC !v kE p(5 @k ANW%!- }:H !v& gkO5O Interact& 8 :R v V@OY. 1. g$G& &xR " ks vX! kX !v g$G WLm;[:OJC@.

aci_usrtab ddl DO; gkO)CY% -; !x!v g$G WLm yC;[ :R v V@OY. 2. enableScoreOverrideLookup nO $8& trueN 3$OJC@.

& 4 e @[ &x 45 3. scoreOverrideTable nO $8& g$G& &xR " ks vXG !v g$G WLm L'8N 3$OJC@.

pg ks vX! !v g$G WLm; &xOvB JF5KOY.

!v g$G WLm

!v g$G WLm: nk ANDO %LM#L:! Vn_ UOY. ANDO %LM #L:! kX aci_usertab SQL :)3.& G`O) !v g$G WLm yC (UACI_ScoreOverride);[:R v V@OY. aci_usertab SQL :)3.B 18 S /f 3! p:d.G ddl p:d.! V@OY.

" `! kX AudienceID, OfferCode1 W Score Je& $GX_ UOY. b8 J eG *: 30 @[ v$; _!N &QOE* b; &x P@! kQ !v g$G $ 8& &xOb 'Q 1C gWTOY.

L' /| 3m AudienceID varchar(64) (Jv) L -GL': Campaign! ks ID& $GOB - L'z O!X_ UOY. aci_usertab ddl DOL [:Q yC WLm:L-; CustomerID -N [:UOY. ks ID! )/ -N 8:H fl, L WLm!-; _!R v V@OY. " `: 30 @[& v$R ks ID(9: customer1)& wTX_ UOY. VsG :I; r8Ai L -! N&:& [:X_ UOY. OfferCode1 varchar(64) (Jv) @[G @[ ZeTOY. @[ Ze! )/ JeN 8 :H fl, _! -(9: OfferCode2 n); _!R v V@ OY.

30 @[ v$; &xOb 'X L @[& _!OB fl, UACI_ICBatchOffers WLm! L @[& _!X_ UOY. Score float L @[ v$! kQ 6IC !v& $GR }ZTOY. OverrideTypeID int 0L* null(GB 1L FQ SGG }Z)N 3$H fl, @ [! @[ D8 qO! VB fl!8 @[! kQ %LM & gkOJC@. O]{8N !v g$G& &xOAi 0; gkOJC@. ? Ze& &xX_ UOY.

1N 3$H fl, @[! @[ D8 qO! x8iqO! L @[& _!Om @[! kQ !v %LM& gkOJC @. O]{8N 30 @[ v$; &xOAi 1; gkOJ C@.

46 IBM Unica Interact: |.Z !Le L' /| 3m Predicate varchar(4000) 3. T"! kQ m^ IG8N L -! %vD;TBR v V@OY. 3. T"! kQ m^ IG [: C gk ! IQ ?OQ /v W E)N& gkR v V@OY. L - G ?[: EnableStateID -G *! {s Y(OY. v EnableStateID! 2Li, L -: 3. T"! kQ m ^ IGG Y= %vDL |Li L T";{UQ M8 N #V IGz ?OOT [?O) L @[ v$; &Q UOY. L -: No %vD; wTX_ Og, L @[ & wTOAi |8N X.Gn_ UOY.

_xX-}ZN X.GB %vD; $GOi,0L FQ SGG }Z! |8N #VGm 0: E~8N #VKOY.

v EnableStateID! 3Li, L -: 3. T"! kQ m ^ IGG Y= %vD; 6IC !vN gk IGz ? OOT [?O) L @[& &QUOY. L -: }ZN X.GB %vD; wTX_ UOY. v EnableStateID! 1Li, Interact! L -G pg *; +CUOY. FinalScore float ]/H @[ V> qO; $DOB % gkGB V>!v & g$GR }ZTOY. L -: b; &x P@ pb; 0 :-Q fl gkKOY. L -; gkO5O Z< P@; 8 vR v V@OY. CellCode varchar(64) L @[& v$R k-D

OverrideTypeID! 0 GB nullN fl ? Ze& &xX _ UOY. ? Ze& wTC0v J8i, 18S /fLL %LM `; +CUOY.

OverrideTypeID! 1Li, L -! ? Ze& &xOv J F5KOY. ? Ze& &xOv JB fl, 18S /f: 8 m q {8N L k s v X W W L m ! k X DefaultCellCode nO $8! $GH ? Ze& gkUO Y. Zone varchar(64) L @[ v$;{kR 5* L'TOY. NULLLipg 5 *! {kKOY.

& 4 e @[ &x 47 L' /| 3m EnableStateID int L -G *: Predicate -G ?[; $GUOY. v 1 - Predicate -; gkOv J@OY.

v 2 - Predicate& NoN gkO)@[& JMUOY. 3 . T"G Y= %vDL |Li L T";{UQ M8 N #V m^ IGz ?OQ T"; {(OY.

v 3 - Predicate& gkO) 6IC cgZG !v& $ GUOY. 3. T"G Y= %vD; 6IC !vN g k m^ IGz ?OQ T"; {(OY.

L -L NullLE* 2 GB 3 L\G *N pg `: Predicate -; +CUOY. LikelihoodScore float L -: b; &x P@!5b; Vb 'X-8 gkKO Y. aci_scoringfeature ddl; gkO) L -; _!R v V@OY. AdjExploreScore float L -: b; &x P@!5b; Vb 'X-8 gkKO Y. aci_scoringfeature ddl; gkO) L -; _!R v V@OY.

Interact b; &x P@ 3d CY%

InteractB f.ZG [w!- GC#8N P@R v V5O Y= N !v IG; &x UOY. v b; &x P@ pb - 18S /f!B Naive Bayesian b] P@ pbLV@O Y. L pb: gkZ! 1COB m4 S:; pOMOm Xg %LM& gkO) &xR @[& 1T 1CUOY. v P@ API - 18S /f!B Z< P@ pb;[:R v V5O P@ API5 V@ OY.

P@; gkOv JF5KOY. b;{8N P@: q0:-Gn V@OY.

Interact P@ LX Interact P@ pb: @[ Wf.Z S:! kQ f.ZG @d; pOMUOY. P @ pb!BY= N !v O] pe! V@OY.

48 IBM Unica Interact: |.Z !Le v =v - P@ pb:Lk _! *_! gkGB _$; V{-Ob! fPQ @d %LM& v}R v V5O @[& &xUOY. =v _! &xH @[B V{ 1C ; ]eC ]5OvB J@OY. v Lk - =v \h!- fPQ %LM! v}H D P@ pb: !I:; gkO) &xR @[& 1T 1CUOY.

P@ pb: N 3G nO $8& bX8N =vz Lk gL& @)OY(o, confidenceLevel nO $8& gkO) 8:OB EZ vXz percentRandomSelection nO $8& gkO) 8:OB P@ pbG +[' @[ &x!I:). confidenceLevel; _g!- @[ !v! gkGb |! P@ pbG EZ $5& % COB q2N 3$OJC@. 3=!, P@ pb! [wR %LM! x8i P@ pb : 6IC !v! |{8N G8UOY. minPresentCountThreshold! $GQ 8- pg @[! &xH D P@ pb: =v pe! xTUOY. [wR %LM! 9v J 8i P@ pb: hjQ q2L CY#Ym .EOv J@OY. {s- =v pe& /vUOY.

P@ pb: " @[! !_!& RgUOY. !_!& hjOb 'XP@ pb: b O vt %LM W vg

C:[L Jb \h ?H Vs8N v`OB @[N bov J5O InteractB percentRandomSelection%G +[' @[& &xUOY. LB P@ pbL :x! I:L !e 7: @[& GeO) Y% @[! kbL 98i :x!I:L t:v )N& G0O5O -&UOY. 9& in, percentRandomSelection; 5N 8:O i LB P@ pbL 5%G +[' @[& &xOmhj! @d %LM& _!T;G LUOY.

P@ pb: Y=z0: f}8N &xGB @[& G0UOY. 1. f.Z! @[& 1CR !I:; hjUOY. 2. 1\hG !I:; gkO)@[ !_!& hjOm =v pe)_ OBv Lk p e)_ OBv )N& G0UOY. 3. 2\hG @[ !_! W 6IC !v& gkO) " @[G V>!v& hjUO Y. 4. 3\h!- G0Q !v0N @[& $DOm d;H s' @[ v&.OUOY.

9& in, P@ pb: f.Z! @[ A& vtR !I:L 30%Lm @[ B& vt R !I:L 70%Lg L $8& LkX_ QYm G0UOY. 3. T"!- @[ A

& 4 e @[ &x 49 G 6IC !vB 75Lm @[ BG flB 55TOY. W/* 3\h!-G hj: @ [ BG V>!v! @[ A8Y t@OY. {s- 18S /f: @[ B& GeUO Y.

P@: recencyWeightingFactor nO $8 W recencyWeightingPeriod nO $ 85 bX8N UOY. L/Q nO $8& gkO) L| %LM8Y VY %LM! ! _!& u _!R v V@OY. recencyWeightingFactorB VY %LM!!._ O B !_! q2TOY. recencyWeightingPeriodB VY C# fLTOY. 9& i n, recencyWeightingFactor& .308N, recencyWeightingPeriod& 24N 8:O JC@. LB %LMGL|24C#L mAGB pg%LMG 30%S; GLUOY. O VO! %LM! V8i, 3= 6O #G pg rU %LM! %LMG 70%Lm *Sv /: %LMG 30%TOY.

pg

VW.TLMB 8: !IQ #]8N :WL! WLm!- %LM& Pm DDOQ D WLm! bOUOY. P@ pb: }hH L %LM& Pmhj!- gkUOY.

P@ pb gk

pg 18S -v!B b; &x P@ pbLV@OY. b;{8N L P@ pb: q 0:Gn V@OY. 8: nO $8& /fO) P@; 3$R v V@OY.

18S /fG Marketing Platform!- Interact > offerserving |VG Y= 8 : nO $8& m}OJC@.

8: nO $8 3$ optimizationType BuiltInLearning

P@ S: P@ pb: f.Z S: W @[ vt %LM& gkO) P@UOY. pOMOB f .Z S:; 1CR v V@OY. L f.Z S:: k-D CNw.!- |6OB w x WLm! zeH S: GB GC#8N v}OB ON L%. E3/v& wTO) m4 ANDO ; n2 MO v V@OY.

pOMR S:; s6gv 8:R v Vv8, IBM!-BY= v'; {s ${ W ? { P@ S: gL!@w 103G P@ S:; 8:O5O GeUOY. v 63 S:; 1COJC@.

50 IBM Unica Interact: |.Z !Le /gQ S:; 1COv 6JC@. 9& in, HighValuesB S:;[:Om X g S:L ^)& bX hj! GX $GH fl HighValueM Salary&pN 1C OvB 6JC@. /gQ S:: P@ Km.r! 5rL Gv J@OY. v 03*; !x S:; 1COJC@.

S:L * |'& .B fl, $.Q *; 1CX_ UOY. 9& in, ^)& S: 8N gkOm"^) |'! /$ *; v$X_ R fl 20,000 - 30,000 |' B A)_ Om 30,001 - 40,000: B)_ UOY. v :I;zXOv J5O _{R S: v& &QOJC@.

_{R v VB S: vB :I d8 gW W Interact 3!! {s Y(OY. !I OYi, Y%p(5 58(9: PredictiveInsight)& gkO) s' 103G 9x ! IQ S:; G0OJC@. 9x R!IOv8 :I qk5eB S:;Z?8N $ .O5O P@ pb; 8:R v V@OY. pOMOB S: vM pOMOB S:g * v&pN $GO) :I; |.R v V @OY. maxAttributeNames nO $8B _{OB Vk f.Z vS:; $GUO Y. maxAttributeValues nO $8B S:g _{OB Vk * v& $GUOY. otherAttributeValue nO $8 *L $GQ |V!B b8 pg *L RgKOY. W/* P@ #x: _}OB 9 x0 *8 _{UOY. 9& in, f.Z S: H8 vs; _{ _TOY. Duv, %v, lv!8 |ILV8GN maxAttributeValues & 38N 3$UOY. W/* 3= < f.ZG *: Duv, %v, c%vTOY. LB lv H8& !x pg f.Z!T otherAttributeValue! v$J;GLUOY.

P@ 6G; 8Y m.OT v$R v VT OB ?{ P@ S:5 gkR v V@O Y. ?{ P@ S:; gkO) N S:G 6U; \O Wq8N P@R v V@OY. 9& in, Y= ANDO $8& mAOJC@. f.Z ID +e /| +e \W 1 qe +e $1,000 2 qe +e $9,000 3 jPn +e $1,000 4 jPn +e $9,000

%X P@ S:; gkOB fl, +e /| W \W8 30{8N P@R v V@O Y. f.Z 1, 2B ?OQ +e /|; bX8N T2 Wl-Gm f.Z 2, 4B +e \W; bX8N Wl-KOY. LB @[ vt ?[G $.Q [?G 9x /v! F R v V@OY. qe +e RvZG \WL u 98i f.Z 2G ?[: f.Z 4M Y;{8N Y#g, LB %X P@ S:; VnUOY. W/* ?{ P@ S:; gk Oi L/Q f.Z& "" 30{8N P@Og 9xL 8Y $.UOY.

& 4 e @[ &x 51 ?{ P@ S:; gkOm f.Z! S:! kQ N 3G/?Q *; .B fl, P @ pb: pbL #B 9 x0 *; 1CUOY.

enablePruning nO $8& yesN 3$Oi, P@ pb: 9x R!IQ S:; K m.r{8N G0Om!_! hj C Xg S:; mAOv J@OY. 9& in, p _ vs; *8;B S:; _{Om P@ pbL f.ZG p_ vs; bX8N v tR POL xYm G0Oi P@ pb: p_ vs S:; mAOv J@OY. S: : P@ }h AN<:! G`I '6YYC r!KOY (aggregateStatsIntervalInMinutes nO $8N $GJ). ?{ P@ S:5 $. KOY.

P@ S: $G

Vk maxAttributeNames3G f.Z vS:; 8:R v V@OY.

pZN /fG Marketing Platform!- Campaign > partitions > partitionn > Interact > learning |VG Y= 8: nO $8& m}OJC@.

(learningAttributes)B u P@ S:;[:R [C4TOY. " S:! kX u L';TBX_ UOY. L'L ?OQ N 3G |V& [:R v x@OY.

8: nO $8 3$ attributeName attributeName: ANDO %LMGL'-* V L'z O!X_ U OY. LL': kR.Z& 8POv J@OY.

?{ P@ S: $G

?{ P@ S:; $GOAi P@ %LM R:G UACI_AttributeList WLm; $ v_ UOY.

L WLmG pg -: varchar(64) /|TOY.

- 3m AttributeName P@R ?{ S: L'TOY. AttributeNameCol!- !IQ G& *Ln_ UOY. AttributeNameCol AttributeName; #; v VB O|Q - L'TOY(ANDO W Lm!- C[OB h~ 86). L - L': %X P@ S:L FO n5KOY. AttributeValueCol AttributeName! kQ ,|*; #; v VB O|Q - L'T OY(ANDO WLm!- C[OB h~ 86).

9& in, Y= ANDO WLm W ,|H wx WLm; mAOJC@.

52 IBM Unica Interact: |.Z !Le % 5. MyProfileTable VisitorID KeyField 1 Key1 2 Key2 3 Key3 4 Key4

% 6. MyDimensionTable KeyField CardType CardBalance Key1 qe +e 1000 Key2 qe +e 9000 Key3 jPn +e 1000 Key4 jPn +e 9000

Y=: +e /|z \WLO!OB UACI_AttributeList WLm yCTOY.

% 7. UACI_AttributeList AttributeName AttributeNameCol AttributeValueCol qe +e MyProfileTable.MyDimensionTable. MyProfileTable.MyDimensionTable. CardType CardBalance jPn +e MyProfileTable.MyDimensionTable. MyProfileTable.MyDimensionTable. CardType CardBalance

\N P@ gk

P@ Java™ API& gkO) Z< P@ pb;[:R v V@OY. Marketing Platform !- P@ /?.<& NDO5O18S /f; 8:R v V@OY.

18S /fG Marketing Platform!- Interact > offerserving |VG Y= 8 : nO $8& m}OJC@. P@ V{- ANW% API! kQ 8: nO $8B Interact > offerserving > External Learning Config |V! V@OY.

8: nO $8 3$ optimizationType ExternalLearning externalLearningClass \N P@! kQ ,!: L' externalLearningClassPath 18S -vG \N P@! kQ ,!: GB jar DO fN TOY. -v Wl; gk _Lm 18S -v! ?OQ Marketing Platform N:O:& |6OB fl, pg -v !B ?OQ '!! ,!: GB jar DO 9g;LVn_ UOY.

L/Q /f gW;{kOAi Interact 18S -v& YCC[X_ UOY.

& 4 e @[ &x 53 54 IBM Unica Interact: |.Z !Le & 5 e Interact API LX

InteractBYgQ "!! ?{8N @[& &xUOY. 9& in, /$ /|G -q: 68N k-Q m4G Vssb GE GB ,a GE !I:; K.B ^Cv& ]> M wx!T 8;5O18S /fz "!; 8:R v V@OY. GQ % gL.G / $ 5*8N L?Q m4(f.Z)!Tm4Bc @[& &xO5O18S /fz " !; 8:R v5 V@OY.

Interact API(Application Programming Interface)N !IQ VsG @[& &xO5 O18S -vW"!; 8:R v V@OY. API& gkO) "!: 18S -v! - f.Z& Wl(

InteractM gkZG /f; !IQQ :B{8N kUOb 'X IBM: Interact API& gkO) W<:R v VB % -q:& &xUOY.

Interact API %LM CN Y= W2: Interact APIG \x 8v; 8)]OY. f.ZB % gL.! NWNO m @[! %CH dLvN L?UOY. f.ZB @[& 1COm NWFtUOY. s #[kL \xQ ]i "!z 18S -v pN!- _}OB )/ L%.! V@OY.

f.Z! NWNOi startSessionL ..EKOY.

© Copyright IBM Corp. 2001, 2012 55 L 9!- startSession ^ReB W !v O; v`UOY. 9 x0N u 18S < G; }:UOY. N x0N, m4 ANDO %LM&

f.ZB L. $GH s#[k v!! 5^R 'nv gL.& =vUOY. W2!-, N x0 s#[k v!(1C gW 1C)B f.Z! @[ <.& %COB 5)& ,/ OB wTOY. "! |.Z! executeBatch ^Re& ..EO5O 5)& 8:_@ OY.

executeBatch ^ReN18S -v! kQ \O #b!- Q LsG ^Re& #b R v V@OY. L /$ executeBatchB N !v Y%^ReN getOffers W postEvent& #bUOY. getOffers ^ReB @[ qO; d;UOY. 18S! < WU. %LM, @[ &\ qO, 3. T", P@ pb; gkO)@[ <.& &HU OY. 18S! AYw dLv! %CH @[ <.! .OKOY.

postEvent ^ReB pZN /f! $GH ^Re _ O*& ..EUOY. /0Q f l L%.B AC bO! %CH @[& NWR d;; 8@OY.

f.Z! @[ _ O*& 1CUOY(@[ 1C).

56 IBM Unica Interact: |.Z !Le @[ 1Cz ,|H \_B G Y% postEvent ^Re& 8;5O 8:Gn V@O Y. LL%.B @d bO!@[ vt; NWR d;; 8@OY.

@[& 1CQ D f.ZB % gL.&6!m NWFtUOY. NWFt mI: endSession ^ReN ,aKOY.

endSession ^Re! aI v V5O 8: !IQ aGm L %LM! UGGb |! %LM

& 5 e Interact API LX 57 & %LM#L:! 9OY. W/i postEvent ^Re& gkO) :@& AN<:& wTQ k-D CNw.& #bR v V@OY.

L 9B "!z 18S /f#! API! [?OB fDG b;gW; 8)VB El \xQ 9TOY(f.Z! \x s#[kN W !v [w o, NWN, @[! %CH d LvN L?, @[ 1C, NWFt8 v`T). JdQ kN 8Y 9bOT kU; pZ NR v V@OY(:I d8 gWG Qh ;!-).

\x s#[k h9 9

^k |-8gG%gL.! kQ s#[k; pZNOm V@OY. Y= YLnW% : ^k |- h9 d` dLvG 9LFt; 8)]OY.

^k |- h9 d` dLvG d8 gW! BT Y= Wq; $GUOY.

wW9Le! kQ @[ |k 5*! %CR @[ O*

v wW9Le @[& %COB dLvG 5*; $GX_ UOY. GQ Interact! % CR @[& 1COm *i $8& NWX_ UOY.

s#[k v!: ip_planSummaryBottomRight

L%.: evt_logOffer

|- wW9Le& 'Q N 3G @[

v |- wW9Le %COB dLvG " 5*; $GX_ UOY.

58 IBM Unica Interact: |.Z !Le s#[k v!: ip_planSummaryTopRight

s#[k v!: ip_planSummaryBottomLeft

P.;'X vtGB @[M ENGB @[& NWX_ UOY.

L%.: evt_offerAccept

L%.: evt_offerReject

@[ AC, vtGB EN& NWR '6Y @[G 3. Ze& |^X_ OBv5 K m Vn_ UOY. Jd! {s NameValuePair& }:O) Y= 9!-33 3. Z e& wTUOY. NameValuePair evtParam_TreatmentCode = new NameValuePairImpl(); evtParam_TreatmentCode.setName("UACIOfferTrackingCode"); evtParam_TreatmentCode.setValueAsString(offer.getTreatmentCode()); evtParam_TreatmentCode.setValueDataType(NameValuePair.DATA_TYPE_STRING);

L& pZN /f gkZ!T "!zG kU; ZyOB ?H s#[k v! W L%. & }:O5O d;R v V@OY.

@[& %CR " s#[k v!6Y Uz @[& !.B D @[& %CX_ R $8 & _bX_ UOY. 9& in, % dLvG O\ @%J 5*! kQ @[& d;O JC@(planSummaryBottomRight). Response response=getOffers(sessionID, ip_planSummaryBottomRight, 1)

W/i OfferList @d; wTQ @d 3

L& @[& %CX_ OGN @[& AC8NNWOA UOY.

& 5 e Interact API LX 59 NameValuePair evtParam_TreatmentCode = new NameValuePairImpl(); evtParam_TreatmentCode.setName("UACIOfferTrackingCode"); evtParam_TreatmentCode.setValueAsString(offer.getTreatmentCode()); evtParam_TreatmentCode.setValueDataType(NameValuePair.DATA_TYPE_STRING); postEvent(sessionID, evt_logOffer, evtParam_TreatmentCode)

" ^Re& 30{8N #bOv Jm % dLvG planSummaryBottomLeft NP! kQ Y= 9! %CH kN executeBatch ^Re& gkR v V@OY. Command getOffersCommand = new CommandImpl(); getOffersCommand.setMethodIdentifier(Command.COMMAND_GETOFFERS); getOffersCommand.setInteractionPoint(ip_planSummaryBottomLeft); getOffersCommand.setNumberRequested(1);

Command postEventCommand = new CommandImpl(); postEventCommand.setMethodIdentifier(Command.COMMAND_POSTEVENT); postEventCommand.setEvent(evt_logOffer);

/** Build command array */ Command[] commands = { getOffersCommand, postEventCommand };

/** Make the call */ BatchResponse batchResponse = api.executeBatch(sessionId, commands);

UACIOfferTrackingCode& &xOv J8i Interact Interact 18S -v! Z?8 N G e O B V E 3 .qO ; A C 8 NNW O b ' . ! L 9!- B UACIOfferTrackingCode& $GRJd! x@OY.

GQ |- wW9Le @[& %COB dLvG N x0 5*! kX 30J6Y %C GB LLv& /fOb 'X +p!& h@OY. < !v LLv& 8|C05O a$ _8GN Y=; LkO) LLv& 8|C0b 'X Ze! gkR 3COAB @[ < .& KvX_ UOY. Response response=getOffers(sessionID, ip_planSummaryBottomLeft, 3) OfferList offerList=response.getOfferList(); if(offerList.getRecommendedOffers() != null) { for(int x=0;x<3;x++) { Offer offer = offerList.getRecommendedOffers()[x]; if(x==0) { // grab offerimg attribute value and store somewhere; // this will be the first image to display } else if(x==1) { // grab offerimg attribute value and store somewhere; // this will be the second image to display } else if(x==2)

60 IBM Unica Interact: |.Z !Le { // grab offerimg attribute value and store somewhere; // this will be the third image to display } } }

NC3C!- ,sLp. Ze d!& 2m LLv! %CH D " @[6Y Q x8 AC! NWX_ UOY. AC! NWOAi UACITrackingCode E3/v& 9|33 TCX_ UOY. " @[G _{ ZeB -N Y(OY.

NameValuePair evtParam_TreatmentCodeSTR = new NameValuePairImpl(); NameValuePair evtParam_TreatmentCodeSBR = new NameValuePairImpl(); NameValuePair evtParam_TreatmentCodeSBL = new NameValuePairImpl();

OfferList offerList=response.getOfferList(); if(offerList.getRecommendedOffers() != null) { for(int x=0;x<3;x++) { Offer offer = offerList.getRecommendedOffers()[x]; if(x==0) { evtParam_TreatmentCodeSTR.setName("UACIOfferTrackingCode"); evtParam_TreatmentCodeSTR.setValueAsString(offer.getTreatmentCode()); evtParam_TreatmentCodeSTR.setValueDataType(NameValuePair.DATA_TYPE_STRING); } else if(x==1) { evtParam_TreatmentCodeSBR.setName("UACIOfferTrackingCode"); evtParam_TreatmentCodeSBR.setValueAsString(offer.getTreatmentCode()); evtParam_TreatmentCodeSBR.setValueDataType(NameValuePair.DATA_TYPE_STRING); } else if(x==2) { evtParam_TreatmentCodeSBL.setName("UACIOfferTrackingCode"); evtParam_TreatmentCodeSBL.setValueAsString(offer.getTreatmentCode()); evtParam_TreatmentCodeSBL.setValueDataType(NameValuePair.DATA_TYPE_STRING); } } }

" @[& ,/O) vtH @[M ENH @[& NWX_ UOY.(L C*.@!- mC{8N 1CGv J: @[B ENH M8N #VKOY.) Y=: ip_planSummaryTopRight @[! 1CH flG 9TOY. postEvent(sessionID, evt_offerAccept, evtParam_TreatmentCodeSTR) postEvent(sessionID, evt_offerReject, evtParam_TreatmentCodeSBR) postEvent(sessionID, evt_offerReject, evtParam_TreatmentCodeSBL)

/w, < !v postEvent #b; executeBatch ^ReM T2 8;B ML !e A @OY.

LB b; 9Lg kU; 2B VsG f}; %COvB J@OY. 9& in, L 9 G np!5 Response ,!:& gkQ @y KgB wTGn Vv J@OY.

& 5 e Interact API LX 61 Interact API kU pZN "!zG Interact API kU; teOAi 8v; C[Ob |! n !v pZN [w L JdUOY. 6IC@z [wO) "!!- 18S /f!@[& &xR '!(s #[k v! $G) W gkOAB _{L* k-D bIG/|(L%. $G); a$X _ UOY. pZN \h!- LB Wz FtsNO v V@OY. 9& in, |Z kE % gL.G fl m4G h9 d` dLv!B h9 wW9Le! |QQ!v @[ M |- wW9Le! kQ N 3G @[! %CGn_ UOY.

8g!- m4z s#[kR '! WfD; a$Om *i Interact& gkO)

mAR gW kU; 5 ' Y= A; boOJC@. v "!; pZNR ' @[& &CR v VB pg s#[k v!! kX n !v b ; J/ AYw(O]{8N +XQ /|G ^Cv* qn VB AYw)& }:OJC @. LB vg s2!- vg f.Z!T {UQ @[! &xGv J; flTOY. s#[k v!G b; .Z-N L b; J/ AYw& RgX_ UOY. v "!; pZNR ' n0Q fOv J:L/N NX "!L 18S -v Wl! 5 ^R v xB fl AYw& %CR n !v f}; wTOJC@. v postEvent W setAudience& wTO) f.Z& YC

62 IBM Unica Interact: |.Z !Le & 6 e IBM Unica Interact API |.

startSession ^Re& gkR '6Y 18S -v! Interact 18S

8: nO $8B sessionManagement |V! V@OY.

NIO W Interact API

5n L\G "!! Interact& gkR v V@OY. APIG pg .Z-z "!!B 1 8S /f gkZ! kX $GH NIOL gkKOY.

-q: Wl0NNIO; O*8 1CR v V@OY.

9& in, 18S /f!- gkZ NIOL 5nN 3$H asm_admin_en W gkZ NIOL A{:nN 3$H asm_admin_frLsB N mG gkZ& }:UOY. "! L A{:nN pZNH fl 18S /fG asmUserForDefaultLocale nO $8& asm_admin_frN $GOJC@.

JMX pOM5 $8 InteractB JMX @k ANW%8N W<:R v VB JMX(Java Management Extensions) pOM5 -q:& &xUOY. JMX pOM58N18S -v&pOM Om|.R v V@OY. JMX S:: 18S -v! kQ 9:Za& #bOB k5N8 % gL.& ZyQ f l ):! .#hG; OaOi startSessionCount& endSessionCountM q3O ) LOaH .#hGv& .NR v V@OY.

InteractB JSR 160! $GH RMI W JMXMP& vxUOY. JSR160 #/ JMX , sLp.N JMX pOM5 -q:!,aR v V@OY.

k-D CNw.B JMX pOM5; kX-8pOMR v V@OY. k-D CNw. ! kQ $8B Campaign pOM5! %CGv J@OY.

|m: IBM WebSphere®& ke |.ZN gk _N fl JMX pOM5; 3$OA i O] JVM Nv& $GX_ UOY.

© Copyright IBM Corp. 2001, 2012 63 RMI ANd]! kQ JMX pOM5; gkO5O Interact 8:

18S /f! kQ Marketing Platform!- Interact > pOM5 |VG Y= 8 : nO $8& m}OJC@.

8: nO $8 3$ protocol RMI port JMX -q:G w. x#TOY. enableSecurity False

RMI ANd]G Interact 8v: 8H; vxOv J@OY.

RMI ANd]! kQ pOM5G b; VRB service:jmx:rmi:///jndi/rmi:// RuntimeServer:port/interactTOY.

JMXMP ANd]! kQ JMX pOM5; gkO5O Interact 8:

JMXMP ANd]: ,!: fN InteractJMX.jar W jmxremote_optional.jar ! Y= x-N N 3G _! sLj/.! JdUOY. N DO pN 18S /f 3 !G lib p:d.! V@OY.

|m: 8H; gkOi gkZL'z O#! 18S /f! kQ Marketing PlatformG gkZM O!X_ UOY. qn VB O#& gkOi HKOY.

18S /f! kQ Marketing Platform!- Interact > pOM5 |VG Y= 8 : nO $8& m}OJC@.

8: nO $8 3$ protocol JMXMP port JMX -q:G w. x#TOY. enableSecurity FalseN 3$O) 8H; q0:-OE* TrueN 3$O) 8H; g kOJC@.

JMXMP ANd]! kQ pOM5G b; VRB service:jmx:jmxmp:// RuntimeServer:portTOY.

jconsole :)3. gk

05G JMX pOM5 @k ANW%L xB fl JVMz T2 3!H jconsole; g kR v V@OY. Interact/tools p:d.!- C[ :)3.& gkO) jconsole ; C[R v V@OY. 1. Interact\tools\jconsole.bat(Windows) GB Interact/tools/ jconsole.sh(Unix)& X:.m}b!- )JC@.

64 IBM Unica Interact: |.Z !Le 2. INTERACT_LIB& InteractInstallationDirectory/lib p:d.G|< fN N 3$OJC@. 3. HOST&pOMOAB 18S -vG #:. L'8N 3$OJC@. 4. Interact > pOM5 > port nO $8!- ;kR JMX& 8:Q w.N PORT & 3$OJC@. 5. RMI ANd]; kX pOM _Li JMXMP ,a U! 3m; _!Om RMI ,a UG 3m; &EOJC@.

:)3.! b;{8N JMXMP ANd]; kX pOMUOY.

9& in, jconsole.batG b; 3$; |6OJC@.

JMXMP ,a %JAVA_HOME%\bin\jconsole.exe -J-Djava.class.path=%JAVA_HOME%\lib\jconsole.jar; INTERACT_LIB%\interactJMX.jar; INTERACT_LIB%\jmxremote_optional.jar service:jmx:jmxmp://%HOST%:%PORT%

RMI ,a %JAVA_HOME%\bin\jconsole.exe -J-Djava.class.path=%JAVA_HOME%\lib\jconsole.jar; INTERACT_LIB%\jmxremote_optional.jar service:jmx:rmi:///jndi/rmi://%HOST%:%PORT%/interact

JMX S:

Y= WLm: JMX pOM5! gk !IQ S:; 3mUOY.

JMX pOM5G &xH pg%LMB 6v7 g3$ GB C:[ C[LDG %L MTOY. 9& in, 3vB 3! LD! FQ 6v7 g3$L* C:[ C[LDG Wq vTOY.

% 8. AC @d bO ETL pOM S: 3m AvgCHExecutionTime AC W @d bO pbL AC bO WLm ! 2B % I.B rU C#(P.J)TOY. L rU: AC bO WLm! VR O*G 9 Ze! bOGz8g :xQ [w! kX-8 hjKOY. AvgETLExecutionTime AC W @d bO pbL 18S /f!- % LM& PB % I.B rU C#(P.J)TO Y. :xQ [wz GPQ [w! kQ C# L rU! wTKOY. AvgRHExecutionTime AC W @d bO pbL@d bO WLm ! 2B % I.B rU C#(P.J)TOY. L rU:@d bO WLm! VR O*G 9 Ze! bOGz8g :xQ [w! kX-8 hjKOY.

& 6 e IBM Unica Interact API |. 65 % 8. AC @d bO ETL pOM (hS) S: 3m ErrorCount 6v7 g3$ GB C:[ C[LD! NW H @y ^Cv vTOY(VB fl). HighWaterMarkCHExecutionTime AC W @d bO pbL AC bO WLm ! 2B % I0 Vk C#(P.J)TOY. L *: AC bO WLm! VR O*G 9Ze ! bOGz8g :xQ [w! kX-8 hj KOY. HighWaterMarkETLExecutionTime AC W @d bO pbL 18S /f!- % LM& PB % I0 Vk C#(P.J)TOY. :xQ [wz GPQ [w pN hj! wT KOY. HighWaterMarkRHExecutionTime AC W @d bO pbL@d bO WLm ! 2B % I0 Vk C#(P.J)TOY. L *:@d bO WLm! VR O*G 9Ze ! bOGz8g :xQ [w! kX-8 hj KOY. LastExecutionDuration AC W @d bO pbL 6v7 9g& v `OB % I0 C#(P.J)TOY. NumberOfExecutions Jb- LD AC W @d bO pbL G` H =vTOY. LastExecutionStart AC W @d bO pbG 6v7 G`L C [H C#TOY. LastExecutionSuccessful trueLi AC W @d bO pbG 6v7 G `L :x_@OY. falseN fl@y! _} _@OY. NumberOfContactHistoryRecordsMarked AC W @d bO pbG vg G` _ L? Gm VB UACI_CHStaging WLmG AC b O9Ze vTOY. L *: AC W @d b O pbL vg G` _N fl!8 08Y . OY. NumberOfResponseHistoryRecordsMarked AC W @d bO pbG vg G` _ L? Gm VB UACI_RHStaging WLmG@d b O9Ze vTOY. L *: AC W @d b O pbL vg G` _N fl!8 08Y . OY.

AC @d bO ETL pOM S:: pZN /fGONTOY. Y=G pg S:: 1 8S /fGONTOY.

% 9. 9\ S: 3m errorCount 6v7 g3$ GB C:[ C[LD! NWH @ y ^Cv vTOY. warningCount 6v7 g3$ GB C:[ C[LD! NWH f m ^Cv vTOY.

66 IBM Unica Interact: |.Z !Le % 10. CNw. #x kh S: 3m activeProcessBoxThreads vg G` _N CNw. AN<::9e(p g G`!- x/)G 0: 3vTOY. activeSchedulerThreads vg G` _N CNw. :IY/ :9eG 0: 3vTOY. avgExecutionTimeMillis rU CNw. G` C#(P.J)TOY. CurrentJobsInProcessBoxQueue CNw. AN<::9e! G`; kb _N [w vTOY. CurrentJobsInSchedulerQueue CNw. :IY/ :9e! G`; kb _N [w vTOY. maximumProcessBoxThreads G`R v VB CNw. AN<::9e(p g G`!- x/)G Vk vTOY. maximumSchedulerThreads G`R v VB CNw. :IY/ :9e(G `0N O*G :9e)G Vk vTOY. numExecutionsCompleted OaH CNw. G`G Q vTOY. numExecutionsStarted C[H CNw. G`G Q vTOY.

% 11. k-D $N0 /$ CNw. S: 3m AvgExecutionTimeMillis L k-D $N!- L CNw.G rU G` C#(P.J)TOY. HighWaterMarkForExecutionTime L k-D $N!- L CNw.G Vk G` C#(P.J)TOY. LastCompletedExecutionTimeMillis L k-D $N!- L CNw.G 6v7 O a G` C#(P.J)TOY. NumExecutionsCompleted L k-D $N!- L CNw.G OaH Q G` vTOY. NumExecutionsStarted L k-D $N!- L CNw.G C[H Q G` vTOY.

% 12. NIO S: 3m locale JMX ,sLp.G NIO 3$TOY.

% 13. NE 8: S: 3m category NW vX; 6[R v VB NW |V& /fUO Y.

% 14. -q::9e . kh S: 3m activeContactHistThreads AC bOz @d bO! kQ [w; 0_O T G` _N :9eG k+{ vTOY.

& 6 e IBM Unica Interact API |. 67 % 14. -q::9e . kh (hS) S: 3m activeFlushCacheToDBThreads 3CH kh& %LM zeRN qlB [w; 0_OT G` _N :9eG k+{ vTOY. activeOtherStatsThreads Z] kh, L%. 0?, b; kh! kQ [ w; 0_OT G` _N :9eG k+{ v TOY. CurrentHighWaterMarkInContactHistQueue AC W @d bO %LM& v}OB -q: ! NWO5O kb-! VB WqG Vk v TOY. CurrentHighWaterMark InFlushCachetoDBQueue 3CG %LM& %LM#L: WLm! 2B -q:! NWO5O kb-! VB WqG V k vTOY. CurrentHighWaterMarkInOtherStatsQueue @[ Z] kh, b; .Z- gk kh, L% . 0? kh, WLm %LM! kQ gkZ $G NW& v}OB -q:! NWO5O k b-! VB WqG Vk vTOY. currentMsgsInContactHistQueue AC bO W @d bO! gkGB :9e . ! kQ kb-G[w vTOY. currentMsgsInFlushCacheToDBQueue 3CH kh& %LM zeRN qlB % g kGB :9e .! kQ kb-G[w vT OY. currentMsgsInOtherStatsQueue Z] kh, L%. 0?, b; kh! gkG B :9e .! kQ kb-G[w vTOY. maximumContactHistThreads AC bOz @d bO! gkGB .! ?C ! Vzx :9eG Vk vTOY. maximumFlushCacheToDBThreads 3CH kh& %LM zeRN qlB % g kGB .! ?C! Vzx :9eG Vk v TOY. maximumOtherStatsThreads {U kh, L%. 0?, b; kh! gkG B .! ?C! Vzx :9eG Vk vTO Y.

-q: khB " -q:! kQ S: <.N Lgn}OY. v ContactHistoryMemoryCacheStatistics - AC bO :WL! WLm! kQ %LM & v}OB -q:TOY. v CustomLoggerStatistics - WLm! 5 gkZ $G %LM& v}OB -q:TO Y(UACICustomLoggerTableName L%. E3/v& gkOB L%.). v b; kh - s#[k v!! kQ b; .Z-L gkH =v! |Q kh& v} OB -q:TOY. v Z] kh - {UQ @[! kQ kh& 2B -q:TOY. v L%. 0? kh - getOffer GB startSessionz0: C:[ L%. W postEventN ..EGB gkZL%. pNGL%. kh& v}OB -q:TO Y.

68 IBM Unica Interact: |.Z !Le v @d bO ^p. 3C kh - @d bO :WL! WLm! 2B -q:TOY. v 3w

% 15. -q: kh S: 3m Count 3.H ^Cv vTOY. ExecTimeInsideMutex Y% :9e& kbOB C#; &\Om, L -q:! kQ ^Cv& 3.OB % I0 C #(P.J)TOY. ExecTimeInsidMutexM ExecTimeMillisG wL! )i -q:G :9 e . )b& /fX_ R v V@OY. ExecTimeMillis Y% :9e& kbOB C#; wTO), L -q:! kQ ^Cv& 3.OB % I0 C #(P.J)TOY. ExecTimeOfDBInsertOnly O}3. pT NP8 3.OB % I0 C# (P.J)TOY. HighWaterMark L -q:G 3.H Vk ^Cv vTOY. NumberOfDBInserts G`H O}3. pTG Q vTOY. TotalRowsInserted %LM#L:! pTH Q ` vTOY.

% 16. -q: kh - %LM#L: Ne /?.< S: 3m ExecTimeOfWriteToCache Jd! {s %LM#L:!- b; 0& !. @m DO! 2B C#; wTO), DO 3 C! 2B % I0 C#(P.J)TOY. ExecTimeOfLoaderDBAccessOnly %LM#L: Nu NP8 G`OB % I0 C#(P.J)TOY. ExecTimeOfLoaderThreads %LM#L: Nu :9e! RpH C#(P. J)TOY. ExecTimeOfFlushCacheFiles 3C& qlm uN g}:OB % I0 C# (P.J)TOY. ExecTimeOfRetrievePKDBAccess b; 0 %LM#L: W<:& KvOB % I0 C#(P.J)TOY. NumberOfDBLoaderRuns %LM#L: Nu G`G Q vTOY. NumberOfLoaderStagingDirCreated }:H :WL! p:d.G Q vTOY. NumberOfLoaderStagingDirRemoved &EH :WL! p:d.G Q vTOY. NumberOfLoaderStagingDirMovedToAttention VGN L'L /fH :WL! p:d.G Q vTOY. NumberOfLoaderStagingDirMovedToError @yN L'L /fH :WL! p:d.G Q vTOY. NumberOfLoaderStagingDirRecovered iWsne :9eGgG` W C[ C#; wTO), 98H :WL! p:d.G Q v TOY. NumberOfTimesRetrievePKFromDB %LM#L:!- b; 0& KvQ Q =vT OY.

& 6 e IBM Unica Interact API |. 69 % 16. -q: kh - %LM#L: Ne /?.< (hS) S: 3m NumberOfLoaderThreadsRuns %LM#L: Nu :9e G`G Q vTOY. NumberOfFlushCacheFiles DO 3C& qn Q =vTOY.

% 17. API kh S: 3m endSessionCount 6v7 g3$ GB C:[ C[LDG endSession API #b vTOY. endSessionDuration 6v7 endSession API #b LDG fz C #TOY. executeBatchCount 6v7 g3$ GB C:[ C[LDG executeBatch API #b vTOY. executeBatchDuration 6v7 executeBatch API #b LDG fz C#TOY. getOffersCount 6v7 g3$ GB C:[ C[LDG getOffers API #b vTOY. getOffersDuration 6v7 getOffer API #b LDG fz C #TOY. getProfileCount 6v7 g3$ GB C:[ C[LDG getProfile API #b vTOY. getProfileDuration 6v7 getProfileDuration API #b LD G fz C#TOY. getVersionCount 6v7 g3$ GB C:[ C[LDG getVersion API #b vTOY. getVersionDuration 6v7 getVersion API #b LDG fz C #TOY. loadOfferSuppressionDuration 6v7 loadOfferSuppression API #b L DG fz C#TOY. LoadOffersBySQLCount 6v7 g3$ GB C:[ C[LDG LoadOffersBySQL API #b vTOY. LoadOffersBySQLDuration 6v7 LoadOffersBySQL API #b LDG fz C#TOY. loadProfileDuration 6v7 loadProfile API #b LDG fz C#TOY. loadScoreOverrideDuration 6v7 loadScoreOverride API #b LD G fz C#TOY. postEventCount 6v7 g3$ GB C:[ C[LDG postEvent API #b vTOY. postEventDuration 6v7 postEvent API #b LDG fz C #TOY. runSegmentationDuration 6v7 runSegmentation API #b LDG fz C#TOY. setAudienceCount 6v7 g3$ GB C:[ C[LDG setAudience API #b vTOY.

70 IBM Unica Interact: |.Z !Le % 17. API kh (hS) S: 3m setAudienceDuration 6v7 setAudience API #b LDG fz C#TOY. setDebugCount 6v7 g3$ GB C:[ C[LDG setDebug API #b vTOY. setDebugDuration 6v7 setDebug API #b LDG fz C #TOY. startSessionCount 6v7 g3$ GB C:[ C[LDG startSession API #b vTOY. startSessionDuration 6v7 startSession API #b LDG fz C#TOY.

% 18. P@ V{- ANW% kh S: 3m LearningOptimizerAcceptCalls P@ pb! |^H vt L%. vTOY. LearningOptimizerAcceptTrackingDuration P@ pb!-vt L%.& NWOB % I 0 Q C#(P.J)TOY. LearningOptimizerContactCalls P@ pb! |^H AC L%. vTOY. LearningOptimizerContactTrackingDuration P@ pb!- AC L%.& NWOB % I 0 Q C#(P.J)TOY. LearningOptimizerLogOtherCalls P@ pb! |^H qAC W qvt L%. vTOY. LearningOptimizerLogOtherTrackingDuration P@ pb!- b8 L%.(qAC W qvt) & NWOB % I0 b#(P.J)TOY. LearningOptimizerNonRandomCalls 8:H P@ 8vL{kH =vTOY. LearningOptimizerRandomCalls 8:H P@ 8v; +COm +[' 1CL {kH =vTOY. LearningOptimizerRecommendCalls P@ pb! |^H Ge d; vTOY. LearningOptimizerRecommendDuration P@ Ge m.! RpH Q C#(P.J)TO Y.

% 19. b; @[ kh S: 3m LoadDefaultOffersDuration b; @[ NyG fzH C#TOY. DefaultOffersCalls b; @[ Ne =vTOY.

& 6 e IBM Unica Interact API |. 71 JMX [w

Y= WLm: JMX pOM5! gk !IQ [w; 3mUOY.

Wl S: 3m NE 8: activateDebug Interact/conf/ interact_log4j.properties! $GH NW DOG NW vX; pvWN 3$UOY. NE 8: activateError Interact/conf/ interact_log4j.properties! $GH NW DOG NW vX; @yN 3$UOY. NE 8: activateFatal Interact/conf/ interact_log4j.properties! $GH NW DOG NW vX; I"8N 3$UOY. NE 8: activateInfo Interact/conf/ interact_log4j.properties! $GH NW DOG NW vX; $8N 3$UOY. NE 8: activateTrace Interact/conf/ interact_log4j.properties! $GH NW DOG NW vX; _{8N 3$UOY. NE 8: activateWarn Interact/conf/ interact_log4j.properties! $GH NW DOG NW vX; fmN 3$UOY. NIO changeLocale JMX ,sLp.G NIO; /fUOY. Interact vx NIO: de, en, es, frTOY. ContactResponseHistory reset pg +nM& g3$UOY. ETLMonitor b; @[ kh updatePollPeriod defaultOfferUpdatePollPeriod& w%L.UOY. L *(J): 3CG b; @[& w%L.Ob | ! kbR b#; C:[! K3OY. -1N 3$ Oi C:[L C[ C b; @[ v8 P@OY.

72 IBM Unica Interact: |.Z !Le & 7 e IBM Unica Interact APIG ,!: W ^Re

Y= =G!B Interact API! kX [wOb |! Km Vn_ R d8 gWz b8 s< $8! *-KOY.

|m: L =G: gkZ! "!, Java ANW!V pn, Java b] API! kQ [w! MwOYm!$UOY.

Interact API!B HTTPG Java wD-& gkOB Java ,sLp. npM! V@O Y. InteractB SOAP ,sLp.& vxR WSDL5 &xUOY. WSDL: Java , sLp. npMM ?OQ bI <.& %COGN 9& &\Q Y= =GL )|w { kKOY.

Interact API ,!:

Interact APIB InteractAPI ,!:! b]; Nm [email protected] vxGB NMd L:! V@OY. v AdvisoryMessage v BatchResponse v NameValuePair v @[ v OfferList v @d

LNMdL:!B 33G vxGB 8<{ ,!:! V@OY. Y=G N !v 8<{ ,!:& N:O:-Q D Interact API ^Re! NvN |^X_ UOY. v NameValuePairImpl v CommandImpl

AdvisoryMessageCodesB < x0 8<{ ,!:B {k !IQ fl -v!- . OH ^Cv Ze& 80OB % gkGB sv& &xR v V@OY.

L =GG *SvB Interact API& LgB ^Re& 3mUOY.

HTTPG Java wD- Jv 8: dR 1. Java wD- npM! kX [wOAi CLASSPATH! Y= DO; _!X_ UO Y. Interact_Runtime_Environment_Installation_Directory/lib/interact_client.jar

© Copyright IBM Corp. 2001, 2012 73 2. ,sLp.M -v gL! |^H pg 3

SOAP Jv 8: dR

_dgW: :I W:. az Java wD- npM! }:H SOAP ,sLp.8Y v ` :I vXL N@ u tR@OY. VsG :I;'X-B !IR '6Y Java wD - npM& gkOJC@.

SOAP& gkO) 18S -v! W<:OAi Y=; v`X_ UOY. 1. 1CQ SOAP x6; gkO) Interact API WSDL; //OJC@.

Interact API WSDL: InteractM T2 Interact/conf p:d.! 3!KOY.

WSDL X:.B L !LeG ! NP! V@OY. 2. 18S -v& 3!Om 8:OJC@.

kU; O|w W:.OAi 18S -v! G`Gm Vn_ UOY.

SOAP v|

InteractB axis2 1.3; Interact 18S -vG SOAP NAsN gkUOY. axis2 1.3 L vxOB SOAP v|! kQ

Apache Axis2

InteractB axis2, XFire, JAX-WS-Ri, DotNet, SOAPUI, IBM RAD SOAP ,sL p.N W:.Gz@OY.

API JavaDoc L !Le \!5 Interact API! kQ JavaDocL 18S -vM T2 3!KOY. JavaDoc: Interact/docs/apiJavaDoc p:d.! |6k8N 3!KOY.

API 9 $8 L !LeG pg 9B HTTP npMG Java wD-& gkO) }:Gz@OY. SOAP & gk _N fl WSDL!- }:H ,!:! 1CQ SOAP x6 W IG! {s Y& v V8GN L 9! gkZG /f!- $.w ?OOT [kOv J; v5 V @OY.

74 IBM Unica Interact: |.Z !Le

startSession ^ReN

pg aH D!B pg%LM! mC{8N AC G B @d bO! zeGE* ON Y% %LM#L: WLm: UGKOY.

%LMB L'-* V <.N zeKOY. %LM#L: WLm!- %LM& PB fl L': WLmG -TOY.

Interact API! kX [wR ' LL'-* V; }:R v V@OY. |* 5*!- pg L'-* V; 1pRJdB x@OY. u L%. E3/v& L'-* V8N 3 $Oi 18S /fLL'-* V;

aI ' k-D CNw.!- %LM#L: WLm! %LM& 5 :@& A N<:& gkOB Mz 0L /0w mAOv J8i %LM! UGKOY. :@& A N<:& gkR h9Li %LM#L:G &QgW! BT L'; v$X_ T; bo OJC@. 9& in, - L'! 256Z8 ckH fl!B L'-* VGL'L256Z & JzOi HKOY.

& 7 e IBM Unica Interact APIG ,!: W ^Re 75 InteractAPI ,!: $8 InteractAPI ,!:B 18S -vM "!; kUOb 'X gkOB ^Re& wTU OY. Interact APIG Y%pg ,!:M ^ReB L ,!:G ^Re& vxUOY.

Interact 18S /f 3!G lib p:d.! VB interact_client.jar! kX 8 v; DDOX_ UOY.

endSession endSession(String sessionID)

endSession ^ReB 18S a& %CUOY. 18S -vB L ^Re& v EOi bO! NWOm ^p. n; vsOY. v sessionID -

endSession ^Re! #bGi, 18S

18S -vBY= S:L $vx Response 3

Y= 9&B endSession ^Re W @d 8. P. f}; %CUOY. sessionId B L

response = api.endSession(sessionId); // check if response is successful or not if(response.getStatusCode() == Response.STATUS_SUCCESS) { System.out.println("endSession call processed with no warnings or errors"); } else if(response.getStatusCode() == Response.STATUS_WARNING) { System.out.println("endSession call processed with a warning"); } else { System.out.println("endSession call processed with an error"); } // For any non-successes, there should be advisory messages explaining why if(response.getStatusCode() != Response.STATUS_SUCCESS) printDetailMessageOfWarningOrError("endSession", response.getAdvisoryMessages());

76 IBM Unica Interact: |.Z !Le executeBatch executeBatch(String sessionID, CommandImpl[] commands)

executeBatch ^Re& gkO) 18S -v! kQ \O d;8N n 3G ^Re & G`R v V@OY. v sessionID -

L ^Re #bG azB Command h-G " ^Re&mC{8N #bOB Mz 0 @OY. L ^ReB 18S -v! kQ G& d; v& VR-UOY. 18S -vB " ^Re& xwN G`UOY. " #b! kX @y GB fm! Xg ^Re #b! k@OB Response 3

18S -vB BatchResponse 3

Y= 9&B\O executeBatch #bN getOffer W postEvent ^Re&pN #b OB f}z @d 3. f}! kQ &H; %CUOY. /** Define all variables for all members of the executeBatch*/ String sessionId="MySessionID-123"; String interactionPoint = "Overview Page Banner 1"; int numberRequested=1; String eventName = "logOffer";

/** build the getOffers command */ Command getOffersCommand = new CommandImpl(); getOffersCommand.setMethodIdentifier(Command.COMMAND_GETOFFERS); getOffersCommand.setInteractionPoint(interactionPoint); getOffersCommand.setNumberRequested(numberRequested);

/** build the postEvent command */ Command postEventCommand = new CommandImpl(); postEventCommand.setMethodIdentifier(Command.COMMAND_POSTEVENT); postEventCommand.setEventParameters(postEventParameters); postEventCommand.setEvent(eventName);

/** Build command array */ Command[] commands = { getOffersCommand,

& 7 e IBM Unica Interact APIG ,!: W ^Re 77 postEventCommand, };

/** Make the call */ BatchResponse batchResponse = api.executeBatch(sessionId, commands);

/** Process the response appropriately */ // Top level status code is a short cut to determine if there // are any non-successes in the array of Response objects if(batchResponse.getBatchStatusCode() == Response.STATUS_SUCCESS) { System.out.println("ExecuteBatch ran perfectly!"); } else if(batchResponse.getBatchStatusCode() == Response.STATUS_WARNING) { System.out.println("ExecuteBatch call processed with at least one warning"); } else { System.out.println("ExecuteBatch call processed with at least one error"); }

// Iterate through the array, and print out the message for any non-successes for(Response response : batchResponse.getResponses()) { if(response.getStatusCode()!=Response.STATUS_SUCCESS) { printDetailMessageOfWarningOrError("executeBatchCommand", response.getAdvisoryMessages()); } }

getInstance getInstance(String URL)

getInstance ^ReB v$H 18S -vM kEOB Interact API N:O:& [: UOY.

_dgW: Interact API& gkO) [:OB pg @k ANW%: getInstance& # bO) URL E3/v! v$Q 18S -v! JNGB InteractAPI 3<& N:O: -X_ UOY.

-v WlG fl, Ne k1-& gk _N fl Ne k1-M T2 8:OB #:. L' W w.& gkOJC@. Ne k1-! x8i, gk !IQ 18S -v #! x /R m.& wTCQ_ UOY.

L ^ReB HTTP npM& kQ Java wD-!8 {kR v V@OY. SOAP WSDL !B Xg ^Re! $GGn Vv J@OY. " SOAP ,sLp. 8v6Y #ewN . URL; 3$OB Z< f}LV@OY. v URL - 18S -vG URL; D0OB .Z-TOY(9: http://localhost:7001/ Interact/servlet/InteractJSService).

78 IBM Unica Interact: |.Z !Le .O*

18S -vB InteractAPI&.OUOY. 9&

Y= 9&B "!z ?OQ C:[!- G` _N 18S -v N:O:& !.0B InteractAPI 3< N:O:- f}; %CUOY.

InteractAPI api=InteractAPI.getInstance("http://localhost:7001/interact/servlet/InteractJSService"); getOffers getOffers(String sessionID, String interactionPoint, int numberOfOffers)

getOffers ^Re& gkO) 18S -vNNM @[& d;R v V@OY. v sessionID - vg

|m: LL': k-D $N! $GH s#[k v!GL'z $.w O!X_ U OY. v numberOfOffers - d;Q @[ v& $GOB $vTOY.

getOffers ^ReB G` |! segmentationMaxWaitTimeInMS nO $8! $G H C#(P.J) ?H pg g

18S -vBY= S:L $vx Response 3

Y= 9&B 3d dLv hJ 1 s#[k v!! kQ \O @[ d; W @d 3. f}; %CUOY.

sessionIdB L

& 7 e IBM Unica Interact APIG ,!: W ^Re 79 String interactionPoint = "Overview Page Banner 1"; int numberRequested=1;

/** Make the call */ response = api.getOffers(sessionId, interactionPoint, numberRequested);

/** Process the response appropriately */ // check if response is successful or not if(response.getStatusCode() == Response.STATUS_SUCCESS) { System.out.println("getOffers call processed with no warnings or errors");

/** Check to see if there are any offers */ OfferList offerList=response.getOfferList();

if(offerList.getRecommendedOffers() != null) { for(Offer offer : offerList.getRecommendedOffers()) { // print offer System.out.println("Offer Name:"+offer.getOfferName()); } } else // count on the default Offer String System.out.println("Default offer:"+offerList.getDefaultString()); } else if(response.getStatusCode() == Response.STATUS_WARNING) { System.out.println("getOffers call processed with a warning"); } else { System.out.println("getOffers call processed with an error"); } // For any non-successes, there should be advisory messages explaining why if(response.getStatusCode() != Response.STATUS_SUCCESS) printDetailMessageOfWarningOrError("getOffers", response.getAdvisoryMessages());

getOffersForMultipleInteractionPoints getOffersForMultipleInteractionPoints(String sessionID, String requestStr)

getOffersForMultipleInteractionPoints ^Re& gkO) _9 %LM! h& H Y_ IP! kX 18S -vNNM @[& d;R v V@OY. v sessionID - vg

" GetOfferRequest 3

– duplicationPolicy - |^I @[! kQ _9 &E $% ID

80 IBM Unica Interact: |.Z !Le _9 $%: \O ^Re #bG )/ s#[k v!!- _9H @[! ]/I v )N& G0UOY(30 s#[k v! ;!- _9H @[B ]/Gv J=). vg N 3G _9 $%L vxKOY. - NO_DUPLICATION(ID * = 1). L| GetOfferRequest N:O:! wT H @[! L GetOfferRequest N:O:! wTGv J@OY(o, Interact! _9 %LM h&& {kT). - ALLOW_DUPLICATION(ID * = 2). L GetOfferRequest N:O:! v $H d8 gW; f7C0B @[! wTKOY. L| GetOfferRequest N :O:! wTH @[B 6$Gv J@OY.

h- E3/vG d; x- *C @[! h^I 'G l1x'xTOY.

9& in, d;G IP! IP1, IP2Lm _9H @[! ckGv J8g(_9 $% ID = 1), "" N 3G @[& d;QYm!$OJC@. Interact! IP1! kX-B @ [ A, B, C&, IP2! kX-B @[ A, D& #; fl, @d: IP1! kX-B @ [ A, B&, IP2! kX-B @[ D8 wTUOY.

GQ _9 $% ID! 1Li,IP& kX h^H l1x'! t: @[B L IP& kX h^Gv J=; |mOJC@. getOffersForMultipleInteractionPoints ^ReB G` |! segmentationMaxWaitTimeInMS nO $8! $GH C#(P.J) ?H pg g

18S -vBY= S:L $vx Response 3

InteractAPI api = InteractAPI.getInstance("url"); String sessionId = "123"; String requestForIP1 = "{IP1,5,1,(5,attr1=1|numeric;attr2=value2|string, (3,attr3=value3|string)(3,attr4=4|numeric))}"; String requestForIP2 = "{IP2,3,2,(3,attr5=value5|string)}"; String requestForIP3 = "{IP3,2,1}"; String requestStr = requestForIP1 + requestForIP2 + requestForIP3;

& 7 e IBM Unica Interact APIG ,!: W ^Re 81 Response response = api.getOffersForMultipleInteractionPoints(sessionId, requestStr);

if (response.getStatusCode() == Response.STATUS_SUCCESS) { // Check to see if there are any offers OfferList[] allOfferLists = response.getAllOfferLists(); if (allOfferLists != null) { for (OfferList ol : allOfferLists) { System.out.println("The following offers are delivered for interaction point " + ol.getInteractionPointName() + ":"); for (Offer o : ol.getRecommendedOffers()) { System.out.println(o.getOfferName()); } } } } else { System.out.println("getOffersForMultipleInteractionPoints() method calls returns an error with code: " + response.getStatusCode()); }

requestStr 8.: Y=z0@OY.

requests_for_IP[

)b-,

= {ip_name,number_requested_for_this_ip, dupe_policy[,child_requirements]]} attribute_requirements = (number_requested_for_these_attribute_requirements [,attribute_requirement[;individual_attribute_requirement]) [,(attribute_requirements)) individual_attribute_requirement = attribute_name=attribute_value | attribute_type

'! %CH 9&!- requestForIP1 ({IP1,5,1,(5,attr1=1|numeric; attr2=value2|string, (3,attr3=value3|string)(3,attr4=4|numeric))}): IP1 LsB s#[k v!G fl L ?OQ ^Re #b ?H Y% s#[k v!! kX -5 ]/R v xB Vk 53G m/ @[& |^T;GLUOY. Xg 53G @[ pN attr1LsB numeric S:(*L 1Ln_ T); !._ Og attr2sB string S:(*L value2)_ T); !._ UOY. Xg 53G @[ _!- Vk 33B attr3 LsB string S:(*L value3Ln_ T); !._ Og Vk 33B attr4sB numeric S:(*L 4)_ T); !._ UOY.

ckGB S: /|: numeric, string, datetimeLg datetime S: * |D: MM/dd/yyyy HH:mm:ss)_ UOY. ]/H @[& KvOAi Response.getAllOfferLists() ^Re& gkOJC@. 8. LX& =b 'X setGetOfferRequestsG 9&B Java 3< gk _! 1#OB ?OQ GetOfferRequests N:O:& teUOY.

getProfile getProfile(String sessionID)

82 IBM Unica Interact: |.Z !Le getProfile ^Re& gkO) "!; f.OB f.Z! kQANDO W SC $ 8& KvR v V@OY. v sessionID -

18S -vBY= S:L $vx Response 3

Y=: getProfile gk9& W @d 3. f}TOY. sessionIdB L

& 7 e IBM Unica Interact APIG ,!: W ^Re 83 getVersion getVersion()

getVersion ^ReB vg 8vH Interact 18S -vG v|; .OUOY.

p| gJB Interact API& gkO) "!; Jb-R ' L ^Re& gkOB MT OY. .O*

18S -vBY= S:L $vx Response 3

Y= 9&B getVersion; #bOmaz& 3.OB #\Q f}; %CUOY.

response = api.getVersion(); /** Process the response appropriately */ // check if response is successful or not if(response.getStatusCode() == Response.STATUS_SUCCESS) { System.out.println("getVersion call processed with no warnings or errors"); System.out.println("API Version:" + response.getApiVersion();); } else if(response.getStatusCode() == Response.STATUS_WARNING) { System.out.println("getVersion call processed with a warning"); } else { System.out.println("getVersion call processed with an error"); }

// For any non-successes, there should be advisory messages explaining why if(response.getStatusCode() != Response.STATUS_SUCCESS) printDetailMessageOfWarningOrError("getVersion", response.getAdvisoryMessages());

postEvent

postEvent(String sessionID, String eventName, NameValuePairImpl[] eventParameters)

postEvent ^Re& gkO) k-D $N! $GH L%.& G`R v V@OY. v sessionID -

|m: L%. L': k-D $N! $GH L%. L'z O!X_ UOY. LL ': kR.Z& 8POv J@OY.

84 IBM Unica Interact: |.Z !Le v eventParameters - L%.M T2 |^X_ OB E3/v& D0OB NameValuePairImpl 3

LL%.! g

N 3 LsG ks vX; gk _N fl, " ks vX6Y eventParameters } UL Y& !I:L t@OY. ks vX! kQ CY%E3/v }U; 1CO5 O ON m.& wTCQ_ UOY.

_dgW: LL%.! @d bO! NWGi, @[! kQ 3. Ze& |^X_ U OY. NameValuePair L'; "UACIOfferTrackingCode"N $GX_ UOY.

L%.g O*G 3. Ze8 |^R v V@OY. @[ AC! kQ 3. Ze& | ^Ov xOi, Interact! 6v7 @[ Ge qOG pg @[! kQ @[ AC; NWUOY. @d! kQ 3. Ze& |^Ov xOi, Interact! @y&.OUO Y. v postEvent W b8 ^Re!- gkGB b8 n 3G 9` E3/v! V8g, L =G!- *_! 3mUOY.

AC GB @d bO! 2b GB g

UACIExecuteFlowchartByName E3/v& gkO) v$Ov J8i g

18S -vBY= S:L $vx Response 3

Y= postEvent 9&B g

& 7 e IBM Unica Interact APIG ,!: W ^Re 85 sessionIdB L

String eventName = "SearchExecution";

NameValuePair parmB1 = new NameValuePairImpl(); parmB1.setName("SearchString"); parmB1.setValueAsString("mortgage"); parmB1.setValueDataType(NameValuePair.DATA_TYPE_STRING);

NameValuePair parmB2 = new NameValuePairImpl(); parmB2.setName("TimeStamp"); parmB2.setValueAsDate(new Date()); parmB2.setValueDataType(NameValuePair.DATA_TYPE_DATETIME);

NameValuePair parmB3 = new NameValuePairImpl(); parmB3.setName("Browser"); parmB3.setValueAsString("IE6"); parmB3.setValueDataType(NameValuePair.DATA_TYPE_STRING);

NameValuePair parmB4 = new NameValuePairImpl(); parmB4.setName("FlashEnabled"); parmB4.setValueAsNumeric(1.0); parmB4.setValueDataType(NameValuePair.DATA_TYPE_NUMERIC);

NameValuePair parmB5 = new NameValuePairImpl(); parmB5.setName("TxAcctValueChange"); parmB5.setValueAsNumeric(0.0); parmB5.setValueDataType(NameValuePair.DATA_TYPE_NUMERIC);

NameValuePair parmB6 = new NameValuePairImpl(); parmB6.setName("PageTopic"); parmB6.setValueAsString(""); parmB6.setValueDataType(NameValuePair.DATA_TYPE_STRING);

NameValuePair[] postEventParameters = { parmB1, parmB2, parmB3, parmB4, parmB5, parmB6 };

/** Make the call */ response = api.postEvent(sessionId, eventName, postEventParameters);

/** Process the response appropriately */ // check if response is successful or not if(response.getStatusCode() == Response.STATUS_SUCCESS) { System.out.println("postEvent call processed with no warnings or errors"); } else if(response.getStatusCode() == Response.STATUS_WARNING) { System.out.println("postEvent call processed with a warning"); } else { System.out.println("postEvent call processed with an error"); }

// For any non-successes, there should be advisory messages explaining why if(response.getStatusCode() != Response.STATUS_SUCCESS) printDetailMessageOfWarningOrError("postEvent", response.getAdvisoryMessages());

86 IBM Unica Interact: |.Z !Le setAudience setAudience(String sessionID, NameValuePairImpl[] audienceID, String audienceLevel, NameValuePairImpl[] parameters)

setAudience ^Re& gkO) f.Z! kX ks ID W vX; 3$R v V@O Y. v sessionID -

ANDOG pg -! kX *LVn_ UOY. LBk-D $N W GC# %L M! kX $GH pg WLm! VB pg -G s' }UTOY. pg

setAudience ^ReB g

setAudience ^ReBks ID! kQANDO %LM5 NeUOY. setAudience ^Re& gkO) startSession ^Re! NeQ ?OQANDO %LM& -&N YC NeR v V@OY. .O*

18S -vBY= S:L $vx Response 3

L 9&G fl, ks vX: ?OOv86! MmG gkZ! NWNO) KAvB M33 ID! /fKOY.

sessionId W audienceLevel:L

& 7 e IBM Unica Interact APIG ,!: W ^Re 87 NameValuePair custId2 = new NameValuePairImpl(); custId2.setName("CustomerId"); custId2.setValueAsNumeric(123.0); custId2.setValueDataType(NameValuePair.DATA_TYPE_NUMERIC);

NameValuePair[] newAudienceId = { custId2 };

/** Parameters can be passed in as well. For this example, there are no parameters, * therefore pass in null */ NameValuePair[] noParameters=null;

/** Make the call */ response = api.setAudience(sessionId, newAudienceId, audienceLevel, noParameters);

/** Process the response appropriately */ // check if response is successful or not if(response.getStatusCode() == Response.STATUS_SUCCESS) { System.out.println("setAudience call processed with no warnings or errors"); } else if(response.getStatusCode() == Response.STATUS_WARNING) { System.out.println("setAudience call processed with a warning"); } else { System.out.println("setAudience call processed with an error"); }

// For any non-successes, there should be advisory messages explaining why if(response.getStatusCode() != Response.STATUS_SUCCESS) printDetailMessageOfWarningOrError("setAudience", response.getAdvisoryMessages());

setDebug setDebug(String sessionID, boolean debug)

setDebug ^Re& gkO)

18S -vBY= S:L $vx Response 3

Y= 9&B

88 IBM Unica Interact: |.Z !Le sessionIdB L

boolean newDebugFlag=false; /** make the call */ response = api.setDebug(sessionId, newDebugFlag);

/** Process the response appropriately */ // check if response is successful or not if(response.getStatusCode() == Response.STATUS_SUCCESS) { System.out.println("setDebug call processed with no warnings or errors"); } else if(response.getStatusCode() == Response.STATUS_WARNING) { System.out.println("setDebug call processed with a warning"); } else { System.out.println("setDebug call processed with an error"); }

// For any non-successes, there should be advisory messages explaining why if(response.getStatusCode() != Response.STATUS_SUCCESS) printDetailMessageOfWarningOrError("setDebug", response.getAdvisoryMessages()); startSession startSession(String sessionID, boolean relyOnExistingSession, boolean debug, String interactiveChannel, NameValuePairImpl[] audienceID, String audienceLevel, NameValuePairImpl[] parameters)

startSession ^ReB 18S

v @[ &\ %LM&

startSession ^Re! JdQ E3/vBY=z0@OY. v sessionID -

& 7 e IBM Unica Interact APIG ,!: W ^Re 89 18S

relyOnExistingSession; trueN 3$Om

?OQ

?OQ ks vX! kX n 3G k-D CNw.! V8i, pg WLm! VB pg -G s' }U; wTCQ_ UOY. ANDO WLm; NeO5O18S; 8:Om ANDO WLm! gkZ! JdN OB pg -L wTH fl, AND O WLmG %LM& $n2v J8AiE3/v& |^Ov JF5KOY. AN DO WLm! Jv - O' }UL wTH fl, )tH -; E3/vN wTCQ _ UOY.

90 IBM Unica Interact: |.Z !Le audienceID GB audienceLevelL/?Ov Jm relyOnExistingSessionL false Li, startSession #b! GPUOY. interactiveChannelL/?Ov J8i, relyOnExistingSessionL trueLG falseLG startSessionL GPUOY. relyOnExistingSessionL trueLm ?OQ sessionID& gkO) N x0 startSession #b; v`Ov8 9 x0

18S -vBY= S:L $vx Response 3

Y= 9&B startSession; #bOB Q !v f}; %CUOY.

String sessionId="MySessionID-123"; String audienceLevel="Customer"; NameValuePair custId = new NameValuePairImpl(); custId.setName("CustomerId"); custId.setValueAsNumeric(1.0); custId.setValueDataType(NameValuePair.DATA_TYPE_NUMERIC); NameValuePair[] initialAudienceId = { custId }; boolean relyOnExistingSession=false; boolean initialDebugFlag=true; String interactiveChannel="Accounts Website"; NameValuePair parm1 = new NameValuePairImpl(); parm1.setName("SearchString"); parm1.setValueAsString(""); parm1.setValueDataType(NameValuePair.DATA_TYPE_STRING);

NameValuePair parm2 = new NameValuePairImpl(); parm2.setName("TimeStamp"); parm2.setValueAsDate(new Date()); parm2.setValueDataType(NameValuePair.DATA_TYPE_DATETIME);

NameValuePair parm3 = new NameValuePairImpl(); parm3.setName("Browser"); parm3.setValueAsString("IE6"); parm3.setValueDataType(NameValuePair.DATA_TYPE_STRING);

& 7 e IBM Unica Interact APIG ,!: W ^Re 91 NameValuePair parm4 = new NameValuePairImpl(); parm4.setName("FlashEnabled"); parm4.setValueAsNumeric(1.0); parm4.setValueDataType(NameValuePair.DATA_TYPE_NUMERIC);

NameValuePair parm5 = new NameValuePairImpl(); parm5.setName("TxAcctValueChange"); parm5.setValueAsNumeric(0.0); parm5.setValueDataType(NameValuePair.DATA_TYPE_NUMERIC);

NameValuePair parm6 = new NameValuePairImpl(); parm6.setName("PageTopic"); parm6.setValueAsString(""); parm6.setValueDataType(NameValuePair.DATA_TYPE_STRING);

/** Specifying the parameters (optional) */ NameValuePair[] initialParameters = { parm1, parm2, parm3, parm4, parm5, parm6 };

/** Make the call */ response = api.startSession(sessionId, relyOnExistingSession, initialDebugFlag, interactiveChannel, initialAudienceId, audienceLevel, initialParameters);

/** Process the response appropriately */ processStartSessionResponse(response);

processStartSessionResponseB startSessionL .OQ Response 3<& 3. OB ^ReTOY.

public static void processStartSessionResponse(Response response) { // check if response is successful or not if(response.getStatusCode() == Response.STATUS_SUCCESS) { System.out.println("startSession call processed with no warnings or errors"); } else if(response.getStatusCode() == Response.STATUS_WARNING) { System.out.println("startSession call processed with a warning"); } else { System.out.println("startSession call processed with an error"); }

// For any non-successes, there should be advisory messages explaining why if(response.getStatusCode() != Response.STATUS_SUCCESS) printDetailMessageOfWarningOrError("StartSession", response.getAdvisoryMessages()); }

9`H E3/v

Interact API! gkGB n 3G 9`H E3/v! V@OY. ONB 18S -v! JdOm *SvB _! bI! gkR v V@OY.

92 IBM Unica Interact: |.Z !Le postEvent bI bI E3/v3m gkZ $G W UACICustomLoggerTableName 18S WLm %LM R:G WLm L'TOY. L Lm! NW E3/v! /?Q WLm L'; &xOi, 18S /f: 1CQ WLm! pg

& 7 e IBM Unica Interact APIG ,!: W ^Re 93 bI E3/v3m / $ C N w . UACIExecuteFlowchartByName vg ks vX! kX pg CNw.& G`Ov G` Jm

18S /f 9` E3/v

18S /f!- gkOB 9` E3/vBY=z0@OY. L/Q L';L%. E 3/v! gkOv 6JC@. v UACIEventID v UACIEventName v UACIInteractiveChannelID v UACIInteractiveChannelName v UACIInteractionPointID v UACIInteractionPointName v UACISessionID

AdvisoryMessage ,!: $8 advisoryMessage ,!:B Gm ^Cv 3<& $GOB ^Re& wTUOY. Gm ^Cv 3

getAdvisoryMessages ^Re& gkO) advisoryMessage 3<& KvUOY.

getDetailMessage getDetailMessage()

94 IBM Unica Interact: |.Z !Le getDetailMessage ^ReB Advisory Message 3

pg ^Cv! Z

Advisory Message 3

// For any non-successes, there should be advisory messages explaining why if(response.getStatusCode() != Response.STATUS_SUCCESS) { for(AdvisoryMessage msg : response.getAdvisoryMessages()) { System.out.println(msg.getMessage()); // Some advisory messages may have additional detail: System.out.println(msg.getDetailMessage()); } } getMessage getMessage()

getMessage ^ReB Advisory Message 3

Advisory Message 3

Y= ^ReB AdvisoryMessage 3

getMessageCode ^ReB sB vXL 2Li(STATUS_LEVEL_ERROR) Advisory Message 3

& 7 e IBM Unica Interact APIG ,!: W ^Re 95 .O*

AdvisoryMessage 3

Y= ^ReB AdvisoryMessage 3

public static void printMessageCodeOfWarningOrError(String command,AdvisoryMessage[] messages) { System.out.println("Calling "+command); for(AdvisoryMessage msg : messages) { System.out.println(msg.getMessageCode());

getStatusLevel getStatusLevel()

getStatusLevel ^ReB Advisory Message 3

Advisory Message 3

Y= ^ReB AdvisoryMessage 3

public static void printMessageCodeOfWarningOrError(String command,AdvisoryMessage[] messages) { System.out.println("Calling "+command); for(AdvisoryMessage msg : messages) { System.out.println(msg.getStatusLevel());

AdvisoryMessageCode ,!: $8 advisoryMessageCode ,!:B Gm ^Cv Ze& $GOB ^Re& wTUOY. getMessageCode ^ReN Gm ^Cv Ze& KvUOY.

Gm ^Cv Ze

Ze 3m 1 INVALID_SESSION_ID -

96 IBM Unica Interact: |.Z !Le Ze 3m 2 ERROR_TRYING_TO_ABORT_SEGMENTATION - endSession _! a, @[ ! .@b, ANDO !.@b, ks 3$, pvW 3$ GB

& 7 e IBM Unica Interact APIG ,!: W ^Re 97 Ze 3m 26 ERROR_WHILE_LOGGING_DEFAULT_TEXT_STATISTICS - b; X:. kh(%C H s#[k v!! kQ b; .Z- =v)& NkOB ?H @y! _}_@OY. 27 SCORE_OVERRIDE_LOAD_FAILED - !v g$G WLm Ne! GP_@OY. 28 NULL_AUDIENCE_ID - ks ID! qn V@OY. 29 UNRECOGNIZED_AUDIENCE_LEVEL - K v xBks vXTOY. 30 MISSING_AUDIENCE_FIELD - ks Je! )tGz@OY. 31 INVALID_AUDIENCE_FIELD_TYPE - /?Ov J: ks Je /|TOY. 32 UNSUPPORTED_AUDIENCE_FIELD_TYPE - vxGv JBks Je /|TOY. 33 TIMEOUT_REACHED_ON_GET_OFFERS_CALL - getOffers #bL @[& ]/Ov Jm C# JzGz@OY. 34 INTERACT_INITIALIZATION_NOT_COMPLETED_SUCCESSFULLY - 18S Jb- ! OaGv JR@OY. 35 SESSION_ID_UNDEFINED -

BatchResponse ,!: $8 BatchResponse ,!:B executeBatch ^ReG az& $GOB ^Re& wTU OY. Batch Response 3

getBatchStatusCode getBatchStatusCode()

getBatchStatusCode ^ReB executeBatch ^Re! GX G`H mI h-!- Vs' sB Ze&.OUOY. .O*

getBatchStatusCode ^ReB $v&.OUOY. v 0 - STATUS_SUCCESS - #bH ^Re! @y xL OaGz@OY. v 1 - STATUS_WARNING - #bH ^Re! OaGm Q 3 LsG fm! %C KOY(@y x=).

98 IBM Unica Interact: |.Z !Le v 2 - STATUS_ERROR - #bH ^Re! OaGv JR8g Q 3 LsG @y! V@OY. 9&

Y= Ze yC: BatchStatusCode Kv f} 9&& &xUOY. // Top level status code is a short cut to determine if there are any // non-successes in the array of Response objects if(batchResponse.getBatchStatusCode() == Response.STATUS_SUCCESS) { System.out.println("ExecuteBatch ran perfectly!"); } else if(batchResponse.getBatchStatusCode() == Response.STATUS_WARNING) { System.out.println("ExecuteBatch call processed with at least one warning"); } else { System.out.println("ExecuteBatch call processed with at least one error"); }

// Iterate through the array, and print out the message for any non-successes for(Response response : batchResponse.getResponses()) { if(response.getStatusCode()!=Response.STATUS_SUCCESS) { printDetailMessageOfWarningOrError("executeBatchCommand", response.getAdvisoryMessages()); } } getResponses getResponses()

getResponses ^ReB executeBatch ^Re! GX G`H mI h-! k@OB Response 3

getResponses ^ReB Response 3

Y= 9&B @d; pN 1COm mIL GPQ fl Gm ^Cv& NbUOY. for(Response response : batchResponse.getResponses()) { if(response.getStatusCode()!=Response.STATUS_SUCCESS) { printDetailMessageOfWarningOrError("executeBatchCommand", response.getAdvisoryMessages()); } }

& 7 e IBM Unica Interact APIG ,!: W ^Re 99 mI NMdL: $8

executeBatch ^ReB mI NMdL:& 8vOB 3< h-N |^X_ UOY. b ; 8v, CommandImpl; gkO) mI 3<& |^X_ UOY.

Y= WLm!B mI, mIL %COB InteractAPI ,!:G ^Re, " mI! gk X_ OB mI NMdL: ^Re! *-KOY. executeBatch ^Re!

s#[k API ^R mI e mI NMdL: ^Re COMMAND_ENDSESSION endSession x=

COMMAND_GETOFFERS getOffers v setInteractionPoint

v setNumberRequested COMMAND_GETPROFILE getProfile x= COMMAND_GETVERSION getVersion x=

COMMAND_POSTEVENT postEvent v setEvent v setEventParameters

COMMAND_SETAUDIENCE setAudience v setAudienceID v setAudienceLevel v setEventParameters COMMAND_SETDEBUG setDebug setDebug

COMMAND_STARTSESSION startSession v setAudienceID v setAudienceLevel v setDebug v setEventParameters v setInteractiveChannel v setRelyOnExistingSession

setAudienceID setAudienceID(audienceID)

setAudienceID ^ReB setAudience W startSession mI! kX AudienceID & $GUOY. v audienceID - AudienceID& $GOB NameValuePair 3

x=.

100 IBM Unica Interact: |.Z !Le 9&

Y= 9&B startSession W setAudience& #bOB executeBatch ^Re!- _iQ MTOY. NameValuePair custId = new NameValuePairImpl(); custId.setName("CustomerId"); custId.setValueAsNumeric(1.0); custId.setValueDataType(NameValuePair.DATA_TYPE_NUMERIC); NameValuePair[] initialAudienceId = { custId }; ... Command startSessionCommand = new CommandImpl(); startSessionCommand.setAudienceID(initialAudienceId); ... Command setAudienceCommand = new CommandImpl(); setAudienceCommand.setAudienceID(newAudienceId); ... /** Build command array */ Command[] commands = { startSessionCommand, setAudienceCommand, }; /** Make the call */ BatchResponse batchResponse = api.executeBatch(sessionId, commands);

/** Process the response appropriately */ processExecuteBatchResponse(batchResponse); setAudienceLevel setAudienceLevel(audienceLevel)

setAudienceLevel ^ReB setAudience W startSession mI! kX ks v X; $GUOY. v audienceLevel - ks vX; wTOB .Z-TOY.

_dgW: audienceLevel L': Campaign! $GH ks vX L'z $.w O !X_ UOY. kR.Z& 8PUOY. .O*

x=. 9&

Y= 9&B startSession W setAudience& #bOB executeBatch ^Re!- _iQ MTOY. String audienceLevel="Customer"; ... Command startSessionCommand = new CommandImpl(); startSessionCommand.setAudienceID(initialAudienceId);

& 7 e IBM Unica Interact APIG ,!: W ^Re 101 ... Command setAudienceCommand = new CommandImpl(); setAudienceCommand.setAudienceLevel(audienceLevel); ... /** Build command array */ Command[] commands = { startSessionCommand, setAudienceCommand, }; /** Make the call */ BatchResponse batchResponse = api.executeBatch(sessionId, commands);

/** Process the response appropriately */ processExecuteBatchResponse(batchResponse);

setDebug setDebug(debug)

setDebug ^ReB startSession mIG pvW vX; $GUOY. trueLi, 1 8S -v! 18S -v NW! pvW $8& NWUOY. falseLi, 18S -v! pvW $8& NWOv J@OY. "

x=. 9&

Y= 9&B startSession W setDebug& #bOB executeBatch ^Re!- _ iQ MTOY. boolean initialDebugFlag=true; boolean newDebugFlag=false; ... /* build the startSession command */ Command startSessionCommand = new CommandImpl(); startSessionCommand.setDebug(initialDebugFlag); ...

/* build the setDebug command */ Command setDebugCommand = new CommandImpl(); setDebugCommand.setMethodIdentifier(Command.COMMAND_SETDEBUG); setDebugCommand.setDebug(newDebugFlag);

/** Build command array */ Command[] commands = { startSessionCommand, setDebugCommand, };

102 IBM Unica Interact: |.Z !Le /** Make the call */ BatchResponse batchResponse = api.executeBatch(sessionId, commands);

/** Process the response appropriately */ processExecuteBatchResponse(batchResponse); setEvent setEvent(event)

setEvent ^ReB postEvent mI!- gkGB L%. L'; $GUOY. v event - L%. L'; wTOB .Z-TOY.

_dgW: event L': k-D $N! $GH L%. L'z $.w O!X_ UOY. kR.Z& 8PUOY. .O*

x=. 9&

Y= 9&B postEvent& #bOB executeBatch ^Re!- _iQ MTOY. String eventName = "SearchExecution";

Command postEventCommand = new CommandImpl(); postEventCommand.setMethodIdentifier(Command.COMMAND_POSTEVENT); postEventCommand.setEventParameters(postEventParameters); postEventCommand.setEvent(eventName); setEventParameters setEventParameters(eventParameters)

setEventParameters ^ReB postEvent mI!- gkGB L%. E3/v& $ GUOY. L *:

9& in, L%.! AC bO!@[& NkOB fl@[ 3. Ze& wTCQ_ UOY. .O*

x=. 9&

Y= 9&B postEvent& #bOB executeBatch ^Re!- _iQ MTOY.

& 7 e IBM Unica Interact APIG ,!: W ^Re 103 NameValuePair parmB1 = new NameValuePairImpl(); parmB1.setName("SearchString"); parmB1.setValueAsString("mortgage"); parmB1.setValueDataType(NameValuePair.DATA_TYPE_STRING);

NameValuePair parmB2 = new NameValuePairImpl(); parmB2.setName("TimeStamp"); parmB2.setValueAsDate(new Date()); parmB2.setValueDataType(NameValuePair.DATA_TYPE_DATETIME);

NameValuePair parmB3 = new NameValuePairImpl(); parmB3.setName("Browser"); parmB3.setValueAsString("IE6"); parmB3.setValueDataType(NameValuePair.DATA_TYPE_STRING);

NameValuePair parmB4 = new NameValuePairImpl(); parmB4.setName("FlashEnabled"); parmB4.setValueAsNumeric(1.0); parmB4.setValueDataType(NameValuePair.DATA_TYPE_NUMERIC);

NameValuePair parmB5 = new NameValuePairImpl(); parmB5.setName("TxAcctValueChange"); parmB5.setValueAsNumeric(0.0); parmB5.setValueDataType(NameValuePair.DATA_TYPE_NUMERIC);

NameValuePair parmB6 = new NameValuePairImpl(); parmB6.setName("PageTopic"); parmB6.setValueAsString(""); parmB6.setValueDataType(NameValuePair.DATA_TYPE_STRING);

NameValuePair[] postEventParameters = { parmB1, parmB2, parmB3, parmB4, parmB5, parmB6 }; ... Command postEventCommand = new CommandImpl(); postEventCommand.setMethodIdentifier(Command.COMMAND_POSTEVENT); postEventCommand.setEventParameters(postEventParameters); postEventCommand.setEvent(eventName);

setGetOfferRequests setGetOfferRequests(numberRequested)

setGetOfferRequests ^ReB getOffersForMultipleInteractionPoints mI !- gkGB @[ vE;'Q E3/v& 3$UOY. v numberRequested - @[ vE;'Q E3/v& $GOB GetOfferRequest 3

x=.

104 IBM Unica Interact: |.Z !Le 9&

Y= 9&B setGetOfferRequests& #bOB GetOfferRequest ^Re!- _i Q MTOY. GetOfferRequest request1 = new GetOfferRequest(5, GetOfferRequest.NO_DUPLICATION); request1.setIpName("IP1"); OfferAttributeRequirements offerAttributes1 = new OfferAttributeRequirements(); NameValuePairImpl attr1 = new NameValuePairImpl("attr1", NameValuePair.DATA_TYPE_NUMERIC, 1); NameValuePairImpl attr2 = new NameValuePairImpl("attr2", NameValuePair.DATA_TYPE_STRING, "value2"); NameValuePairImpl attr3 = new NameValuePairImpl("attr3", NameValuePair.DATA_TYPE_STRING, "value3"); NameValuePairImpl attr4 = new NameValuePairImpl("attr4", NameValuePair.DATA_TYPE_NUMERIC, 4); offerAttributes1.setNumberRequested(5); offerAttributes1.setAttributes(new NameValuePairImpl[] {attr1, attr2}); OfferAttributeRequirements childAttributes1 = new OfferAttributeRequirements(); childAttributes1.setNumberRequested(3); childAttributes1.setAttributes(new NameValuePairImpl[] {attr3}); OfferAttributeRequirements childAttributes2 = new OfferAttributeRequirements(); childAttributes2.setNumberRequested(3); childAttributes2.setAttributes(new NameValuePairImpl[] {attr4}); offerAttributes1.setChildRequirements(Arrays.asList(childAttributes1, childAttributes2)); request1.setOfferAttributes(offerAttributes1);

GetOfferRequest request2 = new GetOfferRequest(3, GetOfferRequest.ALLOW_DUPLICATION); request2.setIpName("IP2"); OfferAttributeRequirements offerAttributes2 = new OfferAttributeRequirements(); offerAttributes2.setNumberRequested(3); offerAttributes2.setAttributes(new NameValuePairImpl[] {new NameValuePairImpl("attr5", NameValuePair.DATA_TYPE_STRING, "value5")}); request2.setOfferAttributes(offerAttributes2);

GetOfferRequest request3 = new GetOfferRequest(2, GetOfferRequest.NO_DUPLICATION); request3.setIpName("IP3"); request3.setOfferAttributes(null);

Command getOffersMultiIPCmd = new CommandImpl(); getOffersMultiIPCmd.setGetOfferRequests(new GetOfferRequest[] {request1, request2, request3});

setInteractiveChannel setInteractiveChannel(interactiveChannel)

setInteractiveChannel ^ReB startSession mI!- gkGBk-D $N L '; $GUOY. v interactiveChannel - k-D $N L'; wTOB .Z-TOY.

_dgW: interactiveChannel L': Campaign! $GH k-D $N L'z $.w O!X_ UOY. kR.Z& 8PUOY.

& 7 e IBM Unica Interact APIG ,!: W ^Re 105 .O*

x=. 9&

Y= 9&B startSession; #bOB executeBatch ^Re!- _iQ MTOY. String interactiveChannel="Accounts Website"; ... Command startSessionCommand = new CommandImpl(); startSessionCommand.setInteractiveChannel(interactiveChannel);

setInteractionPoint setInteractionPoint(interactionPoint)

setInteractionPoint ^ReB getOffers W postEvent mI!- gkGB s# [k v!GL'; $GUOY. v interactionPoint - s#[k v! L'; wTOB .Z-TOY.

_dgW: interactionPointBk-D $N! $GH s#[k v!GL'z $.w O !X_ UOY. kR.Z& 8PUOY. .O*

x=. 9&

Y= 9&B getOffers& #bOB executeBatch ^Re!- _iQ MTOY. String interactionPoint = "Overview Page Banner 1"; int numberRequested=1;

Command getOffersCommand = new CommandImpl(); getOffersCommand.setMethodIdentifier(Command.COMMAND_GETOFFERS); getOffersCommand.setInteractionPoint(interactionPoint); getOffersCommand.setNumberRequested(numberRequested);

setMethodIdentifier setMethodIdentifier(methodIdentifier)

setMethodIdentifier ^ReB Command 3

/?Q *: Y=z0@OY. – COMMAND_ENDSESSION - endSession ^Re& *8@OY. – COMMAND_GETOFFERS - getOffers ^Re& *8@OY.

106 IBM Unica Interact: |.Z !Le – COMMAND_GETPROFILE - getProfile ^Re& *8@OY. – COMMAND_GETVERSION - getVersion ^Re& *8@OY. – COMMAND_POSTEVENT - postEvent ^Re& *8@OY. – COMMAND_SETAUDIENCE - setAudience ^Re& *8@OY. – COMMAND_SETDEBUG - setDebug ^Re& *8@OY. – COMMAND_STARTSESSION - startSession ^Re& *8@OY. .O*

x=. 9&

Y= 9&B getVersion W endSession; #bOB executeBatch ^Re!- _ iQ MTOY. Command getVersionCommand = new CommandImpl(); getVersionCommand.setMethodIdentifier(Command.COMMAND_GETVERSION);

Command endSessionCommand = new CommandImpl(); endSessionCommand.setMethodIdentifier(Command.COMMAND_ENDSESSION);

Command[] commands = { getVersionCommand, endSessionCommand }; setNumberRequested setNumberRequested(numberRequested)

setNumberRequested ^ReB getOffers mIL d;Q @[ v& $GUOY. v numberRequested - getOffers mIL d;Q @[ v& $GOB $vTOY. .O*

x=. 9&

Y= 9&B getOffers& #bOB executeBatch ^Re!- _iQ MTOY. String interactionPoint = "Overview Page Banner 1"; int numberRequested=1;

Command getOffersCommand = new CommandImpl(); getOffersCommand.setMethodIdentifier(Command.COMMAND_GETOFFERS); getOffersCommand.setInteractionPoint(interactionPoint); getOffersCommand.setNumberRequested(numberRequested);

& 7 e IBM Unica Interact APIG ,!: W ^Re 107 setRelyOnExistingSession setRelyOnExistingSession(relyOnExistingSession)

setRelyOnExistingSession ^ReB startSession mIL b8

trueLi, executeBatch! kQ

x=. 9&

Y= 9&B startSession; #bOB executeBatch ^Re!- _iQ MTOY. boolean relyOnExistingSession=false; ... Command startSessionCommand = new CommandImpl(); startSessionCommand.setRelyOnExistingSession(relyOnExistingSession);

NameValuePair NMdL: $8 Interact APIG 9: ^ReB NameValuePair 3<&.OOE* gkZ! NameValuePair 3<& NvN |^X_ UOY. ^Re! Nv& |^R '!B b; 8v NameValuePairImpl; gkX_ UOY.

getName getName()

getName ^ReB NameValuePair 3

getName ^ReB .Z-; .OUOY. 9&

Y= 9&B getProfile! kQ Response 3<& 3.OB ^Re!- _iQ MT OY. for(NameValuePair nvp : response.getProfileRecord()) { System.out.println("Name:"+nvp.getName()); }

108 IBM Unica Interact: |.Z !Le getValueAsDate getValueAsDate()

getValueAsDate ^ReB NameValuePair 3< *; .OUOY.

getValueAsDate& gkOb |! getValueDataType; gkO)CY% %LM / |; |6Om VBv .NX_ UOY. .O*

getValueAsDate ^ReB /%&.OUOY. 9&

Y= 9&B NameValuePair& 3.OB ^Re!- _iQ MLg *L /%Li X g *;NbUOY. if(nvp.getValueDataType().equals(NameValuePair.DATA_TYPE_DATE)) { System.out.println("Value:"+nvp.getValueAsDate()); } getValueAsNumeric getValueAsNumeric()

getValueAsNumeric ^ReB NameValuePair 3< *; .OUOY.

getValueAsNumeric; gkOb |! getValueDataType; gkO)CY% %LM /|; |6Om VBv .NX_ UOY. .O*

getValueAsNumeric ^ReB double; .OUOY. 9& in, ANDO WLm!x ! $vN zeH *; KvOB fl getValueAsNumeric: double; .OUOY. 9&

Y= 9&B NameValuePair& 3.OB ^Re!- _iQ MLg *L }ZLi X g *;NbUOY. if(nvp.getValueDataType().equals(NameValuePair.DATA_TYPE_NUMERIC)) { System.out.println("Value:"+nvp.getValueAsNumeric()); }

& 7 e IBM Unica Interact APIG ,!: W ^Re 109 getValueAsString getValueAsString()

getValueAsString ^ReB NameValuePair 3< *; .OUOY.

getValueAsString; gkOb |! getValueDataType; gkO)CY% %LM /|; |6Om VBv .NX_ UOY. .O*

getValueAsString ^ReB .Z-; .OUOY. 9& in, ANDO WLm!x ! char, varchar GB char[10]8N zeH *; KvOB fl getValueAsString : .Z-; .OUOY. 9&

Y= 9&B NameValuePair& 3.OB ^Re!- _iQ MLg *L .Z-Li Xg *;NbUOY. if(nvp.getValueDataType().equals(NameValuePair.DATA_TYPE_STRING)) { System.out.println("Value:"+nvp.getValueAsString()); }

getValueDataType getValueDataType()

getValueDataType ^ReB NameValuePair 3

getValueAsDate, getValueAsNumeric GB getValueAsString; gkOb |! getValueDataType; gkO)CY% %LM /|; |6Om VBv .NX_ UO Y. .O*

getValueDataType ^ReB NameValuePair! %LM, }Z GB .Z-L wTG n VBv )N& %COB .Z-; .OUOY.

/?Q *: Y=z0@OY. v DATA_TYPE_DATETIME - /% W C#*; wTOB /%TOY. v DATA_TYPE_NUMERIC - }Z *; wTOB doubleTOY. v DATA_TYPE_STRING - X:. *; wTOB .Z-TOY.

110 IBM Unica Interact: |.Z !Le 9&

Y= 9&B getProfile ^Re!- Response 3<& 3.OB ^Re!- _iQ M TOY. for(NameValuePair nvp : response.getProfileRecord()) { System.out.println("Name:"+nvp.getName()); if(nvp.getValueDataType().equals(NameValuePair.DATA_TYPE_DATETIME)) { System.out.println("Value:"+nvp.getValueAsDate()); } else if(nvp.getValueDataType().equals(NameValuePair.DATA_TYPE_NUMERIC)) { System.out.println("Value:"+nvp.getValueAsNumeric()); } else { System.out.println("Value:"+nvp.getValueAsString()); } } setName setName(name)

setName ^ReB NameValuePair 3

x=. 9&

Y= 9&B NameValuePairGL' 8: dR $G f}; %CUOY. NameValuePair custId = new NameValuePairImpl(); custId.setName("CustomerId"); custId.setValueAsNumeric(1.0); custId.setValueDataType(NameValuePair.DATA_TYPE_NUMERIC); NameValuePair[] initialAudienceId = { custId }; setValueAsDate setValueAsDate(valueAsDate)

setValueAsDate ^ReB NameValuePair 3< *; $GUOY. v valueAsDate - NameValuePair 3

x=.

& 7 e IBM Unica Interact APIG ,!: W ^Re 111 9&

Y= 9&B *L /%N fl NameValuePairG * 8: dR $G f}; %CUO Y. NameValuePair parm2 = new NameValuePairImpl(); parm2.setName("TimeStamp"); parm2.setValueAsDate(new Date()); parm2.setValueDataType(NameValuePair.DATA_TYPE_DATETIME);

setValueAsNumeric setValueAsNumeric(valueAsNumeric)

setValueAsNumeric ^ReB NameValuePair 3< *; $GUOY. v valueAsNumeric - NameValuePair 3

x=. 9&

Y= 9&B *L }ZN fl NameValuePairG * 8: dR $G f}; %CUO Y. NameValuePair parm4 = new NameValuePairImpl(); parm4.setName("FlashEnabled"); parm4.setValueAsNumeric(1.0); parm4.setValueDataType(NameValuePair.DATA_TYPE_NUMERIC);

setValueAsString setValueAsString(valueAsString)

setValueAsString ^ReB NameValuePair 3< *; $GUOY. v valueAsString - NameValuePair 3< *; wTOB .Z-TOY. .O*

x=. 9&

Y= 9&B *L }ZN fl NameValuePairG * 8: dR $G f}; %CUO Y. NameValuePair parm3 = new NameValuePairImpl(); parm3.setName("Browser"); parm3.setValueAsString("IE6"); parm3.setValueDataType(NameValuePair.DATA_TYPE_STRING);

112 IBM Unica Interact: |.Z !Le setValueDataType getValueDataType(valueDataType)

setValueDataType ^ReB NameValuePair 3

/?Q *: Y=z0@OY. v DATA_TYPE_DATETIME - /% W C#*; wTOB /%TOY. v DATA_TYPE_NUMERIC - }Z *; wTOB doubleTOY. v DATA_TYPE_STRING - X:. *; wTOB .Z-TOY. .O*

x=. 9&

Y= 9&B NameValuePair *G %LM /| 3$ f}; %CUOY. NameValuePair parm2 = new NameValuePairImpl(); parm2.setName("TimeStamp"); parm2.setValueAsDate(new Date()); parm2.setValueDataType(NameValuePair.DATA_TYPE_DATETIME);

NameValuePair parm3 = new NameValuePairImpl(); parm3.setName("Browser"); parm3.setValueAsString("IE6"); parm3.setValueDataType(NameValuePair.DATA_TYPE_STRING);

NameValuePair parm4 = new NameValuePairImpl(); parm4.setName("FlashEnabled"); parm4.setValueAsNumeric(1.0); parm4.setValueDataType(NameValuePair.DATA_TYPE_NUMERIC);

Offer ,!: $8 Offer ,!:B Offer 3<& $GOB ^Re& wTUOY. L @[ 3

& 7 e IBM Unica Interact APIG ,!: W ^Re 113 v Score - enableScoreOverrideLookup nO $8! trueN fl ScoreOverrideTable! $GH !v GB @[G 6IC !vTOY.

getAdditionalAttributes getAdditionalAttributes()

getAdditionalAttributes ^ReB Campaign! $GH gkZ $G @[ S:; .OUOY. .O*

getAdditionalAttributes ^ReB NameValuePair 3

Y= 9&B pg _! S:;Z

// based on the datatype, call the appropriate method to get the value if(nvp.getValueDataType()==NameValuePair.DATA_TYPE_DATETIME) System.out.println("DateValue:"+nvp.getValueAsDate()); else if(nvp.getValueDataType()==NameValuePair.DATA_TYPE_NUMERIC) System.out.println("NumericValue:"+nvp.getValueAsNumeric()); else System.out.println("StringValue:"+nvp.getValueAsString()); }

getDescription getDescription()

getDescription ^ReB Campaign! $GH @[ 3m; .OUOY.

114 IBM Unica Interact: |.Z !Le .O*

getDescription ^ReB .Z-; .OUOY. 9&

Y= 9&B @[ 3m;NbUOY. for(Offer offer : offerList.getRecommendedOffers()) { // print offer System.out.println("Offer Description:"+offer.getDescription()); } getOfferCode getOfferCode()

getOfferCode ^ReB Campaign! $GH @[G @[ Ze&.OUOY. .O*

getOfferCode ^ReB @[G @[ Ze& wTOB .Z- h-; .OUOY. 9&

Y= 9&B @[G @[ Ze& NbUOY. for(Offer offer : offerList.getRecommendedOffers()) { // print offer System.out.println("Offer Code:"+offer.getOfferCode()); } getOfferName getOfferName()

getOfferName ^ReB Campaign! $GH @[ L'; .OUOY. .O*

getOfferName ^ReB .Z-; .OUOY. 9&

Y= 9&B @[ L';NbUOY. for(Offer offer : offerList.getRecommendedOffers()) { // print offer System.out.println("Offer Name:"+offer.getOfferName()); }

& 7 e IBM Unica Interact APIG ,!: W ^Re 115 getScore getScore()

getScore ^ReBY= _ O*&.OUOY. v b; @[ WLm, !v g$G WLm GB b; &x P@; 0:-Ov J: f l, L ^ReB s#[k |+ G! $GH kN @[G 6IC !v&.OUOY. v b; @[ GB !v g$G WLm; 0:-Om b; &x P@: 0:-Ov J : fl, L ^ReB b; @[ WLm, 6IC cgZG !v, !v g$G WLm #G l1x' x-! $GQ kN @[ !v&.OUOY. v b; &x P@; 0:-Q fl, L ^ReB b; &x P@L @[& $DOB % gkQ V>!v&.OUOY. .O*

getScore ^ReB @[ !v& *8;B $v&.OUOY. 9&

Y= 9&B @[ !v& NbUOY. for(Offer offer : offerList.getRecommendedOffers()) { // print offer System.out.println("Offer Score:"+offer.getOfferScore()); }

getTreatmentCode getTreatmentCode()

getTreatmentCode ^ReB Campaign! $GH @[G 3. Ze&.OUOY.

Campaign: 3. Ze& gkO) &xH @[GN:O:& D0Ob '.! postEvent ^Re& gkO)@[ AC, vtGB EN L%.& NWR ' L Z e& L%. E3/vN .OX_ UOY. @[ vtGB EN& NkOB fl, 3. Ze& *8;B NameValuePairGL' *; UACIOfferTrackingCodeN 3$X_ UOY. .O*

getTreatmentCode ^ReB .Z-; .OUOY. 9&

Y= 9&B @[G 3. Ze& NbUOY.

116 IBM Unica Interact: |.Z !Le for(Offer offer : offerList.getRecommendedOffers()) { // print offer System.out.println("Offer Treatment Code:"+offer.getTreatmentCode()); }

OfferList ,!: $8 OfferList ,!:B getOffers ^ReG az& $GOB ^Re& wTUOY. OfferList 3

OfferList ,!:B @[ qO! kX [wUOY. L ,!:B Campaign @[ q OzB |CL x@OY.

getDefaultString getDefaultString()

getDefaultString ^ReB Campaign! $GH s#[k v!G b; .Z-; . OUOY.

RecommendedOffers 3

getDefaultString ^ReB .Z-; .OUOY. 9&

Y= 9&B offerList 3

getRecommendedOffers getRecommendedOffers()

& 7 e IBM Unica Interact APIG ,!: W ^Re 117 getRecommendedOffers ^ReB getOffers ^Re! d;Q Offer 3

getRecommendedOffer! kQ @dL qn V8i, "!L getDefaultStringG a z& &xX_ UOY. .O*

getRecommendedOffers ^ReB Offer 3<&.OUOY. 9&

Y= 9&B OfferList 3<& 3.Om GeGB pg @[! kQ @[ L';Nb UOY. OfferList offerList=response.getOfferList(); if(offerList.getRecommendedOffers() != null) { for(Offer offer : offerList.getRecommendedOffers()) { // print offer System.out.println("Offer Name:"+offer.getOfferName()); } } else // count on the default Offer String System.out.println("Default offer:"+offerList.getDefaultString());

Response ,!: $8 Response ,!:B InteractAPI ,!: ^ReG az& $GOB ^Re& wTUO Y. Response 3

118 IBM Unica Interact: |.Z !Le getAdvisoryMessages getAdvisoryMessages()

getAdvisoryMessages ^ReB Response 3

getAdvisoryMessages ^ReB Advisory Message 3

Y= 9&B Response 3

getApiVersion ^ReB Response 3

getVersion ^ReB Response 3

Response 3

Y= 9&B getVersion! kQ Response 3<& 3.OB ^Re!- _iQ MT OY. if(response.getStatusCode() == Response.STATUS_SUCCESS) { System.out.println("getVersion call processed with no warnings or errors"); System.out.println("API Version:" + response.getApiVersion()); } getOfferList getOfferList()

getOfferList ^ReB Response 3

& 7 e IBM Unica Interact APIG ,!: W ^Re 119 getOffers ^ReB Response 3

Response 3

Y= 9&B getOffers! kQ Response 3<& 3.OB ^Re!- _iQ MTO Y. OfferList offerList=response.getOfferList(); if(offerList.getRecommendedOffers() != null) { for(Offer offer : offerList.getRecommendedOffers()) { // print offer System.out.println("Offer Name:"+offer.getOfferName()); } }

getAllOfferLists getAllOfferLists()

getAllOfferLists ^ReB Response 3

getOffersForMultipleInteractionPoints ^ReB L& gkO) Response 3

Response 3

Y= 9&B getOffers! kQ Response 3<& 3.OB ^Re!- _iQ MTO Y.

OfferList[] allOfferLists = response.getAllOfferLists(); if (allOfferLists != null) { for (OfferList ol : allOfferLists) { System.out.println("The following offers are delivered for interaction point " + ol.getInteractionPointName() + ":"); for (Offer o : ol.getRecommendedOffers()) { System.out.println(o.getOfferName()); } } }

getProfileRecord getProfileRecord()

120 IBM Unica Interact: |.Z !Le getProfileRecord ^ReB vg

getProfile ^ReB Response 3

Response 3

Y= 9&B getOffers! kQ Response 3<& 3.OB ^Re!- _iQ MTO Y. for(NameValuePair nvp : response.getProfileRecord()) { System.out.println("Name:"+nvp.getName()); if(nvp.getValueDataType().equals(NameValuePair.DATA_TYPE_DATETIME)) { System.out.println("Value:"+nvp.getValueAsDate()); } else if(nvp.getValueDataType().equals(NameValuePair.DATA_TYPE_NUMERIC)) { System.out.println("Value:"+nvp.getValueAsNumeric()); } else { System.out.println("Value:"+nvp.getValueAsString()); } } getSessionID getSessionID()

getSessionID ^ReB

getSessionID ^ReB .Z-; .OUOY. 9&

Y= 9&B @y!|hH

System.out.println("This response pertains to sessionId:"+response.getSessionID());

& 7 e IBM Unica Interact APIG ,!: W ^Re 121 getStatusCode getStatusCode()

getStatusCode ^ReB Response 3

Response 3

Y=: @y 3. C getStatusCode gk f} 9&TOY.

public static void processSetDebugResponse(Response response) { // check if response is successful or not if(response.getStatusCode() == Response.STATUS_SUCCESS) { System.out.println("setDebug call processed with no warnings or errors"); } else if(response.getStatusCode() == Response.STATUS_WARNING) { System.out.println("setDebug call processed with a warning"); } else { System.out.println("setDebug call processed with an error"); }

// For any non-successes, there should be advisory messages explaining why if(response.getStatusCode() != Response.STATUS_SUCCESS) printDetailMessageOfWarningOrError("setDebug", response.getAdvisoryMessages()); }

122 IBM Unica Interact: |.Z !Le & 8 e ExternalCallout API $8

InteractBk-D CNw.! gkR v VB .e !IQ E)N, EXTERNALCALLOUT ; &xUOY. L E)NN CNw. G` _ \N C:[z kER gkZ $G m. & v`R v V@OY. 9& in, CNw. G` _ m4G Ek !v& hjOAB fl Java ,!:(]Ft)& }:O) !v& hjQ D k-D CNw.G 1C AN <:!- EXTERNALCALLOUT E)N& gkX- ]Ft8NNM Ek !v& !.C v V@OY.

EXTERNALCALLOUT 8:: N !vVd \h! V@OY. Uz, ExternalCallout API & 8vOB Java ,!:& }:X_ UOY. N x0B, Interact | CNw. | ExternalCallouts |V!- 18S -v! JdQ Marketing Platform 8: nO $ 8& 8:X_ UOY.

L =GG $8 \!, Interact 18S -vG Interact/docs/externalCalloutJavaDoc p:d.!- ExternalCallout API! k Q JavaDocL gk !IUOY.

IAffiniumExternalCallout NMdL: ExternalCallout APIB IAffiniumExternalCallout NMdL:! wTGn V@O Y. EXTERNALCALLOUT E)N& gkOAi IAffiniumExternalCallout NMdL: & 8vX_ UOY.

IAffiniumExternalCallout& 8vOB ,!:!B 18S -v! Jb-R v VB 8:Z! Vn_ UOY. v ,!:! 8:Z! x8i Java DDO/! b; 8:Z& }:Og L 8:ZN f PUOY. v Nv! VB 8:Z! V8i 18S -v! gkI Nv! xB xk 8:Z& & xX_ UOY.

\N ]Ft; hwR ' Y=! /GOJC@. v \N ]FtG " %vD r!B ,!:G u N:O:& }:UOY. ,!:G $ { bv! kQ :9e H| .&& |.X_ UOY. v \N ]Ft! DOL* %LM#L: ,az 0: C:[ ZxL gkGB fl, a; |.X_ UOY. 18S -v!B ,a;Z?8N $.OB bIL x@OY.

IBM Unica Interact 18S /f 3!G lib p:d.! VB interact_externalcallout.jar! kX 8v; DDOX_ UOY.

© Copyright IBM Corp. 2001, 2012 123 IAffiniumExternalCallout: Java ,!:G %LM& d;Ob 'X 18S -v& gkUOY. NMdL:BY= W 3G ^ReN Lgn}OY. v getNumberOfArguments v getValue v initialize v shutdown

EXTERNALCALLOUT! gkR % -q: _!

EXTERNALCALLOUT E)NB Xg 8: nO $8& $GQ fl!8 ]Ft;NDU OY.

18S /f! kQ Marketing Platform!- Interact > CNw. > externalCallouts |VG Y= 8: nO $8& _! GB $GOJC@.

8: nO $8 3$ externalCallouts |V \N ]Ft! kQ u |V }: class \N ]FtG ,!: L' classpath \N ]Ft ,!: DO! kQ ,!: fN E3/v %LM |V \N ]Ft! E3/v! JdQ fl u E3/v 8: nO $8 & }:Om""! *; RgOJC@.

getNumberOfArguments getNumberOfArguments()

getNumberOfArguments ^ReB kU _N Java ,!:!- 9sOB Nvv&. OUOY. .O*

getNumberOfArguments ^ReB $v&.OUOY. 9&

Y= 9&B NvvNb& %CUOY. public int getNumberOfArguments() { return 0; }

getValue getValue(audienceID, configData, arguments)

getValue ^ReB ]FtG YI bI; v`Omaz&.OUOY.

124 IBM Unica Interact: |.Z !Le getValue ^Re! JdQ E3/vBY=z0@OY. v audienceID - ks ID& D0OB *TOY. v configData - ]Ft! JdQ 8: %LMG 0-* VLVB JTOY. v arguments - ]Ft! JdQ NvTOY. " NvB String, Double, Date GB L _ O*G ListTOY. List NvB null *; wTR v Vv8 ListB 9& i n String W Double; wTR v x@OY.

8v ;!- Nv /| Kg& v`X_ UOY.

getValue ^Re! n2 L/N GPOi CalloutException; .OUOY. .O*

getValue ^ReB .Z- qO; .OUOY. 9&

public List getValue(AudienceId audienceId, Map configurationData, Object... arguments) throws CalloutException { Long customerId = (Long) audienceId.getComponentValue("Customer"); // now query scoreQueryUtility for the credit score of customerId Double score = scoreQueryUtility.query(customerId); String str = Double.toString(score); List list = new LinkedList(); list.add(str); return list; } initialize initialize(configData)

initialize ^ReB 18S -v! C[Gi Q x #bKOY. 18S _! :I; zXR v VB [w(9: %LM#L: Ne)LV8i, L ^Re& kX v`X_ U OY.

initialize ^Re! JdQ E3/vBY=z0@OY. v configData - ]Ft! JdQ 8: %LMG 0-* VLVB JTOY.

InteractB Interact > Flowchart > External Callouts > [External Callout] > Parameter Data |V! $GH External Callout E3/v!- L *;P@O Y.

initialize ^Re! n2 L/N GPOi CalloutException; .OUOY. .O*

x=.

& 8 e ExternalCallout API $8 125 9&

public void initialize(Map configurationData) throws CalloutException { // configurationData has the key-value pairs specific to the environment // the server is running in // initialize scoreQueryUtility here }

shutdown shutdown(configData)

shutdown ^ReB 18S -v! >aGi Q x #bKOY. ]Ft! JdQ $. [wLV8i L'! G`X_ UOY.

shutdown ^Re! JdQ E3/vBY=z0@OY. v configData - ]Ft! JdQ 8: %LMG 0-* VLVB JTOY.

shutdown ^Re! n2 L/N GPOi CalloutException; .OUOY. .O*

x=. 9&

public void shutdown(Map configurationData) throws CalloutException { // shutdown scoreQueryUtility here }

ExternalCallout API 9 1. Y= AYwN GetCreditScore.javasB DO; }:OJC@. DO: p(5 @ k ANW%!- !v& d!OB ScoreQueryUtilitysB ,!:! VYm!$ UOY. import java.util.Map; import com.unicacorp.interact.session.AudienceId; import com.unicacorp.interact.flowchart.macrolang.storedobjs.IAffiniumExternalCallout; import com.unicacorp.interact.flowchart.macrolang.storedobjs.CalloutException; import java.util.Random; public class GetCreditScore implements IAffiniumExternalCallout { // the class that has the logic to query an external system for a customer's credit score private static ScoreQueryUtility scoreQueryUtility; public void initialize(Map configurationData) throws CalloutException { // configurationData has the key- value pairs specific to the environment the server is running in // initialize scoreQueryUtility here }

public void shutdown(Map configurationData) throws CalloutException { // shutdown scoreQueryUtility here }

public int getNumberOfArguments()

126 IBM Unica Interact: |.Z !Le { // do not expect any additional arguments other than the customer's id return 0; }

public List getValue(AudienceId audienceId, Map configurationData, Object... arguments) throws CalloutException { Long customerId = (Long) audienceId.getComponentValue("Customer"); // now query scoreQueryUtility for the credit score of customerId Double score = scoreQueryUtility.query(customerId); String str = Double.toString(score); List list = new LinkedList(); list.add(str); return list; } } 2. GetCreditScore.java& GetCreditScore.classN DDOOJC@. 3. GetCreditScore.class W gkOBY% ,!: DO; wTQ creditscore.jar sB jar DO; }:OJC@. 4. 18S -vGON '!(9& in, /data/interact/creditscore.jar)N jar D O; 9gOJC@. 5. GetCreditScore L' W /data/interact/creditscore.jar ,!: fNG \ N ]Ft; 8: |. dLvG externalCallouts |V! }:OJC@. 6. k-D CNw.!- ]Ft; EXTERNALCALLOUT(‘GetCreditScore’)N gkR v V@OY.

IInteractProfileDataService NMdL: ANDO %LM -q: APIB iInteractProfileDataService NMdL:! wTG n V@OY. LNMdL:& gkOi Interact

ANDO %LM -q: API& gkO) h~ 86 %LM !.@b& 3_OAi S GG %LM R:!- $8& xnM- ISessionDataRootNode 3

IBM Unica Interact 18S /f 3!G lib p:d.! VB interact_externalcallout.jar! kX 8v; DDOX_ UOY.

LNMdL:G gk! kQ |< Javadoc 3m-B % jslzN Interact_home/ docs/externalCalloutJavaDoc! VB DO; |6OJC@.

9&! 8vH f}! kX V.8N 3.H 3m; wTO), ANDO %LM -q: & gkOB f}! kQ yC 8v: Interact_home/samples/externalcallout/ XMLProfileDataService.java& |6OJC@.

& 8 e ExternalCallout API $8 127 ANDO %LM -q:!- gkR %LM R: _!

EXTERNALCALLOUT E)NB Xg 8: nO $8& $GQ fl!8 ANDO %LM -q: h~ 86 %LM !.@b& 'Q %LM R:& NDUOY.

18S /f! kQ Marketing PlatformG Interact > ANDO > ks vX > [AudienceLevelName] > ANDO %LM -q: |V!- Y= 8: nO $8 & _! GB $GOJC@.

8: nO $8 3$ u |V L' |V$GOm VB %LM R:GL'TOY. )b! TBOB L': 0 : ks vX! kQ %LM R: _!- m/X_ UOY. 0:-J $GGBks vX! kX %LM R:! 0:-Gn VBv %C UOY. className IInteractProfileDataService& 8vOB %LM R: ,!:G O|Q L' classPath ANDO %LM -q: ,!: DO! kQ ,!: fNTOY. L M; }+Oi wTOB @k ANW% -vG ,!: fN! b;{ 8N gkKOY. l1x' |V L ks vX ;N!- L %LM R:G l1x'TOY. " ks vX! kQ pg%LM R: gL!- m/Q *Ln_ UOY.(o, n2 %LM R:! kX l1x'! 1008N 3$H fl Xgk s vX ;! VBY% %LM R:B W n2 M5 100G l1x '& !z v x@OY.)

128 IBM Unica Interact: |.Z !Le & 9 e IBM Unica Interact /?.<

L =G!-B Interact!- gk !IQ |. /?.<& 3mUOY. hw /?.< G`(runDeployment.sh/.bat) runDeployment mI` 58& gkOB fl, !IQ pg E3/v& |<{8N & COm runDeployment 58 Z

Interact Design Time -vG Y='!! Z?8N 3!H runDeployment mI` 58& #; v V@OY.

Interact_home/interactDT/tools/deployment/runDeployment.sh(GB Windows -vG runDeployment.bat)

L mI8N |^GB /OQ NvBk-D $N/18S -v Wl 6U; hwOB % JdQ pg !IQ E3/v& 3mOB deployment.propertiessB DOG ' !TOY. yC DOL |6k8N &xKOY.

|m: runDeployment /?.<& gkOb |, l1-v!- Java 18S /fG' !& &xO5O X:.m}bN m}X_ UOY. 9& in, Interact_home/jre GB Platform_home/jre p:d. _ O*! /?.

8H(SSL) /f!- runDeployment /?.< gk

Interact -v!- 8HL 0:-Gn SSL w.& kX ,aR ' runDeployment / ?.<& gkOAi Y=z0L EZ zeR Java nO $8& _!X_ UOY.

© Copyright IBM Corp. 2001, 2012 129 1. k-D $N hw& 'X deployment.properties DO; m}Om V; 'B L 9&!-33 8H SSL URL; gkO5O deploymentURL nO $8& v$O JC@.

deploymentURL=https://.:/Campaign/interact/ InvokeDeploymentServlet 2. ${JAVA_HOME}8N C[OB `! Y=Nv& _!O5O X:.m}b& g kO) runDeployment.sh GB runDeployment.bat :)3.& m}OJC@.

-Djavax.net.ssl.trustStore=

9& in, EZ zeR Nv& _!Q D L `: Y=z0L 8O v V@OY. ${JAVA_HOME}/bin/java -Djavax.net.ssl.trustStore= -cp ${CLASSPATH}com.unicacorp.Campaign.interact.deployment.tools. InvokeDeploymentClient $1

& G& SSL EZ zeRG fNN YYJC@. /?.< G`

Java 1 8 S / f ; & x O 5 O / ? . < & m } O m / f ! O ! O 5 O deployment.properties DOG 9g;; gkZ $GQ D, Y= mI8N /?. <& G`R v V@OY.

Interact_home/interactDT/tools/deployment/runDeployment.sh deployment.properties

Interact_home; Interact pZN C# 3!G G& *8N YYm, deployment.properties & L hw& 'X gkZ $GQ nO $8 DOG G& fNM L'8N YYJC@.

yC deployment.properties DO

yC deployment.properties DO!B Z< /fz O!C0b 'X gkZ $GX _ OB pg E3/vM W! kQ 3mL _!H qOLV@OY. yC DO!B " E3/v! +yNv, V /$ *; gkZ $GX_ OBv! kQ 3m5 wTKOY. ############################################################################### # # The following properties feed into the InvokeDeploymentClient program. # The program will look for a deploymentURL setting. The program will post a # request against that url; all other settings are posted as parameters in # that request. The program then checks the status of the deployment and # returns back when the deployment is at a terminal state (or if the # specified waitTime has been reached). # # the output of the program will be of this format: # : # # where state can be one of the following: # ERROR

130 IBM Unica Interact: |.Z !Le # RUNNING # SUCCESS # # Misc Detail is data that would normally populate the status message area # in the deployment gui of the IC summary page. NOTE: HTML tags may exist # in the Misc Detail # ###############################################################################

############################################################################### # deploymentURL: url to the InvokeDeployment servlet that resides in Interact # Design time. should be in the following format: # http://dt_host:port/Campaign/interact/InvokeDeploymentServlet ############################################################################### deploymentURL=http://localhost:7001/Campaign/interact/InvokeDeploymentServlet

############################################################################### # dtLogin: this is the login that you would use to login to the Design Time if # you had wanted to deploy the IC via the deployment gui inside the IC summary # page. ############################################################################### dtLogin=asm_admin

############################################################################### # dtPW: this is the PW that goes along with the dtLogin ############################################################################### dtPW=

############################################################################### # icName: this is the name of the Interactive Channel that you want to deploy ############################################################################### icName=ic1

############################################################################### # partition: this is the name of the partition ############################################################################### partition=partition1

############################################################################### # request: this is the type of request that you want this tool to execute # currently, there two behaviors. If the value is "deploy", then the deployment # will be executed. All other values would cause the tool to simply return the # status of the last deployment of the specified IC. ############################################################################### request=deploy

############################################################################### # serverGroup: this is the name of the server group that you would like to # deploy the IC. ############################################################################### serverGroup=defaultServerGroup

############################################################################### # serverGroupType: this will indicate whether or not this deployment is going # against production server group or a test server group. 1 denotes production # 2 denotes test. ############################################################################### serverGroupType=1

############################################################################### # rtLogin: this is the account used to authenticate against the server group # that you are deploying to.

& 9 e IBM Unica Interact /?.< 131 ############################################################################### rtLogin=asm_admin

############################################################################### # rtPW: this is the password associated to the rtLogin ############################################################################### rtPW=

############################################################################### # waitTime: Once the tool submits the deployment request, the tool will check # the status of the deployment. If the deployment has not completed (or # failed), then the tool will continue to poll the system for the status until # a completed state has been reached, OR until the specified waitTime (in # seconds) has been reached. ############################################################################### waitTime=5

############################################################################### # pollTime: If the status of a deployment is still in running state, then the # tool will continue to check the status. It will sleep in between status # checks a number of seconds based on the pollTime setting . ############################################################################### pollTime=3

############################################################################### # global: Setting to false will make the tool NOT deploy the global settings. # Non-availability of the property will still deploy the global settings. ############################################################################### global=true

132 IBM Unica Interact: |.Z !Le & 10 e P@ API $8

InteractB f.Z[w; pOMOm V{ @[& &HOB(vt! kX) xC #Lv HKm.r; gkOB P@ pb; &xUOY. P@ API& gkO) ZEG Km. r8N ?OQ Java NMdL:& 8vO) P@ pb; w" }:R v V@OY.

|m: \N P@; gkOB fl P@! |Q 9 8m-(k-D @[, P@

P@ APIB !e \xQ vX8N18S /f!- %LM& v}Om GeGB @[ G $DH qO; .OOB ^Re& &xUOY.

Interact!- Y= %LM& v}R v V@OY. v @[ AC %LM v @[ vt %LM v pg

v Campaign /$ @[ %LM v pZN /fG P@ |V W 18S /fG offerserving! $GH 8: nO $ 8

Km.rGL%LM& gkO) 3.H @[ qO; }:R v V@OY. W1 Y= !e t: Ge!- 7: x8N GeGB @[ qO; .OUOY.

YLnW%!B %CGv Jv8 P@ API& gkO) P@ 8v! kQ %LM& v }R v5 V@OY. L %LM& ^p.! 8|OE* _! P.;'X DO GB % LM#L:! NWR v V@OY.

© Copyright IBM Corp. 2001, 2012 133 Java ,!:& }:Q D jar DON //R v V@OY. GQ jar DO; }:Q D 8: nO $8& m}O) 18S /f!\N P@ pbLNDG5O 8:X_ UO Y. Java ,!:* jar DO; \N P@ pb; gkOB pg 18S -v! 9gX _ UOY.

L !LeG $8 \!5, 18S -vG Interact/docs/ learningOptimizerJavaDoc p:d.!- P@ V{- ANW% API! kQ JavaDoc L gk !IUOY.

Interact 18S /f 3!G lib p:d.! VB interact_learning.jar! kX 8v; DDOX_ UOY.

gkZ $G P@ 8v; 5 '!BY= v';/dX_ UOY. v :IL _dUOY. v V<:9y W :9e H|[w fDLn_ UOY. v GP pe W :I! /GO) pg \N Zx; |.X_ UOY. v 9\, Nk(log4j), ^p.& {}OT gkOJC@.

\N P@ gk

P@ Java API& gkO) Z< P@ pb;[:R v V@OY. Marketing Platform !- P@ /?.<& NDO5O18S /f; 8:R v V@OY.

18S /fG Marketing Platform!- Interact > offerserving |VG Y= 8 : nO $8& m}OJC@. P@ V{- ANW% API! kQ 8: nO $8B Interact > offerserving > External Learning Config |V! V@OY.

8: nO $8 3$ optimizationType ExternalLearning externalLearningClass \N P@! kQ ,!: L' externalLearningClassPath 18S -vG \N P@! kQ ,!: GB jar DO fN TOY. -v Wl; gk _Lm 18S -v! ?OQ Marketing Platform N:O:& |6OB fl, pg -v !B ?OQ '!! ,!: GB jar DO 9g;LVn_ UOY.

L/Q /f gW;{kOAi Interact 18S -v& YCC[X_ UOY.

ILearning NMdL: P@ APIB ILearning NMdL:& _I8N teKOY. P@ pbG gkZ $G m.& vxOAi ILearning NMdL:& 8vX_ UOY.

134 IBM Unica Interact: |.Z !Le +y8Y ILearning NMdL:& gkO) 18S /f!- Java ,!:! kQ % LM& v}Om GeGB @[ qO; 18S -vN YC 8> v V@OY. initialize initialize(ILearningConfig config, boolean debug)

initialize ^ReB 18S -v! C[Gi Q x #bKOY. %LM#L: WL m!- ${ %LM& NeOB Mz 0L ]9RJd! xv8 18S _ :I! f X! I v VB [wLVB fl L ^ReN [w; v`X_ UOY. v config - ILearningConfig 3

initialize ^Re! n0Q L/N GPOB fl LearningExceptionL 3.KO Y. .O*

x= logEvent logEvent(ILearningContext context, IOffer offer, IClientArgs clientArgs, IInteractSession session, boolean debug)

logEvent ^ReB Interact API! ACL* @d8NNWO5O 8:H L%.& T CR '6Y 18S -v!- #bKOY. AC W @d %LM& 8mM P@ k5N

& 10 e P@ API $8 135 %LM#L:* DO! NWOAi L ^Re& gkOJC@. 9& in, bX! {s m4L @[& vtR !I:; Km.r fD8N G0OAB fl L ^Re& gk O) %LM& NWOJC@. v context - AC, vtGB ENM 0:L%.G P@ AX:.& $GOB ILearningContext 3

logEvent ^Re! GPOi LearningException 9\! 3.KOY. .O*

x=

optimizeRecommendList optimizeRecommendList(list(ITreatment) recList, IClientArgs clientArg, IInteractSession session, boolean debug)

optimizeRecommendList ^ReB GeGB @[ qOz

optimizeRecommendList ^Re!BY= E3/v! JdUOY. v recList - 18S /f! GeGB 3. 3<(@[) qOTOY. v clientArg - 18S /f!d;H VRvG @[& wTQ IClientArgs 3

136 IBM Unica Interact: |.Z !Le v session - pg

optimizeRecommendList ^Re! GPOi LearningException 9\! 3.KOY. .O*

optimizeRecommendList ^ReB ITreatment 3

18S /f: u hw! V; '6Y reinitialize ^Re& #bUOY. L ^Re B pg P@ 8: %LM& |^UOY. P@ API! JdQ 8: nO $8& PB -q:! VB fl LNMdL:! Xg -q:& YCC[X_ UOY. v config - pg 8: nO $8& wTQ ILearningConfig 3

logEvent ^Re! GPOi LearningException 9\! 3.KOY. .O*

x= shutdown shutdown(ILearningConfig config, boolean debug)

& 10 e P@ API $8 137 18S /f: 18S -v! C:[ >aI ' shutdown ^Re& #bUOY. P@ pb! JdQ $. [wLVB fl L ' [w; G`X_ UOY.

shutdown ^Re!BY= E3/v! JdUOY. v config - pg 8: nO $8& $GOB ILearningConfig 3

shutdown ^Re! n0Q L/N GPOB fl LearningExceptionL 3.KOY. .O*

x=

IAudienceID NMdL: IAudienceID NMdL:B IInteractSession NMdL:& vxUOY. ks ID! kQ NMdL:TOY. ks ID! )/ D.N Lgn. V; v V8GN LNMd L:& gkO) ks vX L' W ks IDG pg dR! W<:R v V@OY.

getAudienceLevel getAudienceLevel()

getAudienceLevel ^ReBks vX; .OUOY. .O*

getAudienceLevel ^ReBks vX; $GOB .Z-; .OUOY.

getComponentNames getComponentNames()

getComponentNames ^ReBks ID& 8:OB 8: dR L' }U; !.IO Y. 9& in, ks ID! customerName W accountID *8N 8:H fl getComponentNamesB customerName W accountID .Z-; wTOB }U; . OUOY. .O*

ks IDG 8: dR L'; wTOB .Z- }U.

138 IBM Unica Interact: |.Z !Le getComponentValue getComponentValue(String componentName)

getComponentValue ^ReB L' v$H 8: dR *; .OUOY. v componentName - *; KvR 8: dR L'; $GOB .Z-TOY. L . Z-: kR.Z& 8POv J@OY. .O*

getComponentValue ^ReB 8: dR *; $GOB 3<&.OUOY.

IClientArgs IClientArgs NMdL:B ILearning NMdL:& vxUOY. LNMdL:B < G %LM! Fw {kGv J: "!!--vN |^H%LM! {kR _sTOY. 9& in, Interact API getOffers ^ReN d;H @[ v! V@OY. L %LM B J! zeKOY.

getValue getValue(int clientArgKey)

getValue ^ReB d;H J dR *; .OUOY.

J!- JdQ dRBY=z0@OY. v 1 - NUMBER_OF_OFFERS_REQUESTED. Interact APIG getOffers ^Re ! d;Q @[ vTOY. L svB $v&.OUOY. .O*

getValue ^ReB d;H J sv *; $GOB 3<&.OUOY.

IInteractSession IInteractSession NMdL:B ILearning NMdL:& vxUOY. 18S /f G vg

getAudienceId getAudienceId()

getAudienceId ^ReB AudienceID 3<&.OUOY. *; _bOAi IAudienceID NMdL:& gkOJC@.

& 10 e P@ API $8 139 .O*

getAudienceId ^ReB AudienceID 3<&.OUOY.

getSessionData getSessionData()

getSessionData ^ReB

getSessionData ^ReB IInteractSessionData 3<&.OUOY.

IInteractSessionData NMdL: IInteractSessionData NMdL:B ILearning NMdL:& vxUOY. vg f .ZG 18S

getDataType getDataType(string parameterName)

getDataType ^ReB v$H E3/v L'G %LM /|; .OUOY. .O*

getDataType ^ReB InteractDataType 3<&.OUOY. IntearctDataType: Unknown, String, Double, Date GB ListN %CH Java -ETOY.

getParameterNames getParameterNames()

getParameterNames ^ReB vg

getParameterNames ^ReB *L 3$H L' }U; .OUOY. }UG " L' ; getValue(String)! |^O) *; .OR v V@OY.

getValue getValue(parameterName)

140 IBM Unica Interact: |.Z !Le getValue ^ReB v$H parameterName! k@OB 3< *; .OUOY. 3< B String, Double GB DateTOY.

getValue ^Re! JdQ E3/vBY=z0@OY. v parameterName -

getValue ^ReB L' v$H E3/v *; wTOB 3<&.OUOY.

setValue setValue(string parameterName, object value)

setValue ^Re& gkO) v$H parameterNameL *; 3$R v V@OY. * : String, Double GB DateTOY.

setValue ^Re! JdQ E3/vBY=z0@OY. v parameterName -

x=.

ILearningAttribute ILearningAttribute NMdL:B ILearningConfig NMdL:& vxUOY. learningAttributes |VG 8: nO $8! $GH P@ S:! kQ NMdL: TOY.

getName getName()

getName ^ReB P@ S: L'; .OUOY. .O*

getName ^ReB P@ S: L'; $GOB .Z-; .OUOY.

& 10 e P@ API $8 141 ILearningConfig ILearningConfig NMdL:B ILearning NMdL:& vxUOY. LB P@ 8 : nO $8! kQ NMdL:TOY. Y= ^ReB pNnO $8 *; .OUO Y.

LNMdL:BY= 153G ^ReN 8:KOY. v getAdditionalParameters - External Learning Config |V! $GH _! n O $8 J; .OUOY. v getAggregateStatsIntervalInMinutes - $v&.OUOY. v getConfidenceLevel - $v&.OUOY. v getDataSourceName - .Z-; .OUOY. v getDataSourceType - .Z-; .OUOY. v getInsertRawStatsIntervalInMinutes - $v&.OUOY. v getLearningAttributes - ILearningAttribute 3< qO; .OUOY. v getMaxAttributeNames - $v&.OUOY. v getMaxAttributeValues - $v&.OUOY. v getMinPresentCountThreshold - $v&.OUOY. v getOtherAttributeValue - .Z-; .OUOY. v getPercentRandomSelection - $v&.OUOY. v getRecencyWeightingFactor - Gv&.OUOY. v getRecencyWeightingPeriod - $v&.OUOY. v isPruningEnabled - No; .OUOY.

ILearningContext ILearningContext NMdL:B ILearning NMdL:& vxUOY.

getLearningContext getLearningContext()

getLearningContext ^ReB AC, vtGB EN C*.@)N& KAVB s v&.OUOY. v 1 - LOG_AS_CONTACT v 2 - LOG_AS_ACCEPT v 3 - LOG_AS_REJECT

4, 5B bD gk;'X 9`Gn V@OY.

142 IBM Unica Interact: |.Z !Le .O*

getLearningContext ^ReB $v&.OUOY.

getResponseCode getResponseCode()

getResponseCode ^ReB L @[! RgH @d Ze&.OUOY. L *: Campaign C:[WLmG UA_UsrResponseType WLm! Vn_ UOY. .O*

getResponseCode ^ReB @d Ze& $GOB .Z-; .OUOY.

IOffer IOffer NMdL:B ITreatment NMdL:& vxUOY. LB pZN /f! $ GH @[ 3

getCreateDate getCreateDate()

getCreateDate ^ReB @[! [:H /%&.OUOY. .O*

getCreateDate ^ReB @[! [:H /%& $GOB /%&.OUOY.

getEffectiveDateFlag getEffectiveDateFlag()

getEffectiveDateFlag ^ReB @[ /? /%& $GOB }Z&.OUOY. v 0 - /? /%! }k /%TOY(9: 2010b 3y 15O). v 1 - /? /%! Ge /%TOY. .O*

getEffectiveDateFlag ^ReB @[ /? /%& $GOB $v&.OUOY.

getExpirationDateFlag getExpirationDateFlag()

getExpirationDateFlag ^ReB @[ 8a /%& 3mOB $v *; .OUOY.

& 10 e P@ API $8 143 v 0 - }k /%TOY(9: 2010b 3y 15O). v 1 - Ge /% LDGON O v TOY(9: 14). v 2 - Ge /% LDG y;TOY. @[! 3y 31O! &xH fl, @[B Xg / %! 8aKOY. .O*

getExpirationDateFlag ^ReB @[ 8a /%& 3mOB $v&.OUOY.

getOfferAttributes getOfferAttributes()

getOfferAttributes ^ReB @[! kX $GH @[ S:; IOfferAttributes 3

getOfferAttributes ^ReB IOfferAttributes 3<&.OUOY.

getOfferCode getOfferCode()

getOfferCode ^ReB Campaign! $GH @[G @[ Ze&.OUOY. .O*

getOfferCode ^ReB IOfferCode 3<&.OUOY.

getOfferDescription getOfferDescription()

getOfferDescription ^ReB Campaign! $GH @[ 3m; .OUOY. .O*

getOfferDescription ^ReB .Z-; .OUOY.

getOfferID getOfferID()

getOfferID ^ReB Campaign! $GH @[ ID&.OUOY. .O*

getOfferID ^ReB @[ ID& $GOB long; .OUOY.

144 IBM Unica Interact: |.Z !Le getOfferName getOfferName()

getOfferName ^ReB Campaign! $GH @[ L'; .OUOY. .O*

getOfferName ^ReB .Z-; .OUOY.

getUpdateDate getUpdateDate()

getUpdateDate ^ReB @[! 6v78N w%L.H /%&.OUOY. .O*

getUpdateDate ^ReB @[! 6v78N w%L.H /%& $GOB /%&. OUOY.

IOfferAttributes IOfferAttributes NMdL:B IOffer NMdL:& vxUOY. LB pZN / f! $GH @[! kX $GH @[ S:! kQ NMdL:TOY. 18S /f!- @[ S:; v}OAi IOfferAttributes NMdL:& gkOJC@.

getParameterNames getParameterNames()

getParameterNames ^ReB @[ E3/v L'qO; .OUOY. .O*

getParameterNames ^ReB @[ E3/v L'qO; $GOB }U; .OUO Y.

getValue getValue(String parameterName)

getValue ^ReB v$H @[ S: *; .OUOY. .O*

getValue ^ReB @[ S: *; $GOB 3<&.OUOY.

& 10 e P@ API $8 145 IOfferCode NMdL: IOfferCode NMdL:B ILearning NMdL:& vxUOY. LB pZN /f! $GH @[! kX $GH @[ Ze! kQ NMdL:TOY. @[ ZeB 1-Yv G .Z-N 8:I v V@OY. 18S /f!- @[ Ze& v}OAi IOfferCode NMdL:& gkOJC@.

getPartCount getPartCount()

getPartCount ^ReB @[ Ze& 8:OB D. v&.OUOY. .O*

getPartCount ^ReB @[ ZeG D. v& $GOB $v&.OUOY.

getParts getParts()

getParts ^ReB v$ R!IQ @[ Ze D. qO; !.IOY. .O*

getParts ^ReB v$ R!IQ @[ Ze D. qO; .OUOY.

LearningException LearningException ,!:B ILearning NMdL:& vxUOY. LNMdL: ; ON ^ReB java.lang.ExceptionG \x O' ,!:N LearningException 3 .(throw)& 8vX_ UOY. g. 9\! VB fl g. 9\& gkO) LearningException; }:R M; pvk q{8N -Bw GeUOY.

IScoreOverride IScoreOverride NMdL:B ITreatment NMdL:& vxUOY. LNMdL: & gkO) !v g$G GB b; @[ WLm! $GH%LM& P; v V@OY.

getOfferCode getOfferCode()

getOfferCode ^ReB L ks 8:x! kQ !v g$G WLmG @[ Ze - *; .OUOY.

146 IBM Unica Interact: |.Z !Le .O*

getOfferCode ^ReB !v g$G WLmG @[ Ze - *; $GOB IOfferCode 3<&.OUOY. getParameterNames getParameterNames()

getParameterNames ^ReB E3/v qO; .OUOY. .O*

getParameterNames ^ReB E3/v qO; $GOB }U; .OUOY.

IScoreOverride ^Re! wTH E3/vBY=z0@OY. 05N v$Ov J8 i L E3/vB !v g$G WLmz ?OUOY. v ADJ_EXPLORE_SCORE_COLUMN v CELL_CODE_COLUMN v ENABLE_STATE_ID_COLUMN v ESTIMATED_PRESENT_COUNT - 9s vg v g$GG fl(@[ !_! h j _) v FINAL_SCORE_COLUMN v LIKELIHOOD_SCORE_COLUMN v MARKETER_SCORE v OVERRIDE_TYPE_ID_COLUMN v PREDICATE_COLUMN - @[ Z] G0;'Q No %vD [:G fl v PREDICATE_SCORE - }Z !v& J!OB %vD [:G fl v SCORE_COLUMN v ZONE_COLUMN

GQ -z ?OQ L'; gkO) !v g$G GB b; @[ WLm! _!OB - ; |6R v V@OY. getValue getValue(String parameterName)

getValue ^ReB L ks 8:x! kQ !v g$G WLmG 5* - *; .O UOY. v parameterName - *; KvR E3/v L'; $GOB .Z-TOY.

& 10 e P@ API $8 147 .O*

getValue ^ReB d;H E3/v *; $GOB 3<&.OUOY.

ISelectionMethod ISelection NMdL:B Ge qO; &COB % gkGB ^Re& %CUOY. Treatment 3

*_! P.;'X %LM& zeOAi LNMdL:& b8 sv& ~n* .eR v V@OY. 9& in, N 3G -N Y% P@ pb;[:Om 05G -v Wl! L& 8vR v V@OY. SERVER_GROUP_1 W SERVER_GROUP_2& wTO5 O ISelection NMdL:& .eR v V@OY. W1 Y= N P@ pbG az& q3R v V@OY.

ITreatment NMdL: ITreatment NMdL:B 3. $8! kQ NMdL:N ILearning NMdL:& v xUOY. 3.B pZN /f! $GH kN /$ ?! RgH @[& *8@OY. L NMdL:!- RgH 6IC !vB 0P ? W @[ $85 r; v V@OY.

getCellCode getCellCode()

getCellCode ^ReB Campaign! $GH ? Ze&.OUOY. L ?:L@[ M,|H :6.

getCellCode ^ReB ? Ze& $GOB .Z-; .OUOY.

getCellId getOfferName()

getCellId ^ReB Campaign! $GH ?G ;N ID&.OUOY. L ?:L@ [M,|H :6.

getCellId ^ReB ? ID& $GOB long; .OUOY.

getCellName getCellName()

148 IBM Unica Interact: |.Z !Le getCellName ^ReB Campaign! $GH ? L'; .OUOY. L ?:L@[ M,|H :6.

getCellName ^ReB ? L'; $GOB .Z-; .OUOY. getLearningScore getLearningScore()

getLearningScore ^ReB L 3.! kQ !v&.OUOY. l1x'BY=z 0@OY. 1. g$G *(IScoreoveride.PREDICATE_SCORE_COLUMN0 0x g$G * J! V B fl); .O 2. *L Null FOi 9x !v&.O 3. 6IC cgZG !v(IScoreoveride.SCORE0 0x g$G * J! VB fl) &.O

4. 6IC cgZG !v&.O .O*

getLearningScore ^ReB P@ Km.rL G0Q !v& $GOB $v&.OU OY. getMarketerScore getMarketerScore()

getMarketerScore ^ReB @[! kQ s#[k |+ G!- =sLuN $GH 6 IC cgZG !v&.OUOY.

s#[k |+ G m^ IG8N $GQ 6IC cgZG !v& KvOAi getPredicateScore& gkOJC@.

3.!- G&N gkGB 6IC cgZG !v& KvOAi getLearningScore& gkOJC@. .O*

getMarketerScore ^ReB 6IC cgZG !v& $GOB $v&.OUOY.

& 10 e P@ API $8 149 getOffer getOffer()

getOffer ^ReB 3.! kQ @[&.OUOY. .O*

getOffer ^ReB L 3.! kQ @[& $GOB IOffer 3<&.OUOY.

getOverrideValues getOverrideValues()

getOverrideValues ^ReB b; @[ GB !v g$G WLm! $GH g$G& .OUOY. .O*

getOverrideValues ^ReB IScoreOverride 3<&.OUOY.

getPredicate getPredicate()

getPredicate ^ReB b; @[ WLm, !v g$G WLm GB 3. T" m^ IGG 9x -L $GQ 9x; .OUOY. .O*

getPredicate ^ReB b; @[ WLm, !v g$G WLm GB 3. T" m^ IGG 9x -L $GQ 9x; $GOB .Z-; .OUOY.

getPredicateScore getPredicateScore()

getPredicateScore ^ReB b; @[ WLm, !v g$G WLm GB 3. T" m^ IGG 9x -!-3$Q !v&.OUOY. .O*

getPredicateScore ^ReB b; @[ WLm, !v g$G WLm GB 3. T" m^ IGG 9x -!-3$Q !v& $GOB double; .OUOY.

getScore getScore()

getScore ^ReBY= _ O*&.OUOY.

150 IBM Unica Interact: |.Z !Le v enableScoreOverrideLookup nO $8! falseN 3$H fl CampaignG s# [k |+ G! $GH @[G 6IC !v

v enableScoreOverrideLookup nO $8! trueN 3$H fl scoreOverrideTable L $GQ @[ !v

.O*

getScore ^ReB @[ !v& *8;B $v&.OUOY.

getTreatmentCode getTreatmentCode()

getTreatmentCode ^ReB 3. Ze&.OUOY. .O*

getTreatmentCode ^ReB 3. Ze& $GOB .Z-; .OUOY.

setActualValueUsed setActualValueUsed(string parmName, object value)

P@ Km.r G`G )/ :WLv!- gkGB *; $GOAi setActualValueUsed ^Re& gkOJC@.

9& in, L ^Re& gkO) AC W @d bO WLm! bOOm b8 yC 8 m-& v$OB fl 8m! P@ Km.rG %LM& wTC3 v V@OY. v parmName - 3$_N E3/v L'; $GOB .Z-TOY. v value - 3$_N E3/v *; $GOB .Z-TOY. .O*

x=.

P@ API 9 L =G: LearningInterfaceG yC 8v; wTUOY. L 8v: yCO S, nk / f! gkO5O pZNH ML FT! /GOJC@.

L 9B vt W AC 3v& _{Om /$ @[G vt k AC q2; @[G vt !I: q2N gkUOY. &CGv J: @[B Ge gW!- u t: l1x'& wvUOY. VR O*G ACLVB @[! ;2wxvt !I: q2! {s $D KOY.

& 10 e P@ API $8 151 L 9!-B pg 3v! ^p.! 8|KOY. 18S -vB ^p.! N7OT GG N LB G& C*.@! FUOY. G& nk C*.@!-B %LM#L:N 3v& vSCQ_ UOY. package com.unicacorp.interact.samples.learning.v2; import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; import java.util.HashMap; import java.util.List; import java.util.Map; import com.unicacorp.interact.samples.learning.SampleOptimizer.MyOfferSorter; import com.unicacorp.interact.treatment.optimization.IClientArgs; import com.unicacorp.interact.treatment.optimization.IInteractSession; import com.unicacorp.interact.treatment.optimization.ILearningConfig; import com.unicacorp.interact.treatment.optimization.ILearningContext; import com.unicacorp.interact.treatment.optimization.IOffer; import com.unicacorp.interact.treatment.optimization.LearningException; import com.unicacorp.interact.treatment.optimization.v2.ILearning; import com.unicacorp.interact.treatment.optimization.v2.ITreatment;

/** * This is a sample implementation of the learning optimizer. * The interface ILearning may be found in the interact.jar library. * * To actually use this implementation, select ExternalLearning as the optimizationType in the offerServing node * of the Interact application within the Platform configuration. Within the offerserving node there is also * an External Learning config category - within there you must set the name of the class to this: * com.unicacorp.interact.samples.learning.v2.SampleLearning. Please note however, this implementation is just a sample * and was not designed to be used in a production environment. * * * This example keeps track of accept and contact counts and uses the ratio of accept to contacts * for a particular offer as the acceptance probability rate for the offer. * * * Offers not presented will get higher priority for recommending. * Offers with at least one contact will be ordered based on descending acceptance probability rate. * * Note: all counts are kept in memory. This is not a realistic scenario since you would run out of memory sooner or * later. In a real production scenario, the counts should be persisted into a . * */ public class SampleLearning implements ILearning {

// A map of offer ids to contact count for the offer id private Map _offerToContactCount = new HashMap();

// A map of offer ids to contact count for the offer id private Map _offerToAcceptCount = new HashMap();

/* (non-Javadoc) * @see com.unicacorp.interact.treatment.optimization.v2.ILearning#initialize * (com.unicacorp.interact.treatment.optimization.v2.ILearningConfig, boolean) */ public void initialize(ILearningConfig config, boolean debug) throws LearningException { // If any remote connections are required, this is a good place to initialize those connections as this // method is called once at the start of the interact runtime webapp. // This example does not have any remote connections and prints for debugging purposes that this method will // be called System.out.println("Calling initialize for SampleLearning"); }

/* (non-Javadoc) * @see com.unicacorp.interact.treatment.optimization.v2.ILearning#reinitialize * (com.unicacorp.interact.treatment.optimization.v2.ILearningConfig, boolean) */ public void reinitialize(ILearningConfig config, boolean debug) throws LearningException

152 IBM Unica Interact: |.Z !Le { // If an IC is deployed, this reinitialize method is called to allow the implementation to // refresh any updated configuration settings System.out.println("Calling reinitialize for SampleLearning"); }

/* (non-Javadoc) * @see com.unicacorp.interact.treatment.optimization.v2.ILearning#logEvent * (com.unicacorp.interact.treatment.optimization.v2.ILearningContext, * com.unicacorp.interact.treatment.optimization.v2.IOffer, * com.unicacorp.interact.treatment.optimization.v2.IClientArgs, * com.unicacorp.interact.treatment.optimization.IInteractSession, boolean) */ public void logEvent(ILearningContext context, IOffer offer, IClientArgs clientArgs, IInteractSession session, boolean debug) throws LearningException { System.out.println("Calling logEvent for SampleLearning");

if(context.getLearningContext()==ILearningContext.LOG_AS_CONTACT) { System.out.println("adding contact");

// Keep track of all contacts in memory synchronized(_offerToAcceptCount) { Integer count = _offerToAcceptCount.get(offer.getOfferId()); if(count == null) count = new Integer(1); else count++; _offerToAcceptCount.put(offer.getOfferId(), ++count); }

} else if(context.getLearningContext()==ILearningContext.LOG_AS_ACCEPT) { System.out.println("adding accept"); // Keep track of all accept counts in memory by adding to the map synchronized(_offerToAcceptCount) { Integer count = _offerToAcceptCount.get(offer.getOfferId()); if(count == null) count = new Integer(1); else count++; _offerToAcceptCount.put(offer.getOfferId(), ++count); } }

}

/* (non-Javadoc) * @see com.unicacorp.interact.treatment.optimization.v2.ILearning#optimizeRecommendList * (java.util.List, com.unicacorp.interact.treatment.optimization.v2.IClientArgs, * com.unicacorp.interact.treatment.optimization.IInteractSession, boolean) */ public List optimizeRecommendList(List recList, IClientArgs clientArgs, IInteractSession session, boolean debug) throws LearningException { System.out.println("Calling optimizeRecommendList for SampleLearning");

// Sort the candidate treatments by calling the sorter defined in this class and return the sorted list Collections.sort(recList,new MyOfferSorter());

// now just return what was asked for via "numberRequested" variable List result = new ArrayList();

for(int x=0;x<(Integer)clientArgs.getValue(IClientArgs.NUMBER_OF_OFFERS_REQUESTED) && x

& 10 e P@ API $8 153 /* (non-Javadoc) * @see com.unicacorp.interact.treatment.optimization.v2.ILearning#shutdown * (com.unicacorp.interact.treatment.optimization.v2.ILearningConfig, boolean) */ public void shutdown(ILearningConfig config, boolean debug) throws LearningException { // If any remote connections exist, this would be a good place to gracefully // disconnect from them as this method is called at the shutdown of the Interact runtime // webapp. For this example, there is nothing really to do // except print out a statement for debugging. System.out.println("Calling shutdown for SampleLearning");

} // Sort by: // 1. offers with zero contacts - for ties, order is based on original input // 2. descending accept probability rate - for ties, order is based on original input

public class MyOfferSorter implements Comparator { private static final long serialVersionUID = 1L;

/* (non-Javadoc) * @see java.lang.Comparable#compareTo(java.lang.Object) */ public int compare(ITreatment treatment1, ITreatment treatment2) {

// get contact count for both treatments Integer contactCount1 = _offerToContactCount.get(treatment1.getOffer().getOfferId()); Integer contactCount2 = _offerToContactCount.get(treatment2.getOffer().getOfferId());

// if treatment hasn’t been contacted, then that wins if(contactCount1 == null || contactCount1 == 0) return -1;

if(contactCount2 == null || contactCount2 == 0) return 1;

// get accept counts Integer acceptCount1 = _offerToAcceptCount.get(treatment1.getOffer().getOfferId()); Integer acceptCount2 = _offerToAcceptCount.get(treatment2.getOffer().getOfferId());

float acceptProbability1 = (float) acceptCount1 / (float) contactCount1; float acceptProbability2 = (float) acceptCount2 / (float) contactCount2;

// descending order return (int) (acceptProbability2 - acceptProbability1);

} }

}

154 IBM Unica Interact: |.Z !Le NO A. IBM Unica Interact WSDL

© Copyright IBM Corp. 2001, 2012 155

156 IBM Unica Interact: |.Z !Le

NO A. IBM Unica Interact WSDL 157

158 IBM Unica Interact: |.Z !Le

NO A. IBM Unica Interact WSDL 159

160 IBM Unica Interact: |.Z !Le

NO A. IBM Unica Interact WSDL 161

162 IBM Unica Interact: |.Z !Le NO B. Interact 18S /f 8: nO $8

L =G!-B Interact 18S /f! kQ pg 8: nO $8& 3mUOY.

Interact | O]

L 8: nO $8B b; NW vXz NIO 3$; wTQ, 18S /fGO] 3 $; $GUOY.

log4jConfig 3m

log4j nO $8& wTQ DOG '!TOY. L fNB INTERACT_HOME / f /v! kQ sk fN)_ UOY. INTERACT_HOME: Interact 3! p: d.G'!TOY. b;*

./conf/interact_log4j.properties

asmUserForDefaultLocale 3m

asmUserForDefaultLocale nO $8B Interact! NIO 3$; ^FB IBM Unica Marketing gkZ& $GUOY. NIO 3$: Interact APIG pn Gm ^Cv W pZN C#G pn %C & $GUOY. NIO 3$L n5 <& 3$z O!Ov JB fl InteractB )|w bIOv8 pZN C# %C W Gm ^Cv! Y% pnO v V@O Y. b;*

$GH b;*L x@OY.

Interact | O] | learningTablesDataSource

L 8: nO $8B b; &x P@ WLmG %LM R: 3$; $GUOY. Interact b; &x P@; gk _N fl L %LM R:& $GX_ UOY.

P@ API& gkO) w" P@ 8v; }:OB fl ILearningConfig NMdL: & gkO) L *;P5O gkZ $G P@ 8v; 8:R v V@OY.

© Copyright IBM Corp. 2001, 2012 163 jndiName 3m

L jndiName nO $8& gkO) Interact 18S -v! W<:OB P@ WLmG@k ANW% -v(Websphere GB WebLogic)! $GH JNDI(Java Naming and Directory Interface) %LM R:& D0OJC@.

P@ WLm: aci_lrntab ddl DON }:Gg )/ WLm _ UACI_AttributeValue W UACI_OfferStats WLm; wTUOY. b;*

$GH b;*L x@OY.

type 3m

Interact 18S -v! W<:OB P@ WLm! gkGB %LM R:G % LM#L: /|TOY. P@ WLm: aci_lrntab ddl DON }:Gg )/ WLm _ UACI_AttributeValue W UACI_OfferStats WLm; wTUOY. b;*

SQLServer CY% *

SQLServer | DB2 | ORACLE

connectionRetryPeriod 3m

ConnectionRetryPeriod nO $8B P@ WLm! eV! _}R fl Interact! Z?8N %LM#L: ,a d;;gC5OB C#(J); v$UO Y. InteractB %LM#L: @y* GP& 8mOb |! L C# ?H Z? 8N %LM#L:! YC ,aOA C5UOY.0*; 3$Oi Interact! + Q$ gC5Og *; -1N 3$OB fl!B gC5Ov J@OY.

P@ WLm: aci_lrntab ddl DON }:Gg )/ WLm _ UACI_AttributeValue W UACI_OfferStats WLm; wTUOY. b;*

-1

connectionRetryDelay 3m

164 IBM Unica Interact: |.Z !Le ConnectionRetryDelay nO $8B P@ WLm! eV! _}Q D Interact! %LM#L:! YC ,aOA C5Ob |! kbOB C#(J); v $UOY. *; -1N 3$Oi gC5Ov J@OY.

P@ WLm: aci_lrntab ddl DON }:Gg )/ WLm _ UACI_AttributeValue W UACI_OfferStats WLm; wTUOY. b;*

-1

schema 3m

b; &x P@ pb! kQ WLm; wTQ :06GL'TOY. InteractB L nO $8G *; pg WLm L' U! pTUOY. 9& in, UACI_IntChannelL schema.UACI_IntChannelL KOY. :06& $GRJdB x@OY. :06& $GOv J8i InteractB WL mG R/Z! :06M ?OOYm!$UOY. p#Ov J5O L *; 3 $X_ UOY. b;*

$GH b;*L x@OY.

Interact | O] | prodUserDataSource

L 8: nO $8B nk P@ WLmG %LM R: 3$; $GUOY. L %LM R:& $GX_ UOY. LB hw D k-D CNw.& G`R ' 18S /f! | 6GB %LM R:TOY.

jndiName 3m

L jndiName nO $8& gkO) Interact 18S -v! W<:OB m4 WLmG@k ANW% -v(Websphere GB WebLogic)! $GH JNDI(Java Naming and Directory Interface) %LM R:& D0OJC@. b;*

$GH b;*L x@OY.

type 3m

Interact 18S -v! W<:OB m4 WLmG %LM#L: /|TOY. b;*

NO B. Interact 18S /f 8: nO $8 165 SQLServer CY% *

SQLServer | DB2 | ORACLE

aliasPrefix 3m

AliasPrefix nO $8B Interact 18S -v! W<:OB m4 WLm! u WLm; 2m wx WLm; gkR ' Interact! Z?8N }:OB 0 m L'; Interact! |:OB fD; v$UOY.

" %LM#L:!B Vk ID fL! V=! /GOJC@. gk _N %LM #L:G .-& KdO) 3$Q *L %LM#L:G Vk ID fL& JzO v JBv .NOJC@. b;*

A

connectionRetryPeriod 3m

ConnectionRetryPeriod nO $8B 18S m4 WLm! eV! _}R fl Interact! Z?8N %LM#L: ,a d;;gC5OB C#(J); v $UOY. InteractB %LM#L: @y* GP& 8mOb |! L C# ?H Z?8N %LM#L:! YC ,aOA C5UOY.0*; 3$Oi Interact ! +Q$ gC5Og *; -1N 3$OB fl!B gC5Ov J@OY. b;*

-1

connectionRetryDelay 3m

ConnectionRetryDelay nO $8B Interact 18S m4 WLm! eV! _}Q D Interact! %LM#L:! YC ,aOA C5Ob |! kbOB C #(J); v$UOY. *; -1N 3$Oi gC5Ov J@OY. b;*

-1

schema 3m

166 IBM Unica Interact: |.Z !Le ANDO %LMWLm; wTQ :06GL'TOY. InteractB L nO $ 8G *; pg WLm L' U! pTUOY. 9& in, UACI_IntChannel L schema.UACI_IntChannelL KOY.

:06& $GRJdB x@OY. :06& $GOv J8i InteractB WL mG R/Z! :06M ?OOYm!$UOY. p#Ov J5O L *; 3 $X_ UOY. b;*

$GH b;*L x@OY.

Interact | O] | systemTablesDataSource

L 8: nO $8B 18S /f! kQ C:[WLmG %LM R: 3$; $GU OY. L %LM R:& $GX_ UOY.

jndiName 3m

jndiName nO $8& gkO) 18S /f WLm! kQ @k ANW% - v(Websphere GB WebLogic)! $GH JNDI(Java Naming and Directory Interface) %LM R:& D0OJC@. 18S /f %LM#L:B aci_runtime W aci_populate_runtime dll : )3.N $vx %LM#L:Lg 9& in, )/ WLm _ Y= UACI_CHOfferAttrib W UACI_DefaultedStat WLm; wTUOY. b;*

$GH b;*L x@OY.

type 3m

18S /f C:[WLmG %LM#L: /|TOY.

18S /f %LM#L:B aci_runtime W aci_populate_runtime dll : )3.N $vx %LM#L:Lg 9& in, )/ WLm _ Y= UACI_CHOfferAttrib W UACI_DefaultedStat WLm; wTUOY. b;*

SQLServer CY% *

SQLServer | DB2 | ORACLE

NO B. Interact 18S /f 8: nO $8 167 connectionRetryPeriod 3m

ConnectionRetryPeriod nO $8B 18S C:[WLm! eV! _} R fl Interact! Z?8N %LM#L: ,a d;;gC5OB C#(J); v$UOY. InteractB %LM#L: @y* GP& 8mOb |! L C# ? H Z?8N %LM#L:! YC ,aOA C5UOY.0*; 3$Oi Interact ! +Q$ gC5Og *; -1N 3$OB fl!B gC5Ov J@OY.

18S /f %LM#L:B aci_runtime W aci_populate_runtime dll : )3.N $vx %LM#L:Lg 9& in, )/ WLm _ Y= UACI_CHOfferAttrib W UACI_DefaultedStat WLm; wTUOY. b;*

-1

connectionRetryDelay 3m

ConnectionRetryDelay nO $8B Interact 18S C:[WLm! eV ! _}Q D Interact! %LM#L:! YC ,aOA C5Ob |! kbO B C#(J); v$UOY. *; -1N 3$Oi gC5Ov J@OY. 18S /f %LM#L:B aci_runtime W aci_populate_runtime dll : )3.N $vx %LM#L:Lg 9& in, )/ WLm _ Y= UACI_CHOfferAttrib W UACI_DefaultedStat WLm; wTUOY. b;*

-1

schema 3m

18S /f! kQ WLm; wTQ :06GL'TOY. InteractB L nO $8G *; pg WLm L' U! pTUOY. 9& in, UACI_IntChannel L schema.UACI_IntChannelL KOY.

:06& $GRJdB x@OY. :06& $GOv J8i InteractB WL mG R/Z! :06M ?OOYm!$UOY. p#Ov J5O L *; 3 $X_ UOY. b;*

$GH b;*L x@OY.

168 IBM Unica Interact: |.Z !Le Interact | O] | systemTablesDataSource | loaderProperties

L 8: nO $8B 18S /f! kQ C:[WLmG %LM#L: Nu /?.< 3$; $GUOY. %LM#L: Nu /?.<& gk _N fl!8 L nO $8& $GX_ UOY. databaseName 3m

%LM#L: Nu! ,aOB %LM#L:GL'TOY. b;*

$GH b;*L x@OY.

LoaderCommandForAppend 3m

LoaderCommandForAppend E3/vB InteractG AC W @d bO :WL ! %LM#L: WLm! 9Ze& _!R %LM#L: Ne /?.<& # bOb 'X G`GB mI; v$UOY. AC W @d bO %LM! kQ % LM#L: Nu /?.<& gkOAi L E3/v& 3$X_ UOY. L E3/vB %LM#L: Ne /?.< G` DOL* %LM#L: Ne /?.<& G`OB :)3.! kQ |< fN L'8N v$KOY. :)3 .& gkOi Ne /?.<& #bOb |! _! 3$; v`R v V@O Y. kNPG %LM#L: Ne /?.

L E3/vB b;{8N $GGn Vv J@OY. LoaderCommandForAppend! gk !IQ d+: Y= WLm! 3mGn V @OY. d+ 3m L d+: Interact! LoaderControlFileTemplate E3/v! v$H [ C4! {s }:OB SC A.Q DO! kQ | < fN W DOL'8N k

NO B. Interact 18S /f 8: nO $8 169 d+ 3m

L d+: Interact! %LM& Ne _N %LM R :GL'8N k

L d+: AN<: Ne _ Interact! }:Q SC %LM DO! kQ |< fN W DOL'8N k

L d+: %LM#L:G - -vN k

L d+: %LM#L:! Ne _N JeG fLN k

L d+: %LM#L:! Ne _N JeGL'8 N k

L d+: %LM#L:! Ne _N JeG x#N k

L d+: .M2 "CHAR( )"N k d+; gkR v V@OY. 9 & i n , SQLSVR W SQL2000G f l "SQLCHAR()"& gkUOY.

L d+:LJe! NeGB %LM#L:G/| 8N k

L d+: WLmG Je vN k

L d+: %LM R:! kQvg CNw. ,a G %LM#L: O#N k

L d+: Interact! %LM& Ne _N %LM# L: WLm L'8N k

L d+: %LM R:! kQvg CNw. ,a G %LM#L: gkZN k

b;*

$GH b;*L x@OY.

LoaderControlFileTemplateForAppend 3m

170 IBM Unica Interact: |.Z !Le LoaderControlFileTemplateForAppend nO $8B L|! Interact! 8 :H A.Q DO [C4! kQ |< fN W DOL'; v$UOY. L E 3/v! 3$Gi InteractB )b! v$H [C4! bJO) SC A.Q D O; ? {8N t e U OY. LSC A . Q D OG f N M L ' : LoaderCommandForAppend nO $8! gk !IQ d+! gkR v V@OY.

Interact& %LM#L: Nu /?.< pe!- gkOb |! L E3/vN v$H A.Q DO [C4; 8:X_ UOY. A.Q DO [C4: Interact! SC A.Q DO; }:R ' ?{8N k

$GH b;*L x@OY.

LoaderDelimiterForAppend 3m

LoaderDelimiterForAppend nO $8B SC Interact %LM DOL m$ Jq GB 8PH C' DONv )N& v$Om 8PH fl 8P b#N g kH .Z GB .Z <.& v$UOY. *L $GGv J: fl InteractB SC %LM DO; m$ Jq C' DO N }:UOY. *; v$Oi qn VB M8N KAvv J: WLm; $lb 'X Nu& #bR ' L *L gkKOY. InteractB L nO $8G *; 8P b#N gkO) SC %LM DO; 8PH C' DON }:UOY.

L nO $8B b;{8N $GGn Vv J@OY. b;*

CY% *

.Z, xOB fl +{H%N -; v V=

LoaderDelimiterAtEndForAppend 3m ON \N Ne /?.

NO B. Interact 18S /f 8: nO $8 171 *; TRUEN 3$X- qn VB M8N KAvv J: WLm; $lb 'X Nu! #bI ' Interact!"`G !! 8P b#& gkOT OJC@. b;*

FALSE CY% *

TRUE | FALSE

LoaderUseLocaleDP 3m

LoaderUseLocaleDP nO $8B Interact! %LM#L: Ne /?.

FALSE CY% *

TRUE | FALSE

Interact | O] | testRunDataSource

L 8: nO $8B Interact pZN /f! kQ W:. G` WLmG %LM R: 3$; $GUOY. VR O*G 18S /f! kX L %LM R:& $GX_ UO Y. Y=: k-D CNw.G W:. G`; v`R ' gkGB WLmTOY.

jndiName 3m

L jndiName nO $8& gkO) k-D CNw. W:. G`; G`R ' pZN /fL W<:OB m4 WLmG@k ANW% -v(Websphere GB WebLogic)! $GH JNDI(Java Naming and Directory Interface) %LM R :& D0OJC@. b;*

$GH b;*L x@OY.

172 IBM Unica Interact: |.Z !Le type 3m

k-D CNw. W:. G`; G`R ' pZN /fL W<:OB m4 W LmG %LM#L: /|TOY. b;*

SQLServer CY% *

SQLServer | DB2 | ORACLE aliasPrefix 3m

AliasPrefix nO $8Bk-D CNw. W:. G`; G`R ' pZN /fL W<:OB m4 WLm! u WLm; 2m wx WLm; gkR ' Interact! Z?8N }:OB 0m L'; Interact! |:OB fD; v$U OY. " %LM#L:!B Vk ID fL! V=! /GOJC@. gk _N %LM #L:G .-& KdO) 3$Q *L %LM#L:G Vk ID fL& JzO v JBv .NOJC@. b;*

A connectionRetryPeriod 3m

ConnectionRetryPeriod nO $8B W:. G` WLm! eV! _}R fl Interact! Z?8N %LM#L: ,a d;;gC5OB C#(J); v $UOY. InteractB %LM#L: @y* GP& 8mOb |! L C# ?H Z?8N %LM#L:! YC ,aOA C5UOY.0*; 3$Oi Interact ! +Q$ gC5Og *; -1N 3$OB fl!B gC5Ov J@OY. b;*

-1 connectionRetryDelay 3m

ConnectionRetryDelay nO $8B W:. G` WLm! eV! _}Q D Interact! %LM#L:! YC ,aOA C5Ob |! kbOB C#(J); v $UOY. *; -1N 3$Oi gC5Ov J@OY.

NO B. Interact 18S /f 8: nO $8 173 b;*

-1

schema 3m

k-D CNw. W:. G`! kQ WLm; wTQ :06GL'TOY. InteractB L nO $8G *; pg WLm L' U! pTUOY. 9& i n, UACI_IntChannelL schema.UACI_IntChannelL KOY.

:06& $GRJdB x@OY. :06& $GOv J8i InteractB WL mG R/Z! :06M ?OOYm!$UOY. p#Ov J5O L *; 3 $X_ UOY. b;*

$GH b;*L x@OY.

Interact | O] | contactAndResponseHistoryDataSource

L 8: nO $8B Interact 3w

L 3$: AC W @d bO pbzB |CL x@OY.

jndiName 3m

L jndiName nO $8& gkO) Interact 3w

type 3m

Interact 3w

SQLServer CY% *

SQLServer | DB2 | ORACLE

174 IBM Unica Interact: |.Z !Le connectionRetryPeriod 3m

ConnectionRetryPeriod nO $8B Interact 3w

-1

connectionRetryDelay 3m

ConnectionRetryDelay nO $8B Interact 3w

-1

schema 3m

Interact 3w

$GH b;*L x@OY.

Interact | O] | idsByType

L 8: nO $8B AC W @d bO pb! gkGB ID x#G 3$; $GUO Y.

initialValue 3m

NO B. Interact 18S /f 8: nO $8 175 UACI_IDsByType WLm; gkO) ID& }:R ' gkGB Jb ID * TOY. b;*

1 CY% *

08Y + pg *

retries 3m

UACI_IDsByType WLm; gkO) ID& }:R ' 9\! }:Gb |G gC5 vTOY. b;*

20 CY% *

08Y + $v

Interact | CNw.

L =G: k-D CNw.G 8:3$; $GUOY.

defaultDateFormat 3m

Interact!- /%& .Z-N W.m .Z-; /%N //Ob 'X gkOB b; /% |DTOY. b;*

MM/dd/yy

idleFlowchartThreadTimeoutInMinutes 3m

Interact!- :9e& X&Ob | k-D CNw. |k :9eG/^! c kGB C#(P)TOY. b;*

5

idleProcessBoxThreadTimeoutInMinutes 3m

176 IBM Unica Interact: |.Z !Le Interact!- :9e& X&Ob | k-D CNw. AN<: |k :9eG/ ^! ckGB C#(P)TOY. b;*

5 maxSizeOfFlowchartEngineInboundQueue 3m

Interact! kb-! 8/OB CNw. G` d;G Vk vTOY. L d; v ! 5^Oi Interact! u Ls d;; ^v J@OY. b;*

1000 maxNumberOfFlowchartThreads 3m

k-D CNw. d; |k :9eG Vk vTOY. b;*

25 maxNumberOfProcessBoxThreads 3m

k-D CNw. AN<: |k :9eG Vk vTOY. b;*

50 maxNumberOfProcessBoxThreadsPerFlowchart 3m

CNw. N:O:0 k-D CNw. AN<: |k :9eG Vk vTOY. b;*

3 minNumberOfFlowchartThreads 3m

k-D CNw. d; |k :9eG VRvTOY. b;*

10

NO B. Interact 18S /f 8: nO $8 177 minNumberOfProcessBoxThreads 3m

k-D CNw. AN<: |k :9eG VRvTOY. b;*

20

sessionVarPrefix 3m

SessionVar

Interact | CNw. | ExternalCallouts | [ExternalCalloutName]

L =G: \N ]Ft APIN 4 gkZ $G \N ]Ft! kQ ,!: 3$; $ GUOY.

class 3m

L \N ]FtL %COB Java ,!:GL'TOY. IBM Unica Macro EXTERNALCALLOUT8N W<:R v VB Java ,!:T OY. b;*

$GH b;*L x@OY.

classpath 3m

L \N ]FtL %COB Java ,!:G ,!: fNTOY. ,!: fNB 18S /f -vG jar DO; |6X_ UOY. -v Wl; gk _Lgp g 18S -v! ?OQ Marketing Platform; gkOB fl pg -vG jar DO g;L 0:'!! Vn_ UOY. ,!: fNB 18S /f -vG f N 8P b#(9& in, WindowsG

178 IBM Unica Interact: |.Z !Le L ,!: fNB 1024Z L8Ln_ UOY. .jar DOG S: $G DO; g kO) Y% .jar DO; v$X- ,!: fN! .jar DOL O*8 %CGT R v V@OY.

IBM Unica Macro EXTERNALCALLOUT8N W<:R v VB Java ,!:T OY. b;*

$GH b;*L x@OY.

Interact | CNw. | ExternalCallouts | [ExternalCalloutName] | E3 /v %LM | [parameterName]

L =G: \N ]Ft APIN 4 gkZ $G \N ]Ft! kQ E3/v3$; $ GUOY.

value 3m

\N ]FtG ,!:! JdQ E3/vG *TOY. b;*

$GH b;*L x@OY. 9& \N ]Ft! \N -vG #:. L'L JdOi #:.sB E3/v | V& }:Om value nO $8& -v L'8N $GOJC@.

Interact | pOM5

L 8: nO $8 <.N JMX pOM5 3$; $GR v V@OY. JMX pOM5 ; gk _N fl!8 L nO $8& 8:X_ UOY.

Interact pZN /fG 8: nO $8!B AC W @d bO pb! kX $GOB 05G JMX pOM5 nO $8! V@OY.

protocol 3m

Interact ^C! -q:G ANd]; $GUOY. JMXMP& 1COi Y= JAR DO; ,!: fN! Y= x-kN wTX _ UOY. Interact/lib/InteractJMX.jar;Interact/lib/jmxremote_optional.jar

NO B. Interact 18S /f 8: nO $8 179 b;*

JMXMP CY% *

JMXMP | RMI

port 3m

^C! -q:G w. x#TOY. b;*

9998

enableSecurity 3m

Interact 18S -vG ^C! -q: 8H; 3$OE* q0:-OB NoT OY. trueN 3$Oi Interact 18S JMX -q:! W<:R gkZL' z O#& &xX_ UOY. L gkZ ES $8B 18S -vG Marketing Platform!- NuKOY. Jconsole!-B qn VB O# NWNL ckGv J@OY. ANd]L RMIN fl!B L nO $8! F+1 5bL x@OY. Campaign ! kQ JMX(Interact pZN C#)!B L nO $8! F+1 5bL x@ OY. b;*

True CY% *

True | False

Interact | ANDO

L 8: nO $8 <.B @[ &\M !v g$G& wTQ )/ 1C{ @[ &x bI; A.QUOY.

enableScoreOverrideLookup 3m

TrueN 3$Oi

180 IBM Unica Interact: |.Z !Le trueO fl Unica > Interact > ANDO > ks vX >(ks vX) > scoreOverrideTable nO $85 8:X_ UOY. scoreOverrideTable nO $8& JdQ ks vX! kX-8 $GX_ UOY. ks vX! kQ scoreOverrideTable; xi8N Ni ks vX! kQ !v g$G WL mL q0:-KOY. b;*

False CY% *

True | False enableOfferSuppressionLookup 3m

TrueN 3$Oi Interact > ANDO > ks vX >(ks vX) > offerSuppressionTable n O $ 8 5 8 : X _ U OY. enableOfferSuppressionLookup nO $8& JdQ ks vX! kX-8 $GX_ UOY. b;*

False CY% *

True | False enableProfileLookup 3m

InteractG u 3!!-B L nO $8! u LsgkGv J@OY. InteractG wW9LeH 3!!-B 9 x0 hw 'nv L nO $8! /?UOY. k-D CNw.! gkGv8 k-D $N!- JNGv J: WLmG Ne [?TOY. TrueN 3$Oi

trueO fl Unica > Interact > ANDO > ks vX >(ks vX) > profileTable nO $85 8:X_ UOY. k-D $N WLm JN 6}gG f.

NO B. Interact 18S /f 8: nO $8 181 b;*

False CY% *

True | False

defaultOfferUpdatePollPeriod 3m

C:[L b; @[ WLm!- 3CG b; @[& w%L.Ob |! kbO B C#(J)TOY.-1N 3$Oi 18S -v! C[I ' Jb qOL 3C NNeH D C:[L 3CG b; @[& w%L.Ov J@OY. b;*

-1

Interact | ANDO | ks vX | [AudienceLevelName]

L 8: nO $8 <.N _! Interact bI! JdQ WLm L'; $GR v V@ OY. ,|H bI; gk _N fl WLm L'8 $GUOY.

scoreOverrideTable 3m

L ks vX! kQ !v g$G $8& wTQ WLmGL'TOY. L n O $8B enableScoreOverrideLookup; trueN 3$Q fl! {kR v V@OY. !v g$G WLm; gkOABks vX! kX L nO $8& $GX_ UOY. L ks vX! kQ !v g$G WLmL x8i enableScoreOverrideLookupL trueN 3$Gn Vn5 L nO $8& $ GGv J: $N Q v V@OY. InteractB Interact 18S -v! W<:Og prodUserDataSource nO $ 8N $GH m4 WLm!- L WLm; #@OY.

L %LM R:! kQ schema nO $8& $GQ fl!B Interact! L W Lm L' U! schema& _!UOY(9: schema.UACI_ScoreOverride). O |Q L';TBOi(9: mySchema.UACI_ScoreOverride) Interact! :0 6 L'; _!Ov J@OY. b;*

UACI_ScoreOverride

offerSuppressionTable 3m

182 IBM Unica Interact: |.Z !Le L ks vX! kQ @[ &\ $8& wTQ WLmGL'TOY. @[ & \ WLm; gkOABks vX! kX L nO $8& $GX_ UOY. L ks vX! kQ @[ &\ WLmL x8i enableOfferSuppressionLookup L trueN 3$Gn Vn5 L nO $8& $GGv J: $N Q v V@O Y.

InteractB 18S -v! W<:Og prodUserDataSource nO $8N $G H m4 WLm!- L WLm; #@OY. b;*

UACI_BlackList profileTable 3m

InteractG u 3!!-B L nO $8! u LsgkGv J@OY. Interact G wW9LeH 3!!-B 9 x0 hw 'nv L nO $8! /?UOY. L ks vX! kQANDO %LM& wTQ WLmGL'TOY. InteractB 18S -v! W<:Og prodUserDataSource nO $8N $G H m4 WLm!- L WLm; #@OY. L %LM R:! kQ schema nO $8& $GQ fl!B Interact! L W Lm L' U! schema& _!UOY(9: schema.UACI_usrProd). O|Q L ';TBOi(9: mySchema.UACI_usrProd) Interact! :06 L'; _! Ov J@OY. b;*

$GH b;*L x@OY. contactHistoryTable 3m

L ks vX! kQ AC bO %LMG :WL! WLm L'TOY.

L WLm: 18S /f WLm(systemTablesDataSource)! zeKOY.

L %LM R:! kQ schema nO $8& $GQ fl!B Interact! L W Lm L' U! schema& _!UOY(9: schema.UACI_CHStaging). O|Q L';TBOi(9: mySchema.UACI_CHStaging) Interact! :06 L'; _ !Ov J@OY. b;*

UACI_CHStaging

NO B. Interact 18S /f 8: nO $8 183 chOfferAttribTable 3m

L ks vX! kQ AC bO @[ S: WLmGL'TOY.

L WLm: 18S /f WLm(systemTablesDataSource)! zeKOY.

L %LM R:! kQ schema nO $8& $GQ fl!B Interact! L W Lm L' U! schema& _!UOY(9: schema.UACI_CHOfferAttrib). O |Q L';TBOi(9: mySchema.UACI_CHOfferAttrib) Interact! :0 6 L'; _!Ov J@OY. b;*

UACI_CHOfferAttrib

responseHistoryTable 3m

L ks vX! kQ @d bO :WL! WLmGL'TOY. L WLm: 18S /f WLm(systemTablesDataSource)! zeKOY. L %LM R:! kQ schema nO $8& $GQ fl!B Interact! L W Lm L' U! schema& _!UOY(9: schema.UACI_RHStaging). O|Q L';TBOi(9: mySchema.UACI_RHStaging) Interact! :06 L'; _ !Ov J@OY. b;*

UACI_RHStaging

crossSessionResponseTable 3m

@d _{ bI! W<: !IQ AC W @d bO WLmG 3w

L %LM R:! kQ schema nO $8& $GQ fl!B Interact! L W Lm L' U! schema& _!UOY(9: schema.UACI_XSessResponse). O |Q L';TBOi(9: mySchema.UACI_XSessResponse) Interact! :0 6 L'; _!Ov J@OY. b;*

UACI_XSessResponse

184 IBM Unica Interact: |.Z !Le Interact | ANDO | ks vX | [AudienceLevelName] | xC SQL b X @[ L 8: nO $8 <.N _! Interact bI! JdQ WLm L'; $GR v V@ OY. ,|H bI; gk _N fl WLm L'8 $GOi UOY.

enableOffersByRawSQL 3m

TrueN 3$Oi Interact! L ks vXG offersBySQL bI; gkO) g kZ! 18S!xOB D8 @[ <.& }:Ob 'X G`R SQL Ze& 8:R v V@OY. FalseN fl!B Interact! offersBySQL bI; gk Ov J@OY.

L nO $8& trueN 3$OB fl Unica | Interact | ANDO | k s vX |(ks vXl) | xC SQL bX @[ | SQL [C4 nO $ 85 8:O) O* LsG SQL [C4; $GX_ UOY. b;*

False CY% *

True | False

cacheSize 3m

OfferBySQL u.G az& zeOB % gkGB 3CG )bTOY. 3C& gkOi kNPG

-1(X&) CY% *

-1 | *

cacheLifeInMinutes 3m

3C& gkOB fl LB C:[L G?& GOb 'X 3C& vlb |G C#(P); *8@OY. b;*

-1(X&)

NO B. Interact 18S /f 8: nO $8 185 CY% *

-1 | *

defaultSQLTemplate 3m

API #b; kX v$Gv J: fl! gkR SQL [C4GL'TOY. b;*

x=

CY% *

SQL [C4 L'

Interact | ANDO | ks vX | [AudienceLevelName] | SQL [C 4 L 8: nO $8B InteractG offersBySQL bI! gkGB O* LsG SQL u . [C4; $GUOY.

name 3m

L SQL u. [C4! RgOAB L'TOY. API #b!- L SQL [C 4; gkR ' GL VB 3mOB L';TBOJC@. offerBySQL 3. G k-D qO AN<: sZ! $GH L'z ?OQ L'; )b! gkO i )b! TBQ SQL kE AN<: sZG SQLL gkJ! /GOJC@. b;* x=

SQL 3m

L [C48N #bR SQL u.& wTUOY. SQL u.B f.Z

186 IBM Unica Interact: |.Z !Le Interact | ANDO | ks vX | [AudienceLevelName] | ANDO %L M -q: | [DataSource] L 8: nO $8 <.N _! Interact bI! JdQ WLm L'; $GR v V@ OY. ,|H bI; gk _N fl WLm L'8 $GUOY. ANDO %LM -q : |VB pg ks vX! kX }:GB b; &x %LM R:(%LM#L:sm T)M n2 ML l1x'! 1008N g| 8:Gn VBv! kQ $8& &xUOY. Ov8, L& v$OE* q0:-R v V@OY. L |V!B _! \N %LM R: ! kQ [C45 wTKOY. \N %LM -q:sm OB [C4; ,/Oi )b- 3mQ 8:3$; OaR v V@OY.

New category name 3m

(b; %LM#L: Wq!B gkR v x@OY.) $GOm VB %LM R: GL'TOY. )b- TBOB L': 0: ks vX! kX %LM R: g L!- m/X_ UOY. b;* x= CY% *

n2 X:. .Z-Ls5 ckKOY.

enabled 3m

TrueN 3$Gn VB fl, L %LM R: Interact:ZEL RgH ks v X! kX 0:-KOY. FalseN fl Interact!-B L ks vX! kX L %LM R:& gkOv J@OY. b;*

True CY% *

True | False

className 3m

(b; %LM#L: Wq!B gkR v x@OY.) IInteractProfileDataService& 8vOB %LM R: ,!:G O|Q L 'TOY. b;*

NO B. Interact 18S /f 8: nO $8 187 x=

CY% *

O|Q ,!: L'; &xOB .Z-TOY.

classPath 3m

(b; %LM#L: Wq!B gkR v x@OY.) L %LM R: 8v ,! :& NeOb 'Q fN& &xOB 1C{ 8:3$TOY. LM; }+O i wTOB @k ANW% -vG ,!: fN! b;{8N gkKOY. b;*

)b- F+1 *5 TBOv J8i wTOB @k ANW% -vG ,!: f N! %CGvB Jv8 b;{8N gkKOY. CY% *

,!: fN& &xOB .Z-TOY.

priority 3m

L ks vX ;N!- L %LM R:G l1x'TOY. " ks vX! k Q pg%LM R: gL!- m/Q *Ln_ UOY.(o, n2 %LM R: ! kX l1x'! 1008N 3$H fl Xgks vX ;! VBY% % LM R:B W n2 M5 100G l1x'& !z v x@OY.) b;*

b; %LM#L:B 100, gkZ $G %LM R:B 200L b;*TOY. CY% *

=v! FQ n2 $vs5 ckKOY.

Interact | offerserving

L 8: nO $8B O] P@ 8: nO $8& $GUOY.

b; &x P@; gk _N fl P@ 8v; 6$OAi pZN /fG 8: nO $ 8& gkOJC@.

optimizationType 3m

188 IBM Unica Interact: |.Z !Le optimizationType nO $8B Interact! @[ v$; vxRP@ #x; gkOBv )N& $GUOY. NoLearning8N 3$Oi Interact! P@; g kOv J@OY. BuiltInLearning8N 3$Q fl!B Interact! Interact N teH #LvH P@ #x; gkUOY. ExternalLearning8N 3$O i InteractB gkZ! &xQP@ #x; gkUOY. ExternalLearning ; 1COB fl externalLearningClass W externalLearningClassPath nO $8& $GX_ UOY. b;*

NoLearning CY% *

NoLearning | BuiltInLearning | ExternalLearning

segmentationMaxWaitTimeInMS 3m 18S -v! @[& ^b |! k-D CNw.! OaI 'nv kbOB V k C#(P.J)TOY. b;*

5000

treatmentCodePrefix 3m

3. Ze! L. _!GB "NNTOY. b;*

$GH b;*L x@OY.

Interact | offerserving | b; &x P@ 8:

L 8: nO $8B b; &x P@G %LM#L: 2b 3$; $GUOY.

P@ 8v; 6$OAi pZN /fG 8: nO $8& gkOJC@.

insertRawStatsIntervalInMinutes 3m

Interact P@ pbL P@:WL! WLm! u 9: `; pTOb |! k bOB C#(P)TOY. P@ pbL /f!- 3. _N %LM g! {s L C#; v$X_ UOY. b;*

NO B. Interact 18S /f 8: nO $8 189 5

aggregateStatsIntervalInMinutes 3m

Interact P@ pbL P@:WL! WLm! %LM& }hOB gL! kb OB C#(P)TOY. P@ pbL /f!- 3. _N %LM g! {s L C #; v$X_ UOY. b;*

15 CY% *

08Y + $v

Interact | offerserving | \N P@ 8:

L 8: nO $8B P@ API& gkO) 4 \N P@ pbG ,!: 3$; $GU OY.

class 3m

optimizationTypeL ExternalLearning8N 3$H fl externalLearningClass& \N P@ #xG ,!: L'8N 3$OJC@. b;*

$GH b;*L x@OY. !k:

L nO $8B optimizationTypeL ExternalLearning8N 3$H fl! 8 {kR v V@OY.

classPath 3m

optimizationTypeL ExternalLearning8N 3$H fl externalLearningClass& \N P@ #xG ,!: fNN 3$OJC@.

,!: fNB 18S /f -vG jar DO; |6X_ UOY. -v Wl; gk _Lgpg 18S -v! ?OQ Marketing Platform; gkOB fl pg -vG jar DO g;L 0:'!! Vn_ UOY. ,!: fNB 18 S /f -vG fN 8P b#(9& in, WindowsG

190 IBM Unica Interact: |.Z !Le L wTHp:d.B W<:Gv J@OY. 9& in, Unix C:[!- /path1/file1.jar:/path2/file2.jarTOY.

L ,!: fNB 1024Z L8Ln_ UOY. .jar DOG S: $G DO; g kO) Y% .jar DO; v$X- ,!: fN! .jar DOL O*8 %CGT R v V@OY. b;*

$GH b;*L x@OY. !k:

L nO $8B optimizationTypeL ExternalLearning8N 3$H fl! 8 {kR v V@OY.

Interact | offerserving | \N P@ 8: | E3/v %LM | [parameterName]

L 8: nO $8B \N P@ pbG E3/v& $GUOY.

value 3m

\N P@ pbG ,!:! JdQ E3/vG *TOY. b;*

$GH b;*L x@OY. 9&

\N P@ pb! Km.r X. @k ANW%L JdQ fl solverPaths B E3/v |V& }:Om value nO $8& @k ANW%! kQ fN N $GUOY.

Interact | -q:

L |VG 8: nO $8B AC W @d bO %LM& v}Om 18S /f C:[ WLm! L %LM& 8mOm 2B M! kQ kh& |.OB pg -q:G 3$ ; $GUOY.

externalLoaderStagingDirectory 3m L nO $8B %LM#L: Ne /?.

NO B. Interact 18S /f 8: nO $8 191 $GH b;*L x@OY. CY% *

Interact 3! p:d.G sk fN GB :WL! p:d.G}k fN. %LM#L: Ne /?.<& gkOB fl contactHist W responstHist |VG cacheType nO $8& \N Nu DON 3$X_ UOY.

Interact | -q: | contactHist

L |VG 8: nO $8B AC bO :WL! WLm! kQ %LM& v}OB - q:G 3$; $GUOY.

enableLog 3m

trueLi AC bO %LM 9Zy;'X %LM& v}OB -q:! gk KOY. falseN fl!B %LM! v}Gv J@OY. b;*

True CY% *

True | False

cacheType 3m

AC bO;'X v}H%LM! ^p.(^p. 3C) GB DO(\N N u DO)! 8|GBv )N& $GUOY. \N Nu DO: Interact& % LM#L: Nu /?.<& gkO5O 8:Q fl!8 gkR v V@OY. ^p. 3C& 1CQ fl 3C |V 3$; gkOJC@. \N Nu D O; 1COB fl!B fileCache |V 3$; gkOJC@. b;*

^p. 3C

CY% *

^p. 3C | \N Nu DO

Interact | -q: | contactHist | 3C

L |VG 8: nO $8B AC bO :WL! WLm! kQ %LM& v}OB - q:G 3C 3$; $GUOY.

192 IBM Unica Interact: |.Z !Le threshold 3m

flushCacheToDB -q:! %LM#L:! v}H AC bO %LM& 2b | G ){H 9Ze vTOY. b;*

100

insertPeriodInSecs 3m

%LM#L: 2b& -& G`OB #](J)TOY. b;*

3600

Interact | -q: | contactHist | fileCache

L |VG 8: nO $8B %LM#L: Nu /?.<& gk _N fl AC bO %LM& v}OB -q:G 3C 3$; $GUOY.

threshold 3m

flushCacheToDB -q:! %LM#L:! v}H AC bO %LM& 2b | G ){H 9Ze vTOY. b;*

100

insertPeriodInSecs 3m

%LM#L: 2b& -& G`OB #](J)TOY. b;*

3600

Interact | -q: | defaultedStats

L |VG 8: nO $8B s#[k v!! kQ b; .Z-L gkH =v! |Q kh& v}OB -q:G 3$; $GUOY.

NO B. Interact 18S /f 8: nO $8 193 enableLog 3m

trueLi s#[k v!! kQ b; .Z-L UACI_DefaultedStat WLm ! gkH =v! |Q kh& v}OB -q:! gkKOY. falseN fl !B b; .Z- kh! v}Gv J@OY.

IBM 8m& gk _L FOi %LM ]:GL JdOv J8GN L nO $ 8& falseN 3$R v V@OY. b;*

True CY% *

True | False

Interact | -q: | defaultedStats | 3C

L |VG 8: nO $8B s#[k v!! kQ b; .Z-L gkH =v! |Q kh& v}OB -q:G 3C 3$; $GUOY.

threshold 3m

flushCacheToDB -q:! %LM#L:! v}H b; .Z- kh& 2b | G ){H 9Ze vTOY. b;*

100

insertPeriodInSecs 3m

%LM#L: 2b& -& G`OB #](J)TOY. b;*

3600

Interact | -q: | eligOpsStats

L |VG 8: nO $8B {UQ @[! kQ kh& 2B -q:G 3$; $GU OY.

enableLog 3m

194 IBM Unica Interact: |.Z !Le trueLi {UQ @[! |Q kh& v}OB -q:! gkKOY. falseN fl!B {UQ @[ kh! v}Gv J@OY.

IBM 8m& gk _L FOi %LM ]:GL JdOv J8GN L nO $ 8& falseN 3$R v V@OY. b;*

True CY% *

True | False

Interact | -q: | eligOpsStats | 3C

L |VG 8: nO $8B {UQ @[ kh& v}OB -q:G 3C 3$; $G UOY.

threshold 3m

flushCacheToDB -q:! %LM#L:! v}H {UQ @[ kh& 2b | G ){H 9Ze vTOY. b;*

100

insertPeriodInSecs 3m

%LM#L: 2b& -& G`OB #](J)TOY. b;*

3600

Interact | -q: | eventActivity

L |VG 8: nO $8B L%. 0? kh& v}OB -q:G 3$; $GUO Y.

enableLog 3m

trueLi L%. 0? kh& v}OB -q:! gkKOY. falseN fl! B L%. kh! v}Gv J@OY.

NO B. Interact 18S /f 8: nO $8 195 IBM 8m& gk _L FOi %LM ]:GL JdOv J8GN L nO $ 8& falseN 3$R v V@OY. b;*

True CY% *

True | False

Interact | -q: | eventActivity | 3C

L |VG 8: nO $8B L%. 0? kh& v}OB -q:G 3C 3$; $G UOY.

threshold 3m

flushCacheToDB -q:! %LM#L:! v}H L%. 0? kh& 2b | G ){H 9Ze vTOY. b;*

100

insertPeriodInSecs 3m

%LM#L: 2b& -& G`OB #](J)TOY. b;*

3600

Interact | -q: | customLogger

L |VG 8: nO $8B WLm! 5 gkZ $G %LM& v}OB -q:G 3 $; $GUOY(UACICustomLoggerTableName L%. E3/v& gkOB L%.).

enableLog 3m

trueLi WLm! kQ gkZ $G NWbIL gkKOY. falseN fl !B UACICustomLoggerTableName L%. E3/v! {kGv J@OY. b;*

True CY% *

196 IBM Unica Interact: |.Z !Le True | False

Interact | -q: | customLogger | 3C

L |VG 8: nO $8B WLm! 5 gkZ $G %LM& v}OB -q:G 3 C 3$; $GUOY(UACICustomLoggerTableName L%. E3/v& gkOB L %.).

threshold 3m

flushCacheToDB -q:! %LM#L:! v}H gkZ $G %LM& 2b |G ){H 9Ze vTOY. b;*

100

insertPeriodInSecs 3m

%LM#L: 2b& -& G`OB #](J)TOY. b;*

3600

Interact | -q: | responseHist

L |VG 8: nO $8B @d bO :WL! WLm! 2B -q:G 3$; $G UOY.

enableLog 3m

trueLi @d bO :WL! WLm! 2B -q:! gkKOY. falseN f l!B @d bO :WL! WLm! %LM& 2v J@OY. @d bO :WL! WLm: ks vX! kQ responseHistoryTable n O $8N $GKOY. b;*: UACI_RHStagingTOY. b;*

True CY% *

True | False

NO B. Interact 18S /f 8: nO $8 197 cacheType 3m

3C! ^p. GB DO! 8|GBv )N& $GUOY. \N Nu DO : Interact& %LM#L: Nu /?.<& gkO5O 8:Q fl!8 gk R v V@OY.

^p. 3C& 1CQ fl 3C |V 3$; gkOJC@. \N Nu D O; 1COB fl!B fileCache |V 3$; gkOJC@. b;*

^p. 3C

CY% *

^p. 3C | \N Nu DO

Interact | -q: | responseHist | 3C

L |VG 8: nO $8B @d bO %LM& v}OB -q:G 3C 3$; $G UOY.

threshold 3m

flushCacheToDB -q:! %LM#L:! v}H @d bO %LM& 2b | G ){H 9Ze vTOY. b;*

100

insertPeriodInSecs 3m

%LM#L: 2b& -& G`OB #](J)TOY. b;*

3600

Interact | -q: | responseHist | fileCache

L |VG 8: nO $8B %LM#L: Nu /?.<& gk _N fl @d bO %LM& v}OB -q:G 3C 3$; $GUOY.

198 IBM Unica Interact: |.Z !Le threshold 3m

Interact! %LM#L:! 9Ze& 2b |G ){H 9Ze vTOY.

responseHist - ks vX! kQ responseHistoryTable nO $8N $ GH WLmTOY. b;*: UACI_RHStagingTOY. b;*

100

insertPeriodInSecs 3m

%LM#L: 2b& -& G`OB #](J)TOY. b;*

3600

Interact | -q: | crossSessionResponse

L |VG 8: nO $8B crossSessionResponse -q:M xsession AN<:GO ] 3$; $GUOY. Interact 3w

enableLog 3m

trueLi crossSessionResponse -q:! gkGm InteractB 3w

False

xsessionProcessIntervalInSecs 3m

xsession AN<:G G` #](J)TOY. L AN<:B 3w

180 CY% *

NO B. Interact 18S /f 8: nO $8 199 08Y + $v

purgeOrphanResponseThresholdInMinutes 3m

crossSessionResponse -q:! AC W @d bO WLmG AC! O!Ov JB @d; %COb |! kbOB C#(P)TOY. AC W @d bO WLmG@dLO!Ov J8i purgeOrphanResponseThresholdInMinutesP D InteractB xSessResponse :WL! WLmG %C -! -1 *8N @d; %CUOY. W/i gkZB v?8N L@d;O!C0E* h&R v V@OY. b;*

180

Interact | -q: | crossSessionResponse | 3C

L |VG 8: nO $8B 3w

threshold 3m

flushCacheToDB -q:! %LM#L:! v}H 3w

100

insertPeriodInSecs 3m

XSessResponse WLm! 25O -& G`OB #](J)TOY. b;*

3600

Interact | -q: | crossSessionResponse | OverridePerAudience | [AudienceLevel] | TrackingCodes | byTreatmentCode

L =GG nO $8B 3w

200 IBM Unica Interact: |.Z !Le SQL 3m

L nO $8B Interact! C:[ }: SQL GB OverrideSQL nO $8! $GH gkZ $G SQL; gkOBv )N& $GUOY. b;*

C:[ }: SQL gk CY% *

C:[ }: SQL gk | SQL g$G

OverrideSQL 3m

AC W @d bO! 3. Ze& O!C0b 'X b; SQL mI; gkOv JB fl SQL GB :dne ANCz& )b! TBOJC@. SQLL C:[ }: SQL gk8N 3$H fl!B L *L +CKOY. b;* useStoredProcedure 3m

trueN 3$Oi AC W @d bO! 3. Ze& O!C0B :dne AN Cz! kQ |6! OverrideSQL! wTGn Vn_ UOY. falseN 3$OB fl!B OverrideSQLL SQL u.)_ UOY(gkH f l). b;*

false CY% *

true | false

Type 3m

18S /f WLmG UACI_TrackingType WLm! $GH ,|LVB TrackingCodeTypeTOY. UACI_TrackingType WLm; v$OB fl! F Oi Type: 1Ln_ UOY. b;*

1

NO B. Interact 18S /f 8: nO $8 201 CY% *

UACI_TrackingType WLm! $GH $v

Interact | -q: | crossSessionResponse | OverridePerAudience | [AudienceLevel] | TrackingCodes | byOfferCode

L =GG nO $8B 3w

SQL 3m

L nO $8B Interact! C:[ }: SQL GB OverrideSQL nO $8! $GH gkZ $G SQL; gkOBv )N& $GUOY. b;*

C:[ }: SQL gk CY% *

C:[ }: SQL gk | SQL g$G

OverrideSQL 3m

AC W @d bO!@[ Ze& O!C0b 'X b; SQL mI; gkO v JB fl SQL GB :dne ANCz& )b! TBOJC@. SQLL C:[ }: SQL gk8N 3$H fl!B L *L +CKOY. b;*

useStoredProcedure 3m

trueN 3$Oi AC W @d bO!@[ Ze& O!C0B :dne AN Cz! kQ |6! OverrideSQL! wTGn Vn_ UOY.

falseN 3$OB fl!B OverrideSQLL SQL u.)_ UOY(gkH f l). b;*

false CY% *

true | false

202 IBM Unica Interact: |.Z !Le Type 3m

18S /f WLmG UACI_TrackingType WLm! $GH ,|LVB TrackingCodeTypeTOY. UACI_TrackingType WLm; v$OB fl! F Oi Type: 2)_ UOY. b;*

2 CY% *

UACI_TrackingType WLm! $GH $v

Interact | -q: | crossSessionResponse | OverridePerAudience | [AudienceLevel] | TrackingCodes | byAlternateCode

L =GG nO $8B 3w

Name 3m

L nO $8Bk< ZeGL'; $GUOY. 18S /f WLmG UACI_TrackingType WLm! VB L' *z O!X_ UOY. b;*

OverrideSQL 3m

@[ Ze* 3. ZeN AC W @d bO! k< Ze& O!C3 SQL m I GB :dne ANCzTOY. b;*

useStoredProcedure 3m

trueN 3$Oi AC W @d bO! k< Ze& O!C0B :dne AN Cz! kQ |6! OverrideSQL! wTGn Vn_ UOY. falseN 3$OB fl!B OverrideSQLL SQL u.)_ UOY(gkH f l). b;*

false

NO B. Interact 18S /f 8: nO $8 203 CY% *

true | false

Type 3m

18S /f WLmG UACI_TrackingType WLm! $GH ,|LVB TrackingCodeTypeTOY. b;*

3 CY% *

UACI_TrackingType WLm! $GH $v

Interact | -q: | threadManagement | contactAndResponseHist

L |VG 8: nO $8B AC W @d bO :WL! WLm! kQ %LM& v} OB -q:G :9e |. 3$; $GUOY.

corePoolSize 3m

AC W @d bO %LM v};'X.! 8|R :9e vTOY(/^ s B5 wT). b;*

5

maxPoolSize 3m

AC W @d bO %LM v};'X.! 8|R :9eG Vk vTOY. b;*

5

keepAliveTimeSecs 3m

:9e v! Zn8Y + fl LB AC W @d bO %LM v};'Q J z /^ :9e! >a |! u [w; kbR Vk C#TOY. b;*

5

204 IBM Unica Interact: |.Z !Le queueCapacity 3m

AC W @d bO %LM v};'Q :9e .! gkGBkb-G )bT OY. b;*

1000

termWaitSecs 3m

18S -v >a C LB -q::9e! AC W @d bO %LM v}; OaR 'nv kbR C#(J)TOY. b;*

5

Interact | -q: | threadManagement | allOtherServices

L |VG 8: nO $8B @[ Z] kh, L%. 0? kh, b; .Z- gk k h, WLm %LM! kQ gkZ $G NW& v}OB -q:G :9e |. 3$; $GUOY.

corePoolSize 3m

@[ Z] kh, L%. 0? kh, b; .Z- gk kh, WLm %LM! kQ gkZ $G NW& v}OB -q:G, .! 8|R :9e vTOY(/ ^ sB5 wT). b;*

5

maxPoolSize 3m

@[ Z] kh, L%. 0? kh, b; .Z- gk kh, WLm %LM! kQ gkZ $G NW& v}OB -q:G, .! 8|R Vk :9e vTO Y. b;*

5

NO B. Interact 18S /f 8: nO $8 205 keepAliveTimeSecs 3m

:9e v! Zn8Y + fl LB @[ Z] kh, L%. 0? kh, b; .Z- gk kh, WLm %LM! kQ gkZ $G NW& v}OB -q: G JzH /^ :9e! >a |! u [w; kbOB Vk C#TOY. b;*

5

queueCapacity 3m

@[ Z] kh, L%. 0? kh, b; .Z- gk kh, WLm %LM! kQ gkZ $G NW& v}OB -q:G :9e .! gkGBkb-G ) bTOY. b;*

1000

termWaitSecs 3m

18S -v >a C LB @[ Z] kh, L%. 0? kh, b; .Z- g k kh, WLm %LM! kQ gkZ $G NW& v}OB -q:G -q: :9e! OaI 'nv kbOB C#(J)TOY. b;*

5

Interact | -q: | threadManagement | flushCacheToDB

L |VG 8: nO $8B 3CG v}H%LM& 18S /f %LM#L: WLm ! 2B :9eG :9e |. 3$; $GUOY.

corePoolSize 3m

3CH%LM& %LM zeR! 2B 9`H :9eG .! 8|R :9e v TOY. b;*

5

206 IBM Unica Interact: |.Z !Le maxPoolSize 3m

3CH%LM& %LM zeR! 2B 9`H :9eG .! 8|R :9eG Vk vTOY. b;*

5

keepAliveTimeSecs 3m

:9e v! Zn8Y + fl LB 3CH%LM& %LM zeR! 2B 9 `H :9eG Jz /^ :9e! >a | u [w; kbOB Vk C#TO Y. b;*

5

queueCapacity 3m 3CH%LM& %LM zeR! 2B 9`H :9eG :9e .! gkGB kb-G )bTOY. b;*

1000

termWaitSecs 3m 18S -v >a C LB 3CH%LM& %LM zeR! 2B 9`H :9 eG -q::9e! OaI 'nv kbR C#(J)TOY. b;*

5

Interact | sessionManagement

L 8: nO $8 <.B 18S

cacheType 3m

18S -vG 3C "Y /|; $GUOY.

NO B. Interact 18S /f 8: nO $8 207 b;*

v*

CY% *

hw | v*

maxNumberOfSessions 3m

n@ Q C!! 3C! 8/GB 18S

999999999 CY% *

08Y + $v

multicastIPAddress 3m

cacheTypeL hwLi hwH 3C! gkH IP VR& TBOJC@. multicastPort5 $GX_ UOY. cacheTypeL v*N fl!B multicastIPAddress& $GGv J: $N Q v V@OY. b;*

230.0.0.1 CY% *

CY% IP VR

multicastPort 3m

cacheTypeL hwLi hwH 3C! gkH w. x#& TBOJC@. multicastIPAddress5 $GX_ UOY. cacheTypeL v*N fl!B multicastPort& $GGv J: $N Q v V@OY. b;*

6363

208 IBM Unica Interact: |.Z !Le CY% *

1024 – 49151 sessionTimeoutInSecs 3m

aUOY. b;*

300 CY% *

08Y + $v

NO B. Interact 18S /f 8: nO $8 209 210 IBM Unica Interact: |.Z !Le NO C. Interact pZN /f 8: nO $8

L =G!-B Interact pZN /f! kQ pg 8: nO $8& 3mUOY.

Campaign | partitions | partition[n] | reports

L 8: nO $8B 8m-G zu& $GUOY.

offerAnalysisTabCachedFolder 3m

offerAnalysisTabCachedFolder nO $8B =v PR"!- P. 5)& ,/Oi %CGB P. G! *-Gn VB v:.H(.eH) @[ 8m-G : e; wTQ zuG'!& v$UOY. XPath %b}; gkO) fN! v$ KOY. b;*

/content/folder[@name='Affinium Campaign - Object Specific Reports']/folder[@name='offer']/folder[@name='cached']

segmentAnalysisTabOnDemandFolder 3m

segmentAnalysisTabOnDemandFolder nO $8B

/content/folder[@name='Affinium Campaign - Object Specific Reports']/folder[@name='segment']/folder[@name='cached']

offerAnalysisTabOnDemandFolder 3m

offerAnalysisTabOnDemandFolder nO $8B @[G P. G! *-H @ [ 8m-& wTQ zuG'!& v$UOY. XPath %b}; gkO) fN ! v$KOY. b;*

/content/folder[@name='Affinium Campaign - Object Specific Reports']/folder[@name='offer']

© Copyright IBM Corp. 2001, 2012 211 segmentAnalysisTabCachedFolder 3m

segmentAnalysisTabCachedFolder nO $8B =v PR"!- P. 5) & ,/Oi %CGB P. G! *-Gn VB v:.H(.eH)

/content/folder[@name='Affinium Campaign - Object Specific Reports']/folder[@name='segment']

analysisSectionFolder 3m

analysisSectionFolder nO $8B 8m- ggLzeH g.zuG' !& v$UOY. XPath %b}; gkO) fN! v$KOY. b;*

/content/folder[@name='Affinium Campaign']

campaignAnalysisTabOnDemandFolder 3m

campaignAnalysisTabOnDemandFolder nO $8B 7dNG P. G! * -H 7dN 8m-& wTQ zuG'!& v$UOY. XPath %b}; gk O) fN! v$KOY. b;*

/content/folder[@name='Affinium Campaign - Object Specific Reports']/folder[@name='campaign']

campaignAnalysisTabCachedFolder 3m

campaignAnalysisTabCachedFolder nO $8B =v PR"!- P. 5 )& ,/Oi %CGB P. G! *-Gn VB v:.H(.eH) 7dN 8 m-G :e; wTQ zuG'!& v$UOY. XPath %b}; gkO) f N! v$KOY. b;*

/content/folder[@name='Affinium Campaign - Object Specific Reports']/folder[@name='campaign']/folder[@name='cached']

212 IBM Unica Interact: |.Z !Le campaignAnalysisTabEmessageOnDemandFolder 3m

campaignAnalysisTabEmessageOnDemandFolder nO $8B 7dNG P. G! *-H eMessage 8m-& wTQ zuG'!& v$UOY. XPath % b}; gkO) fN! v$KOY. b;*

/content/folder[@name='Affinium Campaign']/folder[@name='eMessage Reports']

campaignAnalysisTabInteractOnDemandFolder 3m

Interact 8m-G 8m--v zu .Z-TOY. b;*

/content/folder[@name='Affinium Campaign']/folder[@name='Interact Reports'] !k:

L nO $8B Interact& 3!Q fl!8 {kR v V@OY.

interactiveChannelAnalysisTabOnDemandFolder 3m

k-D $N P. G 8m-G 8m--v zu .Z-TOY. b;*

/content/folder[@name='Affinium Campaign - Object Specific Reports']/ folder[@name='interactive channel'] !k:

L nO $8B Interact& 3!Q fl!8 {kR v V@OY.

Campaign | partitions | partition[n] | Interact | contactAndResponseHistTracking

L 8: nO $8B Interact AC W @d bO pbG 3$; $GUOY.

isEnabled 3m

NO C. Interact pZN /f 8: nO $8 213 9N 3$Oi Interact 18SG :WL! WLm!- Campaign AC W @ d bO WLmN Interact AC W @d bO; 9gOB Interact AC W @ d bO pbL 3$KOY. interactInstalled nO $85 9N 3$X_ UOY. b;*

FOd

CY% *

9 | FOd !k:

L nO $8B Interact& 3!Q fl!8 {kR v V@OY.

runOnceADay 3m

AC W @d bO ETL; Og! Q x G`Rv )N& v$UOY. L nO $8& 9N 3$Oi preferredStartTime W preferredEndTime! v$ Gn VB 9`H #] ?H ETLL G`KOY. ETL; G`OB % 24C#L QT RdGn Y= /G C[ C#; u# f l!B Xg O; GJYm W Y= / 9`H C#! G`KOY. 9& in, ETLL 1AM - 3AM gL! G`O5O 8:Gn Vm AN<:! ydO 1AM! C[Gn -dO 2AM!OaGi, x! -dO 1AM8N 9`H Y = G`; GJYm vdO 1AM! Y= ETLL C[KOY. ETL 9`:O$ }` C# /f; 3mOv J@OY. 9& in, ETLL 1AM - 3AM gL! G`O5O 9`H fl DST /fL _}Oi 12AM GB 2AM! G`I v V@OY. b;*

FOd

!k:

L nO $8B Interact& 3!Q fl!8 {kR v V@OY.

processSleepIntervalInMinutes 3m

Interact 18S :WL! WLm!- Campaign AC W @d bO WLmN %LM& 9gOB ?H Interact AC W @d bO pbL kbOB C#(P) TOY. b;*

214 IBM Unica Interact: |.Z !Le 60 CY% *

08Y + $v !k:

L nO $8B Interact& 3!Q fl!8 {kR v V@OY. preferredStartTime 3m

OO ETL AN<:& C[R 1#OB C#TOY. L nO $8B preferredEndTime nO $8M T2 gkGn ETL; G`R 1#OB C# #]; 3 $ U OY. ETLL v$H C ##]_ ! C [ G g maxJDBCFetchBatchSize& gkO) v$Q Vk vG 9Ze& 3.UOY. |D: 12C# Ch& gkQ HH:mm:ss AM GB PMTOY. b;*

12:00:00 AM !k:

L nO $8B Interact& 3!Q fl!8 {kR v V@OY. preferredEndTime 3m

OO ETL AN<:& OaR 1#OB C#TOY. L nO $8B preferredStartTime nO $8M T2 gkGn ETL; G`R 1#OB C# #]; 3 $ U OY. ETLL v$H C ##]_ ! C [ G g maxJDBCFetchBatchSize& gkO) v$Q Vk vG 9Ze& 3.UOY. |D: 12C# Ch& gkQ HH:mm:ss AM GB PMTOY. b;*

2:00:00 AM !k:

L nO $8B Interact& 3!Q fl!8 {kR v V@OY. purgeOrphanResponseThresholdInMinutes 3m

Xg ACL xB @dL &EI 'nv Interact AC W @d bO pbL k bOB C#(P)TOY. AC Nk xL@d; NkOv J5O UOY. b;*

NO C. Interact pZN /f 8: nO $8 215 180 CY% *

08Y + $v !k:

L nO $8B Interact& 3!Q fl!8 {kR v V@OY.

maxJDBCInsertBatchSize 3m

u.& ?TOb | JDBC O}3.G Vk 9Ze vTOY. L vB Interact @d W bO pbL Q ]9!- 3.OB Vk 9Ze v! FUOY. " ] 9 _ Interact AC W @d bO pb: :WL! WLm!- gk !IQ p g 9Ze& 3.UOY. Ov8 L pg 9ZeB maxJDBCInsertSize ;) N PRKOY. b;*

1000 CY% *

08Y + $v !k:

L nO $8B Interact& 3!Q fl!8 {kR v V@OY.

maxJDBCFetchBatchSize 3m

:WL! %LM#L:!- d!R JDBC O}3.G Vk 9Ze vTOY. A C W @d bO pbG :I 6$;'X L *; CA_ R v V@OY. 9& in, 2508 AC bO9Ze& Og! 3.OAi maxJDBCFetchBatchSize& 2.5M8Y + vN 3$X_ OgG pg 9Ze ! 3.KOY. W1 Y= maxJDBCFetchChunkSize W maxJDBCInsertBatchSize& 8Y [ : *8N 3$R v V@OY(L 9&!-B "" 50,000 W 10,0008N). Y = /GON 9Ze5 3.I v Vv8 Y= /nv 8/KOY. b;*

1000 CY% *

08Y + $v

216 IBM Unica Interact: |.Z !Le maxJDBCFetchChunkSize 3m

ETL(_b, //, Ne) _ P: %LM JDBC ;))bG Vk vTOY. O N fl pT )b8Y + ;))b! ETL AN<:G S5& 31R v V @OY. b;*

1000 CY% *

08Y + $v deleteProcessedRecords 3m

AC bO W @d bO9Ze& 3.Q D 8/Rv )N& v$UOY. b;* 9 completionNotificationScript 3m

ETLL OaI ' G`R :)3.G}k fN& v$UOY. :)3.& v $Oi W 3GNv o, C[ C#, >a C#, 3.Q Q CH 9Ze v, 3 .Q Q RH 9Ze v! Oa xv :)3.N |^KOY. C[ C#z >a C#: 1970 LDG fzH P.J v& *8;B }Z *TOY. b;* x= fetchSize 3m

:WL! WLm!- 9Ze& KvR ' JDBC fetchSize& 3$O5O UO Y.

/w Oracle %LM#L:!-B JDBC!"W.v) sne.36Y KvX _ OB 9Ze vN 3$; 6$OJC@. 100K! QBkTp O}3.G f l!B 10000; C5X8JC@. )b! J+ + *; gkOi ^p. gk .!5b; L!m rB LfL gROGN )T .&! Gv JBYi J+ + *; gkOv J5O VGOJC@. b;*

NO C. Interact pZN /f 8: nO $8 217 x=

Campaign | partitions | partition[n] | Interact | contactAndResponseHistTracking | runtimeDataSources | [runtimeDataSource]

L 8: nO $8B Interact AC W @d bO pbG %LM R:& $GUOY.

jndiName 3m

systemTablesDataSource nO $8& gkO) Interact 18S WLmG@ k ANW% -v(Websphere GB WebLogic)! $GH JNDI(Java Naming and Directory Interface) %LM R:& D0OJC@. Interact 18S %LM#L:B aci_runtime W aci_populate_runtime dll :)3.N $vx %LM#L:Lg 9& in, )/ WLm _ Y= UACI_CHOfferAttrib W UACI_DefaultedStat WLm; wTUOY. b;*

$GH b;*L x@OY. !k:

L nO $8B Interact& 3!Q fl!8 {kR v V@OY.

databaseType 3m

Interact 18S %LM R:G %LM#L: /|TOY. b;*

SQLServer CY% *

SQLServer | Oracle | DB2 !k:

L nO $8B Interact& 3!Q fl!8 {kR v V@OY.

schemaName 3m

AC W @d bO pb :WL! WLm; wTQ :06GL'TOY. LL ': 18S /f WLmGL'z ?OX_ UOY. :06& $GRJdB x@OY.

218 IBM Unica Interact: |.Z !Le b;*

$GH b;*L x@OY.

Campaign | partitions | partition[n] | Interact | contactAndResponseHistTracking | contactTypeMappings

L 8: nO $8B 8m GB P@;'X 'AC'8N JNOB 7dNG AC /|; $GUOY.

contacted 3m

@[ ACG Campaign C:[WLm!- UA_DtlContactHist WLmG ContactStatusID -! RgH *TOY. L *: UA_ContactStatus WL mG CY% WqLn_ UOY. AC /| _!! kQ

2 CY% *

08Y + $v !k:

L nO $8B Interact& 3!Q fl!8 {kR v V@OY.

Campaign | partitions | partition[n] | Interact | contactAndResponseHistTracking | responseTypeMappings

L 8: nO $8B 8m W P@! kQ vtGB ENG@d; $GUOY.

accept 3m

vtH @[G Campaign C:[WLm! VB UA_ResponseHistory WL mG ResponseTypeID -! RgH *TOY. L *: UA_UsrResponseType WLmG CY% WqLn_ UOY. CountsAsResponse -! 1, @d; R gX_ UOY. @d /| _!! kQ

3

NO C. Interact pZN /f 8: nO $8 219 CY% *

08Y + $v !k:

L nO $8B Interact& 3!Q fl!8 {kR v V@OY.

reject 3m

ENH @[G Campaign C:[WLm! VB UA_ResponseHistory WL mG ResponseTypeID -! RgH *TOY. L *: UA_UsrResponseType WLmG CY% WqLn_ UOY. CountsAsResponse -! 2, EN& R gX_ UOY. @d /| _!! kQ

8 CY% *

08Y + $v !k:

L nO $8B Interact& 3!Q fl!8 {kR v V@OY.

Campaign | partitions | partition[n] | Interact | report

L 8: nO $8B CognosM s#[kR ' 8m- L'; $GUOY.

interactiveCellPerformanceByOfferReportName 3m

@[ 8m-G k-D ?:zGL'TOY. LL': Cognos -vGL8 m- L'z O!X_ UOY. b;*

@[0 k-D ?:z

treatmentRuleInventoryReportName 3m

3. T" N%d. 8m-GL'TOY. LL': Cognos -vGL8m - L'z O!X_ UOY. b;*

220 IBM Unica Interact: |.Z !Le $N 3. T" N%d.

deploymentHistoryReportName 3m

hw bO 8m-u 8m-GL'TOY. LL': Cognos -vGL8m - L'z O!X_ UOY. b;*

$N hw bO

Campaign | partitions | partition[n] | Interact | learning

L 8: nO $8B b; &x P@ pb; 6$UOY.

confidenceLevel 3m =v!- Lk8N |/Ob | P@ /?.<& s6* JdN OBv$5& *8;B q2TOY.0*: gGs =v; >aUOY. L nO $8B Interact 18SG Interact > offerserving > optimizationType nO $8! BuiltInLearning8N 3$H fl!8 { kR v V@OY. b;*

95 CY% *

5N *- v VB 0z 95 gLG $v GB 99

enableLearning 3m

9N 3$Oi Interact pZN C#! P@; gkR M8N 9sUOY. enableLearning; 9N 3$OB fl Interact > offerserving > optimizationType; BuiltInLearning GB ExternalLearning8N 8: X_ UOY.

FOdN 3$Oi Interact pZN C#! P@; gkOv J; M8N 9 sUOY. enableLearning; FOdN 3$OB fl!B Interact > offerserving > optimizationType; NoLearning8N 8:X_ UOY. b;* FOd

NO C. Interact pZN /f 8: nO $8 221 maxAttributeNames 3m

Interact P@ /?.

L nO $8B Interact 18SG Interact > offerserving > optimizationType nO $8! BuiltInLearning8N 3$H fl!8 { kR v V@OY. b;*

10 CY% *

SGG $v

maxAttributeValues 3m

Interact P@ pbL " P@ S:! kX _{OB *G Vk!TOY. L nO $8B Interact 18SG Interact > offerserving > optimizationType nO $8! BuiltInLearning8N 3$H fl!8 { kR v V@OY. b;*

5

otherAttributeValue 3m

maxAttributeValues& ~n- pg S: *; %COB % gkH S: * G b; L'TOY. L nO $8B Interact 18SG Interact > offerserving > optimizationType nO $8! BuiltInLearning8N 3$H fl!8 { kR v V@OY. b;*

b8

CY% *

.Z- GB }Z 9&

maxAttributeValues! 38N 3$Gm otherAttributeValue! b8N 3$Gi P@ pb: 3= < 3G *; _{UOY. Y%pg *: b8 |V! Rg

222 IBM Unica Interact: |.Z !Le KOY. 9& in, f.Z S: p_ vs; _{ _Lg 3= Y8 m f. ZG p_ vsL K:v, %v, ]_, !#v, 8vLi P@ /?.

P@ pbL +[' @[& &COB C#G iP2TOY. 9& in, percentRandomSelection; 5N 3$Oi P@ pbL C#G 5%(|< 100 G egW _ 5)!8 +[' @[& &CT;GLUOY. b;*

5 CY% *

0 - 100G $v recencyWeightingFactor 3m

recencyWeightingPeriodN $GH%LM <.G 10xv iP2 %CTO Y. 9& in, b;* .15B P@ /?. offerserving > optimizationType nO $8! BuiltInLearning8N 3$H fl!8 { kR v V@OY. b;*

0.15 CY% *

1 L8G 10xv * recencyWeightingPeriod 3m

P@ pbL recencyWeightingFactor q2G !_!& N)Q %LMG C # )bTOY. 9& in, b;* 120: P@ pb! gkH%LMG recencyWeightingFactor! v- 120C#! *B MS; GLUOY. L nO $8B optimizationTypeL builtInLearning8N 3$H fl! 8 {kR v V@OY. b;*

NO C. Interact pZN /f 8: nO $8 223 120

minPresentCountThreshold 3m

%LM!hj! gkGm P@ pbL =v! in-b |!@[& &CX_ OB VR =vTOY. b;*

0 CY% *

0 LsG $v

enablePruning 3m

9N 3$Oi Interact P@ pbL P@ S:(%X GB ?{)L 9xGv J B Cb& Km.r fD8N G0UOY. P@ S:L 9xGv J8i P@ pb: @[G !_!& G0R ' L S:; mAOv J@OY. LB P@ p bL P@ %LM& }hR 'nv hSKOY. FOdN 3$OB fl!B P@ pbL Ws pg P@ S:; gkUOY. 9xGv JB S:; $.Ov J8i P@ pbL VkQ8N $.Xz v x @OY. b;* 9 CY% *

9 | FOd

Campaign | partitions | partition[n] | Interact | learning | learningAttributes | [learningAttribute]

L 8: nO $8B P@ S:; $GUOY.

attributeName 3m

" attributeName: P@ pb; pOMOAB f.Z S:GL'TOY. < G %LMGL'-* VGL'z O!X_ UOY. L nO $8B Interact 18SG Interact > offerserving > optimizationType nO $8! BuiltInLearning8N 3$H fl!8 { kR v V@OY.

224 IBM Unica Interact: |.Z !Le b;*

$GH b;*L x@OY.

Campaign | partitions | partition[n] | Interact | deployment

L nO $8B hw 3$; $GUOY.

chunkSize 3m

" Interact hwP0vG Vk\m- )b(KB)TOY. b;*

500 !k:

L nO $8B Interact& 3!Q fl!8 {kR v V@OY.

Campaign | partitions | partition[n] | Interact | serverGroups | [serverGroup]

L nO $8B -v Wl 3$; $GUOY.

serverGroupName 3m

Interact 18S -v WlGL'TOY. k-D $N d` G! %CGB L 'TOY. b;*

$GH b;*L x@OY. !k:

L nO $8B Interact& 3!Q fl!8 {kR v V@OY.

Campaign | partitions | partition[n] | Interact | serverGroups | [serverGroup] | instanceURLs | [instanceURL]

L 8: nO $8B Interact 18S -v& $GUOY.

instanceURL 3m

NO C. Interact pZN /f 8: nO $8 225 Interact 18S -vG URLTOY. -v Wl: )/ Interact 18S -v& wTR v Vv8 " -v& u |V F!! }:X_ UOY. b;*

$GH b;*L x@OY. 9&

http://server:port/interact !k:

L nO $8B Interact& 3!Q fl!8 {kR v V@OY.

Campaign | partitions | partition[n] | Interact | flowchart

L 8: nO $8Bk-D CNw.G W:. G`! gkGB Interact 18S /f ; $GUOY.

serverGroup 3m

W:. G`; G`R ' Campaign! gkGB Interact -v WlGL'T OY. LL': serverGroups F!! }:OB |V L'z O!X_ UO Y. b;*

$GH b;*L x@OY. !k:

L nO $8B Interact& 3!Q fl!8 {kR v V@OY.

dataSource 3m

k-D CNw.G W:. G`; v`R ' gkR CampaignG 0.{ %L M R:& D0OAi dataSource nO $8& gkOJC@. L nO $8 B Interact pZN C#! kX $GH W:. G` %LM R:G Campaign > partitions > partitionN > dataSources nO $8! $GH%LM R:M O!X_ UOY. b;*

$GH b;*L x@OY. !k:

L nO $8B Interact& 3!Q fl!8 {kR v V@OY.

226 IBM Unica Interact: |.Z !Le Campaign | partitions | partition[n] | Interact | whiteList | [AudienceLevel] | DefaultOffers

L 8: nO $8B b; @[ WLmG b; ? Ze& $GUOY. |*@[ v$ ; $GOm VB fl!8 L nO $8& 8:X_ UOY.

DefaultCellCode 3m

b; @[ WLm! ? Ze& $GOv J: fl Interact! gkGB b; ? ZeTOY. b;*

$GH b;*L x@OY. CY% *

Campaign! $GH ? Ze |D! O!OB .Z- !k:

L nO $8B Interact& 3!Q fl!8 {kR v V@OY.

Campaign | partitions | partition[n] | Interact | whiteList | [AudienceLevel] | offersBySQL

L 8: nO $8B offersBySQL WLmG b; ? Ze& $GUOY. SQL u.& gkO)xOB D8 @[ <.& rB fl!8 L nO $8& 8:X_ UOY.

DefaultCellCode 3m

b; ? Ze InteractB ? Ze -! N*LVB(GB ? Ze -L|N ) tH fl) OffersBySQL WLmG pg @[! gkKOY. L *: CY% ? Ze)_ UOY. b;*

$GH b;*L x@OY. CY% *

Campaign! $GH ? Ze |D! O!OB .Z- !k:

L nO $8B Interact& 3!Q fl!8 {kR v V@OY.

NO C. Interact pZN /f 8: nO $8 227 Campaign | partitions | partition[n] | Interact | whiteList | [AudienceLevel] | ScoreOverride

L 8: nO $8B !v g$G WLmG b; ? Ze& $GUOY. 30 @[ v $; $GOm VB fl!8 L nO $8& 8:X_ UOY.

DefaultCellCode 3m

!v g$G WLm! ? Ze& $GOv J: fl Interact! gkGB b; ? ZeTOY. b;*

$GH b;*L x@OY. CY% *

Campaign! $GH ? Ze |D! O!OB .Z- !k:

L nO $8B Interact& 3!Q fl!8 {kR v V@OY.

Campaign | partitions | partition[n] | server | internal

L |VG nO $8B 1CH Campaign D

internalIdLowerLimit 3m

internalIdUpperLimit W internalIdLowerLimit nO $8B Campaign ;N ID& v$H |' ;N &QUOY. Campaign! OQ W sQL pN gkI v VB wT{ *S! /GOJC@. b;*

0(5)

internalIdUpperLimit 3m

internalIdUpperLimit W internalIdLowerLimit nO $8B Campaign ;N ID& v$H |' ;N &QUOY. Campaign! OQ W sQL pN gkI v VB wT{ *S! /GOJC@.

228 IBM Unica Interact: |.Z !Le b;*

4294967295 eMessageInstalled 3m

eMessage! 3!J; %CUOY. 9& 1COi eMessage bIL Campaign NMdL:!- gk !IUOY.

IBM 3! ANW%: eMessage 3!G b; D

9 | FOd interactInstalled 3m

Interact pZN /f; 3!Q D Campaign!- Interact pZN /f; gk OAi L 8: nO $8& 9N 3$X_ UOY. Interact& 3!Ov JR8i FOdN 3$OJC@. L nO $8& FO dN 3$X5 Interact ^:MIG: gkZNMdL:!- &EGv J@ OY. ^:MIG; &EOAi configTool /?.<& gkO) Interact& v?8N nO X&X_ UOY. b;* FOd CY% *

9 | FOd !k:

L nO $8B Interact& 3!Q fl!8 {kR v V@OY.

MO_UC_integration 3m

L D

NO C. Interact pZN /f 8: nO $8 229 X_ UOY. L kU 8:! kQ Z

FOd

CY% *

9 | FOd

MO_UC_BottomUpTargetCells 3m

L D

9 | FOd

Legacy_campaigns 3m

MO_UC_integration nO $8! 9N 3$Gi Legacy_campaigns nO $8B Campaign 7.x! }:H 7dNz Plan 7.x AN'.! 5)H 7dN ; wTO), kU; gkOb | }:H 7dN! kQ W<:& gk !IO T UOY. L kU 8:! kQ Z

FOd

CY% *

9 | FOd

IBM Unica® Marketing Operations - Offer kU 3m

Marketing Operations& gkO) L D 8: > Unica > C'{!- 7dN kU;

230 IBM Unica Interact: |.Z !Le gk !IOT X_ UOY.) L kU 8:! kQ Z

FOd

CY% *

9 | FOd

UC_CM_integration 3m

7dN D 8: > Campaign | D

9 | FOd

Campaign | pOM5

L |VG nO $8B 6[ pOM5 bIL gkGBv )N, 6[ pOM5 -vG URL, 3L [?; v$UOY. 6[ pOM5: 0: CNw.& %COm L& A. QO5O UOY.

cacheCleanupInterval 3m

cacheCleanupInterval nO $8B CNw. sB 3CGZ? $. #] (J); v$UOY.

Campaign 7.0 L| v|!-B L nO $8& gkR v x@OY. b;*

600(10P)

cacheRunCompleteTime 3m

NO C. Interact pZN /f 8: nO $8 231 cacheRunCompleteTime nO $8B OaH G`L 3CGm pOM5 dL v! %CGB C#(P); v$UOY.

Campaign 7.0 L| v|!-B L nO $8& gkR v x@OY. b;*

4320

monitorEnabled 3m

monitorEnabled nO $8B pOM! Q. VBv )N& v$UOY.

Campaign 7.0 L| v|!-B L nO $8& gkR v x@OY. b;* 9

serverURL 3m

Campaign > pOM5 > serverURL nO $8B 6[ pOM5 -vG URL ; v$UOY. Jv3$TOY. 6[ pOM5 -v URLL b;*L FQ f l *; v$OJC@. CampaignL SSL(Secure Sockets Layer) kE; gkO5O 8:Gn V8 i L nO $8G *; HTTPS& gkO5O 3$OJC@. 9: serverURL=https://host:SSL_port/Campaign/OperationMonitor )b-, v hostB %@k ANW%L 3!H C:[GL' GB IP VRTOY. v SSL_PortB %@k ANW%G SSL w.TOY. URLG https! /GOJC@. b;*

http://localhost:7001/Campaign/OperationMonitor

monitorEnabledForInteract 3m

9N 3$Oi Campaign JMX ?XM -v! Interact! gkKOY. Campaign !B JMX 8HL x@OY. FOdN 3$OB fl!B Campaign JMX ?XM -v!,aR v x@ OY. L JMX pOM5: Interact AC W @d bO pb!8 gkKOY. b;*

232 IBM Unica Interact: |.Z !Le False CY% *

True | False !k:

L nO $8B Interact& 3!Q fl!8 {kR v V@OY. protocol 3m

monitorEnabledForInteract! 9N 3$H fl Campaign JMX ?XM - vG ;k ANd]TOY.

L JMX pOM5: Interact AC W @d bO pb!8 gkKOY. b;*

JMXMP CY% *

JMXMP | RMI !k:

L nO $8B Interact& 3!Q fl!8 {kR v V@OY. port 3m

monitorEnabledForInteract! 9N 3$H fl Campaign JMX ?XM - vG ;k w.TOY. L JMX pOM5: Interact AC W @d bO pb!8 gkKOY. b;*

2004 CY% *

1025 - 65535G $v !k:

L nO $8B Interact& 3!Q fl!8 {kR v V@OY.

NO C. Interact pZN /f 8: nO $8 233 234 IBM Unica Interact: |.Z !Le NO D. ,sLp. x!- GC# @[ gkZ 3N 3$

Interact -v! kQ SOAP #b GB O' vX Java Ze& 8vOv Jm GC# @[ gkZ 3N 3$; &xR fl! V@OY. 9& in, f.Z! Javascript A Yw! /OOT gk !IQ .e ANW!VN%dLv& 3=! NeOE* f. Z! HTML AYw8 !IQ |Z ^O ^Cv& )B flTOY. IBM Unica InteractB ,sLp. x! NeH % AYw8 &nOE* Interact! NMdL:& \ x-OAB s2!- GC# @[ |.& &xOB n 3G ?XM& &xUOY.

Interact 3!B ,sLp. x!- C[H @[ gkZ 3N 3$;'Q Y= N 3 G ?XM& wTUOY. v :Interact Message Connector $8;. Message Connector& gkOi, |Z ^O ^Cv GB b8 |Z LpnG%AYw! dLv Ne @[ A.(WLG W Y % gL.N ,a #y dLv! kX Interact -v& #bOB LLv W 5)B W& wTR v V@OY. v 245 dLvG :Interact Web Connector $8;. Web Connector(JS Connectors m5 T)& gkOi, % dLv! ,sLp. x JavaScript& gkO) dLv N e @[ A.(WLG W Y% gL.N ,a #y dLv& kX @[ _g, A. (WLG, AC/@d bO; |.R v V@OY.

Interact Message Connector $8 Interact Message ConnectorB |Z ^O ^Cv W b8 |Z Lpn! IBM Unica Interact& #bO)-' W.mm4L v$H gL.N ,aOB ^Cv& ,/R ' gkZ 3N 3$H @[& &xR v VT UOY. LB N 3G Vd BW& gk O) v`GB%, - ' gkZ 3N 3$H @[& NeOB LLv BW(IMG)M Y% gL.N ,a! kQ $8& 83Omm4; /$ #y dLvN fN gv$OB 5 )BW(A)TOY. 9&

Y= 9&B IMG BW URL(.-! Interact -v!-.i $8& |^Om @dO) Xg @[ LLv& Kv)z A BW URL(Y% gL.N ,a C Interact -vN |^ GB $8& G0); pN wTOB 6IC v!(9: |Z ^O ^Cv ;)! wTC3 v VB ON HTML Ze& %CUOY.

© Copyright IBM Corp. 2001, 2012 235 src="http:// www.example.com/MessageConnector/offerImage.jsp?msgId=1234 &linkId=1&userid=1&incomeLevel=5&incomeType=numeric"/>

Y= 9&!- IMG BWB A BWN -) V8g LN NX Y= ?[L _}UOY. 1. |Z ^O ^Cv! -.i, Message Connector! IMG BWN NZyH $8(L ^CvG msgID W linkID, userid, Rf vX, Rf /|; wTOB m4 E3 /v)! in VB d;; vEUOY. 2. L $8! API #b; kX Interact 18S -vN |^KOY. 3. 18S -v! Message Connector!@[& ]/UOY. Message ConnectorB @[ LLv URL; KvOm Xg URL(_! E3/v wT); &xOg Xg @ [ URLN LLv d;; fN gv$UOY. 4. m4!T @[! LLvN %CKOY.

L ' m4: Xg LLv& ,/O) n !v f}8N @[! @dR v V@OY. A BW W v$H HREF S:(ks URL; v$); gkO) Y% gL.N ,aOi X g @[G URL!,aH #y dL! kQ Y% d;; Message ConnectorN 8@ OY. W/i m4 jslz! @[! 8:H #y dLvN fN gv$KOY.

Y% gL.N ,a A BWB ]eC JvB FUOY. @[B LLv(9: m4LNb R my)88N 8:I v V@OY.

Message Connector 3! Message Connector& 3!, hw, G`OB % JdQ DO: IBM Unica Interact 18S -v 3!! Z?8N wTGz@OY. L =G!-B Message Connector g k Xq! JdQ \h& d`UOY.

Message Connector 3! Whw! |CH [w: Y=z0@OY. v 1C{8N, :Message Connector 8:;! 3mH kN Message ConnectorG b ; 3$ 8:

v 240 dLvG :Message Connector WLm [:;! 3mH kN Message Connector .#hG %LM& zeOB % JdQ %LM#L: WLm [:

v 242 dLvG :Message Connector hw W G`;! 3mH kN Message Connector %@k ANW% 3!

v 242 dLvG :Message Connector 5) [:;! 3mH kN - ' W.m Y% gL.N ,aR ' Message Connector @[& #bOB % JdQ IMG W A B W&6IC v!(9: |Z ^O GB % dLv)! [:

Message Connector 8: Message Connector& hwOb |! 3!! wTH 8: DO; /$ /f! BT g kZ $GX_ UOY. Interact 18S -vG Message Connector p:d.! VB

236 IBM Unica Interact: |.Z !Le MessageConnectorConfig.xml XML DO(/msgconnector/ config/MessageConnectorConfig.xmlz /g); v$R v V@OY.

MessageConnectorConfig.xml DO: JdQ ON 8:3$z 1C{N ON 8: 3$; wTUOY. gkOB 3$; /$ 3!! BT gkZ $GX_ UOY. )b 3mH \h& {s 8:; v$OJC@. 1. Message Connector! %@k ANW% -v! hwGn G` _N fl, Message Connector& hw &EQ D hSOJC@. 2. Interact 18S -vG X:. GB XML m}b!- MessageConnectorConfig.xml DO; )JC@. 3. Jd! {s 8:3$; v$Om Y= Jv 3$L 3!!CY%v .NOJC @. v - Message Connector dLv BW& ,aX_ Om Message Connector! G` _N Interact 18S -v URLTOY. v - @[ LLv! kQ d;; 3.OB ?H @y! _}O i Message Connector!fN gv$R URLTOY. v - @[ #y LLv! kQ d;; 3.OB ?H @ y! _}Oi Message Connector!fN gv$R URLTOY. v - O* LsG ks vX 3$}U; wTOm Message Connector 5)! F+M5 v$Gv J: fl b; ks vX; v$OB 8 : DO =GTOY. Q 3 LsG ks vXL 8:Gn Vn_ UOY.

pg 8:3$: :Message Connector 8:3$;! 8Y Z

Message Connector 8:3$:

Message Connector& 8:OAi, Interact 18S -vG Message Connector p: d.! VB MessageConnectorConfig.xml XML DO(O]{8N / msgconnector/config/MessageConnectorConfig.xml); v$R v V@OY. )b -B L XML DOG 8:; "" 3mUOY. Message Connector! hwGn G` H D! L DO; v$OB fl, DO v$; OaQ D Message Connector& hw &EQ D YC hwOE* @k ANW% -v& YCC[O) L/Q 3$; YC NeOJC@.

NO D. ,sLp. x!- GC# @[ gkZ 3N 3$ 237 O] 3$

Y= WLm!B MessageConnectorConfig.xml DOG generalSettings =G! w TH 1C{ W Jv3$ qOL in V@OY.

% 20. Message Connector O] 3$ dR3m b;* Message Connector dLv BWNNMG #b http://localhost:7001/interact ; 3.R Interact 18S -v(9: Message Connector! G` _N 18S -v) URLTO Y. L dRB JvTOY. b; /% |DTOY. MM/dd/yyyy Log4j nO $8 DOG '!TOY. 3$H f config/MessageConnectorLog4j.properties l $MESSAGE_CONNECTOR_HOME /f / v! sk{TOY. W8v J8i, L *: Message Connector %@k ANW%G g. fN! sk{TOY.

b; E3/v *

Y= WLm!B MessageConnectorConfig.xml DOG defaultParameterValues =G! wTH 1C{ W Jv3$ qOL in V@OY.

% 21. Message Connector b; E3/v3$ dR3m b;* b; k-D $N L'TOY. b; s#[k v! L'TOY. pvk 0:- )N& G0UOY. ckH *: false true W falseTOY. TCH AC L%.G b; L'TOY. TCH vt L%.G b; L'TOY. Message Connector 5)! F+M5 v$Gv J: fl@[ LLv URL; wTOB b; @[ S:TOY. Message Connector 5)! F+M5 v$Gv J: fl Y% gL.N ,a #y dLvG b ; URLTOY.

?[ 3$

Y= WLm!B MessageConnectorConfig.xml DOG behaviorSettings =G! wTH 1C{ W Jv3$ qOL in V@OY.

238 IBM Unica Interact: |.Z !Le % 22. Message Connector ?[ 3$ dR3m b;* @[ LLv! kQ d;; 3.OB ?H @y /images/default.jpg ! _}Oi ?XM!fN gv$OB URLT OY. L 3$: JvTOY. Y% gL.N ,a #y dLv! kQ d;; /jsp/default.jsp 3.OB ?H @y! _}Oi ?XM!fN gv$OB URLTOY. L 3$: JvTOY. LL 8aH fl!5 3CH @[& ]/X_ false OBv )N& G0UOY. ckH *: true W falseTOY. x! @[& #Rv8 LL 8aH fl v`R RedirectToErrorPage [wTOY. ckH *: Y=z0@OY. v GetNewOffer

v RedirectToErrorPage v ReturnExpiredOffer

:d.v 3$

Y= WLm!B MessageConnectorConfig.xml DOG storageSettings =G! w TH 1C{ W Jv3$ qOL in V@OY.

% 23. MessageConnector :d.v 3$ dR3m b;* 3C! %LM#L:! u Wq; vSOB WRITE-THROUGH flTOY. ckH *: WRITE-BEHIND(% LM! 3=! 3C! bOGm *_! %L M#L:! w%L.J) W WRITE-THROUGH (%LM! 3C! bOGB ?C! %LM# L:! bOJ)TOY. ^p. 3CG Vk Wq vTOY. 5000 %LM#L:! Wq; vSOB ?H Vk 200 O}3. )bTOY. %LM#L:! vSGv |! WqL 3C 3 ! /vGB Vk C#(J)TOY. p:) 3CG Vk Wq vTOY. 5000 8a | p:) 3CG WqL vSI Vk 60000 C#TOY. JDBC ,aL gkGB fl /$$8! i b;{8NNC -v! 8:H SQLServer n V B XML D O =GT OY. %LM#L:!,aO5O 8:Gv8, L =Gz s# h8 =G; 3$OB fl!B NWNOAi G {TOY. & JDBC 3$ W ES $8& &xX_ U OY. %LM R: ,aL gkGB fl /$$ b;{8NNC %@k ANW% -v! 8! in VB XML DO =GTOY. $GH InteractDS %LM R:!,aO5 =Gz s# h8{TOY. O 8:KOY.

NO D. ,sLp. x!- GC# @[ gkZ 3N 3$ 239 ks vX

Y= WLm!B MessageConnectorConfig.xml DOG audienceLevels =G! w TH 1C{ W Jv3$ qOL in V@OY.

audienceLevels dRBY= 9&!-M 0L Message Connector 5)! F+M5 v $Gv J: fl gkR b; ks vX; v$OB % 1C{8N gkKOY.

L 9&!- default S: *:L=G! $GH audienceLevel L'z O!UOY. L 8: DO! Q 3 LsG ks vXL $GGn Vn_ UOY.

% 24. MessageConnector ks vX 3$ dR dR3m b;* ks vX 8:; wTOB dRTOY. ! -M 0L name S:; &xOJC@. NW WLm L'TOY. L *: JvT UACI_MESSAGE_CONNECTOR_LOG OY. L audienceLevel! kQO* LsG ks ID Je $GTOY. Interact 18S! v$H ks ID Je L'TOY. L ks ID Je! kQXg E3/v L'TOY. L ks ID Je! kQ %LM#L:G Xg - L'TOY. Interact 18S! v$H ks ID Je /|TOY. *: string GB numeric TOY.

Message Connector WLm [: Uz Interact 18S %LM! zeH%LM#L:! WLm;[:X_ IBM Unica Interact Message Connector& hwR v V@OY. $GQ " ks vX6Y O*G WLm;[:UOY. " ks vX6Y InteractB gkZ! [:OB WLm; gk O) Message Connector .#hG! kQ $8& bOUOY.

%LM#L: ,sLp.& gkO) Xg %LM#L: GB :06! kX Message Connector SQL :)3.& G`O) Jv WLm;[:OJC@. vxGB %LM# L:k SQL :)3.B Interact 18S -v& 3!R ' Z?8N 3!KOY. Interact 18S WLm; wTOB %LM#L:!,a! kQ Z

240 IBM Unica Interact: |.Z !Le 1. %LM#L: ,sLp.& G`Om Interact 18S WLmL vgzeH%LM #L:!,aOJC@. 2. /msgconnector/scripts/ddl p:d.!- Xg :)3.& G `OJC@. )b- : Interact 18S; 3!Q p:d.TOY (9: C:\Unica\Interact GB /Unica/Interact). Y= WLm: Message Connector WLm; v?8N [:OB % gkR v VB yC SQL :)3.& *-UOY.

% 25. Message Connector WLm [:;'Q :)3. %LM R: /| :)3. L' IBM DB2 db_scheme_db2.sql Microsoft SQL Server db_scheme_sqlserver.sql Oracle db_scheme_oracle.sql

L/Q :)3.B yCN &xJ! /GOJC@. ks ID *! Y% L' v$ T" GB 86& gkR v V8GN G` |! :)3.& v$X_ R v5 V @OY. O]{8N " ks vX! O*G|k WLm; NB ML p| gJT OY.

WLm: Y= $8& wTO5O [:KOY.

% 26. yC SQL :)3.! [:Q $8 - L' 3m LogId L WqG b; 0TOY. MessageId " ^C! N:O:G m/ IDTOY. LinkId |Z Lpn(9: |Z ^O ^Cv)! VB " 5)G m/ IDTOY. OfferImageUrl ]/H @[G |C LLv URLTOY. OfferLandingPageUrl ]/H @[G |C#y LLv URLTOY. TreatmentCode ]/H @[G 3. ZeTOY. OfferExpirationDate ]/H @[G 8a /% W C#TOY. OfferContactDate ,sLp.N @[! ]/H /% W C#TOY. AudienceId |Z LpnG ks IDTOY.

L WLm! kX Y=; /GOJC@. v ks vX! {s ks 0G " 8: dR6Y O*G AudienceId -LV@O Y. v MessageId, LinkId, AudienceId(s) 6U:LWLmG m/ 0& |:UOY.

:)3. G`L OaGi, Message Connector! JdQ WLm;[:_@OY.

L& Message Connector %@k ANW%; hwR Xq! Gz@OY.

NO D. ,sLp. x!- GC# @[ gkZ 3N 3$ 241 Message Connector hw W G` IBM Unica Interact Message ConnectorB vxGB %@k ANW% -v!- 6 3| %@k ANW%8N hwKOY.

Message Connector& hwOb |! Y=[wL OaGzBv .NOJC@. v IBM Unica Interact 18S -v& 3!_n_ UOY. hw !IQ Message Connector @k ANW%: 18S -vM T2 Z?8N 3!Gg Interact ( p :d.!- hwR Xq! Gz@OY. v 240 dLvG :Message Connector WLm [:;! 3mH kN Message Connector ! gkR Interact 18S %LM#L:! Jv WLm;[:Ob 'X 3!M T 2 &xGB SQL :)3.5 G`_n_ UOY.

G` |! %@k ANW% -v! b8 IBM Unica @k ANW%; hwOB fl M 6y!vN @[ &x! gkR v V5O Message Connector @k ANW%; h wX_ UOY. 1. @k ANW%; hwOB % JdQ GQ; gkO) %@k ANW% -v |. NMdL:!,aOJC@. 2. %@k ANW% -v! kQ v'; {s /msgconnector/ MessageConnector.war DO; hw W G`OJC@. ; Interact 18S -v! 3!H G& p:d.(9: C:\Unica\Interact GB /Unica/Interact)N YYJC@.

L& Message Connector& gkR v V@OY. Interact 3!& 8:O) Message Connector! @[(9: k-D $N W |+, CNw., @[ n)& &xOB % gkR b; %LM& [:Q D!B Message Connector! vtR 5)& |Z Lpn! [ :R v V@OY.

Message Connector 5) [: V> gkZ! |Z LpnM s#[kR '(9& in, |Z ^O ^Cv& -n-) Message Connector& gkO) gkZ $G @[ LLv& &xOm V> gkZ! @[& ,/R ' gkZ $G #y dLv& &xOAi, ^Cv! S#eR 5)& [ :X_ UOY. L =G!-B Xg 5)G HTML BW v$ d`; &xUOY.

V> gkZ!T _EGB ^Cv& }:OB % gkOB C:[! |hxL Interact 18S -vN |^R $8! in VB Xg Je(HTML BW!-S:8N &xJ) & wTO5O HTML BW v$; }:X_ UOY. F! \h& {s Message Connector ^Cv! JdQ VR $8& 8:OJC@.

)b 3mH v': /w Message Connector 5)& wTOB ^Cv! {kGv8 ? OQ \h W 8:; {s % dLv W b8 |Z Lpn! 5)& _!R v V@O Y.

242 IBM Unica Interact: |.Z !Le 1. VRQ Y= E3/v& gkO) ^Cv! *8/ IMG 5)& [:OJC@. v msgID - L ^CvG m/ ID& %CUOY. v linkID - L ^Cv! VB 5)G m/ ID& %CUOY. v audienceID - ^Cv vEZ! SQ ks IDTOY.

ks ID! Dwv. IDLi, Xg 8: dR! pN 5)! wTGn_ UOY.

ks vX, k-D $N L', s#[k v! L', LLv '! URL; wTOB 1C{ E3/v W Message Connector!- m.OT gkOv JB Z< gkZ $G E3/v5 wTC3 v V@OY. 2. 1C{8N, gkZ! Xg LLv& ,/Oi jslz! gkZ! kX @[& w TOB dLv& NeO5O IMG 5)& -B A 5)& [:OJC@. A 5)B U - *-Q < 3G E3/v(msgID, linkID, audienceID)B 0P 1C{ E3/ v(ks vX, k-D $N L', s#[k v! L') W Message Connector!- m.OT gkOv JB gkZ $G E3/v5 wTX_ UOY. A 5)B Message Connector IMG 5)& wTR !I:L tv8 Jd! {s dLv!- \68N5 gkI v V@OY. L 5)! IMG 5)& wTOv J8i, IMG 5) ! -B A 5)M ?OQ E3/v }U(1C{ GB gkZ $G E3/v wT) ; wTX_ UOY. 3. 5)! CYN $GGi |Z ^O ^Cv& }:O) 8;JC@.

gk !IQ E3/v W yC 5)! kQ Z

"IMG" W "A" BW HTTP d; E3/v V> gkZ! Message Connector NZyH IMG BW! wTH |Z ^O; -zE * V> gkZ! A BW& ,/_b '.! Message Connector! d;; vEOi, Message ConnectorB d;! wTH E3/v& 8. P.O) Xg @[ %LM& .OUOY. L}!-B d; URL(IMG BW(|Z ^OL -1 ' BW v$H LL v! %CGi Z?8NNeJ) GB A BW(|Z ^O; 8B gwL v$H gL. N ,aOB ^Cv& ,/Oi NeJ))! wTI v VB E3/v qO; &xUO Y.

E3/v

Message ConnectorB d;; vEOi d;! wTH E3/v& 8. P.UOY. L /Q E3/vBY= _ ON GB pN& wTUOY.

E3/v L' 3m Jv )N b;* msgId |Z ^ON:O: GB % dLvG 9 x=. BW! wTH |Z ^O ^Cv GB % dLvG m m/ IDTOY. /N:O:& [:OB C:[L &xUOY.

NO D. ,sLp. x!- GC# @[ gkZ 3N 3$ 243 E3/v L' 3m Jv )N b;* linkId L|Z^O GB % dLv! VB 9 x=. BW! wTH |Z ^O ^Cv GB % dLvG m 5)G m/ IDTOY. /N:O:& [:OB C:[L &xUOY. audienceLevel L kE vEZ! SQ ks vXTO FOd MessageConnectorConfig.xml DO! VB audienceLevels Y. dR! b;*8N v$H audienceLevel. ic ks k-D $N(IC) L'TOY. FOd MessageConnectorConfig.xml DOG defaultParameterValues =G! VB interactiveChannel dR *(b;{8N "interactiveChannel"S). ip {k _N s#[k v!(IC) L'TO FOd MessageConnectorConfig.xml DOG Y. defaultParameterValues =G! VB interactionPoint dR *(b;{8N "headBanner"S). offerImageUrl ^CvG IMG URL! kQ ks @ FOd x=. [ LLv URLTOY. offerImageUrlAttr ks @[ LLv URL; .B @[ FOd MessageConnectorConfig.xml DOG S: L'TOY. defaultParameterValues =G! VB imageUrlAttribute dR *. offerLandingPageUrl ks @[! k@OB #y dLv FOd x=. URLTOY. offerLandingPageUrlAttr ks @[! k@OB #y dLv FOd MessageConnectorConfig.xml DOG URL; .B @[ S: L'TOY. defaultParameterValues =G! VB landingPageUrlAttribute dR *. contactEvent AC L%. L'TOY. FOd MessageConnectorConfig.xml DOG defaultParameterValues =G! VB contactEventName dR *(b;{8N "contact"S). responseEvent vt L%. L'TOY. FOd MessageConnectorConfig.xml DOG defaultParameterValues =G! VB acceptEventName dR *(b;{8N "accept"S). debug pvW C!WTOY. .&! Xa W FOd MessageConnectorConfig.xml DOG IBM Unica bz vxG vC! VB defaultParameterValues =G! VB debugFlag dR fl!8 L E3/v& "true"N 3$ *(b;{8N "false"S). OJC@. L gkZG ks IDTOY. L E3 9 x=. /v L': 8: DO! $GKOY.

Message Connector! K v xB(o, ' qO! *8*v J:) E3/v& vEOB fl, E3/vBY= N !v f} _ O*N 3.KOY. v K v xB E3/v! &xGm(9: attribute="attrValue"!-G "attribute")G m ?OQ L'z "Type" \n! VB O!OB E3/v! V8i (9: attributeType="string"!-G "attributeType"), Message ConnectorB O !OB Interact E3/v& [:O) Interact 18S! |^UOY.

Type E3/v *: Y= _ O*TOY. – string – numeric – datetime

244 IBM Unica Interact: |.Z !Le "datetime" /|G E3/vG fl, Message ConnectorB *L/?Q /%/C # |DN ?OQ L'z "Pattern" \n(9: "attributePattern")! VB E3/v 5 KvUOY. 9& in, attributePattern="MM/dd/yyyy" E3/v& &x R v V@OY.

"datetime" /|G E3/v& v$Ov8 O!OB /% PO; &xOv J8 i, Interact -vG Message Connector 8: DO ( /msgconnector/config/ MessageConnectorConfig.xml! V=)! v$H *L gkKOY. v K v xB E3/v! &xGm O!OB Type *L x8i, Message Connector ! Xg E3/v& ks fN gv$ URLN |^UOY.

K v xB pg E3/vG fl, Message ConnectorB E3/v& 3.OE* ze Ov Jm Interact 18S -vN |^UOY.

Message Connector Ze 9&

Y= A BWB |Z ^O ^Cv! *8/ v VB Message Connector 5) }U 9 && wTUOY.

L 9&!- IMG BWB |Z ^O ^Cv! -1 ' Z?8NNeKOY. v$H d Lv!- LLv& KvO) ^CvB |^IN3G _! E3/v(incomeCode W incomeType)M T2 m/ ^Cv ID(msgID), m/ 5) ID(linkID), m/ gkZ ID(userid)! kQ E3/v& Interact 18S8N |^UOY.

A BWB @[ LLv& |Z ^O ^Cv!- ,/ !IQ 5)! GT OB HREF(Hypertext Reference) S:; &xUOY. ^Cv dn! LLv& 8B oC #y dLvN ,aOi, ks fN gv$ URLN |^GB O*G _! E3/v (referral)B 0P m/ ^Cv ID(msgId), 5) ID(linkId), gkZ ID(userid)! -vN |^KOY.

Interact Web Connector $8 Interact WebConnector(JavaScript Connector, GB JSConnectorsm5 T)B Interact 18S -v!- JavaScript Ze! Interact Java API& #bR v VT OB -q: & &xUOY. L& kX % dLvB % 3_ pn(9: Java, PHP, JSP n)! G8 Ov Jm /OOT S#eH JavaScript Ze& gkO) GC# @[ gkZ 3N 3 $! kX Interact& #bR v V@OY. 9& in, % gL.G " dLv! Interact

NO D. ,sLp. x!- GC# @[ gkZ 3N 3$ 245 !- GeOB @[& &xOB [: JavaScript Ze :Oj;S#eR v V@OY. {s- gL. f.ZG Ny dLv! VsG @[! %CG5O dLv& NeR ' 6Y Interact API #bL v`KOY.

dLv %C& kQ -v x ANW% &nB xv8(9& in, PHP GB b8 -v b] :)3CG fl) f.ZG % jslz& kX G`I dLv AYw! JavaScript Ze& )|w S#eR v VB dLv!- f.Z!T @[& %COAB s2!- Interact Web Connector& gkOJC@.

A: Interact Web Connector DO: Interact 18S -vG / jsconnector p:d.! Z?8N 3!KOY. /jsconnector p :d.!- Web Connector bI! kQ _dQ ^p W

18S -v! Web Connector 3! Web Connector N:O:B IBM Unica Interact 18S -vM T2 Z?8N 3! Gg, b;{8N 0:-Gn V@OY. W/* ON 3$; v$X_ Web Connector & 8: W gkR v V@OY.

18S -v! 3!H Web Connector& 8: W gkOb |! v$X_ OB ON 3$:%@k ANW% -vG 8:! _!KOY. L/Q L/N Y= \h& Oa Q D!B %@k ANW% -v& YCC[X_ UOY. 1. Interact 18S -v! 3!H %@k ANW% -vG fl, Y= Java nO $ 8& 3$OJC@.

-DUI_JSCONNECTOR_ENABLE_INPROCESS=true

-DUI_JSCONNECTOR_HOME=

; 18S -vG jsconnector p:d. (/jsconnector)N YYJC@.

9& in, Windows 3!!-B C:\Unica\Interact\jsconnectorTOY. UNIX C:[!-B L *! kX /Unica/Interact/jsconnector& TBOJC@.

Java nO $8 3$ f}: Xg %@k ANW% -v! {s Y(OY. 9& in, WebLogic!-B startWebLogic.sh GB startWebLogic.cmd DO; m }O) Y= 9&!-M 0L JAVA_OPTIONS 3$; w%L.OJC@.

JAVA_OPTIONS="${SAVE_JAVA_OPTIONS} -DUI_JSCONNECTOR_HOME=/UnicaFiles/ jsconnector"

246 IBM Unica Interact: |.Z !Le WebSphere Application Server!-B |. \VG JVM(Java Virtual Machine) PN!- L nO $8& 3$OJC@.

Java nO $8 3$! kQ /$v': Xg %@k ANW% -v.-& |6 OJC@. 2. %@k ANW% -v! LL G`Gm Vz8i YCC[OE* %@k ANW % -v& v] C[O) u Java nO $8! gkGBv .NOJC@.

%@k ANW% -v! C[ AN<:& Oa_8i 18S -v! Web Connector 3!& Oa_@OY. Y= \hB Web Connector 8: % dLv (http://:/interact/jsp/WebConnector.jsp)!,aOB MTOY. )b- B Interact 18S -v L'Lm B %@k ANW% -v! v$Q kN Web Connector! ;k _N w.TOY.

05 %@k ANW%8N Web Connector 3! Web Connector N:O:B IBM Unica Interact 18S -vM T2 Z?8N 3! Gg, b;{8N 0:-Gn V@OY. W/* Web Connector& Z< %@k AN W%(9: 05 C:[G%@k ANW% -v)8N5 hwOm x] Interact 18S -vM kEO5O 8:R v V@OY.

Y= v': Web Connector& Interact 18S -v! kQ W<: GQ; !x 05 %@k ANW%8N hwOB AN<:& 3mUOY.

IBM Unica Interact 18S -v& 3!_n_ Og Interact 18S -v! kQ W .v) W<: GQ(f-.8N w\Gv J=); !x Y% C:[! % vEN -v ! Vn_ Web Connector& hwR v V@OY. 1. Interact 18S -v!- %@k ANW% -v(9: WebSphere Application Server) ! LL 8:Gn G` _N C:[8N Web Connector DOL wTH jsconnector p:d.& 9gOJC@. Interact 3! p:d.(9: C:\Unica\ Interact GB /Unica/Interact)!- jsconnector p:d.& #; v V@ OY. 2. Web Connector N:O:& hwR C:[!- X:. GB XML m}b& gk O) jsconnector/jsconnector.xml DO; 8:O) interactURL S:; v $OJC@.

b;{8N http://localhost:7001/interactN 3$Gn Vv8 x] Interact 18S -v URLz O!O5O v$X_ UOY (9: http://runtime.example.com:7011/interact).

Web Connector& hwQ D!B %NMdL:& gkO) jsconnector.xml D OG *Sv 3$; gkZ $GR v V@OY. Z

NO D. ,sLp. x!- GC# @[ gkZ 3N 3$ 247 3. Web Connector& hwR %@k ANW% -vG fl, Y= Java nO $8& 3$OJC@.

-DUI_JSCONNECTOR_HOME=

;%@k ANW% -vN jsconnector p:d.& 9g Q G& fNN YYJC@.

9& in, Windows 3!!-B C:\Unica\Interact\jsconnectorTOY. UNIX C:[!-B L *! kX /Unica/Interact/jsconnector& TBOJC@.

Java nO $8 3$ f}: Xg %@k ANW% -v! {s Y(OY. 9& in, WebLogic!-B startWebLogic.sh GB startWebLogic.cmd DO; m }O) Y= 9&!-M 0L JAVA_OPTIONS 3$; w%L.OJC@.

JAVA_OPTIONS="${SAVE_JAVA_OPTIONS} -DUI_JSCONNECTOR_HOME=/UnicaFiles/ jsconnector"

WebSphere Application Server!-B |. \VG JVM(Java Virtual Machine) PN!- L nO $8& 3$OJC@.

Java nO $8 3$! kQ /$v': Xg %@k ANW% -v.-& |6 OJC@. 4. %@k ANW% -v! LL G`Gm Vz8i YCC[OE* L \h!- % @k ANW% -v& C[O) u Java nO $8! gkGBv .NOJC@.

%@k ANW% -v! C[ AN<:& OaOb& bYHY!hSOJC@. 5. @k ANW%; hwOB % JdQ GQ; gkO) %@k ANW% -v |. NMdL:!,aOJC@. 6. %@k ANW% -v! kQ v'; {s Y= DO; hw W G`OJC@. jsConnector/jsConnector.war

L& Web Connector! %@k ANW%! hwKOY. O|w 8:Q Interact -v ! [?Gn G`H D Y= \hB Web Connector 8: % dLv(http:// : /interact/jsp/WebConnector.jsp)!,aOB MTOY. )b- B f] Web Connector& hwQ %@k ANW% -v& G` _N C:[Lm B %@k ANW% -v! v$Q kN Web Connector! ;k _N w.TOY.

Web Connector 8: Interact Web Connector 8:3$: Web Connector! hwH C:[(9: Interact 18S -v Z< GB %@k ANW% -v& G` _N 05G C:[)! zeH jsconnector.xml DO! zeKOY. X:.m}b GB XML m}b& gkO)

248 IBM Unica Interact: |.Z !Le w" jsconnector.xml DO; m}R v Vv8 gk !IQ 8:3$; EG pN 8:OB kLQ f}:%jslz!- Web Connector 8: dLv& gkOB M TOY.

Web Connector& &xOB @k ANW%; Uz 3! WhwX_ %NMdL:& gkO) Web Connector& 8:R v V@OY. Interact 18S -v!-B Interact & 3! WhwOi Web Connector N:O:! Z?8N 3!KOY. b8 %@k ANW% -v!-B 247 dLvG :05 %@k ANW%8N Web Connector 3 !;! 3mH kN Web Connector %@k ANW%; 3! WhwX_ UOY. 1. vxGB % jslz& -m Y=z /gQ URL; )JC@.

http://:/interact/jsp/WebConnector.jsp v & Web Connector! G` _N -v(9: 18S -vG #:. L' G B 05G Web Connector N:O:& hwQ -v L')N YYJC@. v & Web Connector %@k ANW%L ,a; ;kOm VB w. x #(O]{8N %@k ANW% -vG b; w.M O!T)N YYJC@. 2. *8*B 8: dLv!- Y= =G; OaOJC@.

% 27. Web Connector 8:3$ d`. =G 3$ b; 3$ BW v$H dLv& QFtR gL.! kX |< Web Connector ?[; 8:OA i b; 3$ dLv& gkOJC@. L 3$: gL.G b; URL, Interact! gk X_ OB gL. f.Z! kQ $8, Web Connector Ze& gkO) BW& v$ R pg dLv! {kGB /gQ 3$; wTUOY.

Z

HTML %C / dLv!- " s#[k v!! &xI HTML Ze& G0OAi HTML %C /| | dLv& gkOJC@. " s#[k v!! gkR 3:ILy :8OC.(CSS) Ze, HTML Ze, Javascript ZeGON 6U; wTOB b; [C4(.flt DO) qO! -1CR v V@OY. [C4; &xH kN gkOm Jd! {s gkZ $GOE * w" [:R v V@OY.

L dLvG 8:3$: jsconnector.xml 8: DOG interactionPoints =G ! XgUOY.

Z

NO D. ,sLp. x!- GC# @[ gkZ 3N 3$ 249 % 27. Web Connector 8:3$ d` (hS). =G 3$ m^ dLv dLv m/ 3$; URL PO! JNOAi m^ dLv& gkOJC@. 9& in, Xg JN! kX /$ dLv Ne L%. W s#[k v!; $GO) "index.htm" X:.& wTOB URLLO] C[ dLv& %CO5O dLv JN; 3$R v V@OY.

L dLvG 8:3$: jsconnector.xml 8: DOG pageMapping =G! Xg UOY.

Z

3. b; 3$ dLv!- gL. |< 3$L 3!! /?Qv .NOm pvW pe (.&!; XaOB _L FOi GeOv J=), NetInsight dLv BW kU, k NPG s#[k v!G b; 3$; 1C{8N v$Q D 8: F!G HTML % C /| 5)& ,/OJC@. 4. HTML %C /| dLv!- Y= \h& {s m4 % dLv! s#[k v! ; $GOB %C [C4; _!OE* v$OJC@.

b;{8N %C [C4(.flt DO): /conf/html! zeKO Y. a. C[!8N gkOE* KgR qO!- .flt DO; 1COE* /| _!& , /O) gkR qn VB us#[k v! [C4;[:OJC@.

[C4 AYw! kQ $8(VB fl)! [C4qO 7! *83OY. b. 1C{8N L %C /|G DOL' Je!- [C4 L'; v$OJC@. u [C4G fl, CHANGE_ME.flt& 8Y GL VB L'8N w%L.OJC@.

)b- [C4 L'; /fOi, Y= x! [C4L[:I ' Web Connector ! Xg L'; gkO) u DO; [:UOY. [C4: X:. ;.; v$ Q D b8 JeN L?Oi zeKOY. c. wTC3 :8OC.(CSS), JavaScript HTML Ze& wTO) HTML :O j $8& Jd! {s v$OE* $lJC@. 18S C Interact E3/vN Yp /v5 wTC3 v V@OY. 9& in, ${offer.HighlightTitle}: v$H s#[k v! '!G @[ &q8N Z?8N YrOY.

CSS, JavaScript GB HTML Ze mO |D- f}! kQ%CB HTML :Oj Je F!! *8*B 9&& gkOJC@. 5. m^ dLv& Jd! {s gkO) dLv!- /$ URL 3. f}; a$OB dLv JN; 3$OJC@. 6. 8: nO $8 3$; Oa_8i /f gW QFt; ,/OJC@. /f gW Q Ft; ,/Oi Y=[wL v`KOY.

250 IBM Unica Interact: |.Z !Le v Web Connector dLv!- 9gO) % dLv! pTR v VB JavaScript Ze& wTOB IBM Unica Interact Web Connector dLv BW! %CKO Y. v Interact -vG b8 Web Connector 8: DO(Web Connector! 3!H - vG jsconnector.xml DO); iwOm gkZ! $GQ 3$; gkO) u 8: DO; [:UOY.

i w 8 : D O: /conf/archive/ jsconnector.xml..

L& Web Connector 8:; Oa_@OY.

8:; v$OAi L \hG 3=8N 9F! u *; gkO) \h& YC v`O E* X:. GB XML m}b!- 8: DO(/jsconnector/conf/ jsconnector.xml); -m Jd! {s v$R v V@OY.

WebConnector Connector 8: b; IG BW v$H dLv& QFtR gL.! kX |< Web Connector ?[; 8:OA i Web Connector 8: dLvG b; 3$ dLv& gkOJC@. L 3$: gL .G b; URL, Interact! gkX_ OB gL. f.Z! kQ $8, Web Connector Ze& gkO) BW& v$R pg dLv! {kGB /gQ 3$; wTUOY.

gL. |< 3$

gL. |< 3$ 8: IG: 8: _N Web Connector 3!G|< ?[!5b; VB |* 3$TOY. v$R v VB *: Y=z0@OY.

% 28. Web Connector 3!G gL. |< 3$ 3$ 3m jsconnector.xmlG ?nQ 3$ Interact API URL Interact 18S -vG b; URLTOY. |m: L 3$: Web Connector! Interact 18S -v ;!- G`Gm Vv J: f l(o, 05N hwQ fl)!8 gkKOY. Web Connector URL Y% gL.N ,a URL; }:OB % g kGB b; URLTOY. ks % gL.G k-D $N L' Interact -v! $GQ L dLv JN; * 8;Bk-D $N L'TOY. f.ZG ks vX NYne f.ZG Campaign ks vX8 N, Interact 18S! kQ API #b!- g kKOY.

NO D. ,sLp. x!- GC# @[ gkZ 3N 3$ 251 % 28. Web Connector 3!G gL. |< 3$ (hS) 3$ 3m jsconnector.xmlG ?nQ 3$ ANDO WLmG ks ID Je L' Interact 18S! kQ API #b!- gk I audienceId Je L'TOY. Y_ Je ks IDB vg vxGv J@OY. ks ID JeG %LM /| Interact 18S! kQ API #b!- gk I ks ID JeG %LM /|TOY ("numeric" GB "string"). f.Z ID& *8;B m0 L' f.Z ID& wTR m0 L'TOY.

1C{ bI

1C{ bI 8: IG: 8: _N Web Connector 3!G 1C{|* 3$TOY. v$R v VB *: Y=z0@OY.

% 29. Web Connector 3!G 1C{ gL. |< 3$ 3$ 3m jsconnector.xmlG ?nQ 3$ pvW pe 3$ yes GB no @d; gkO) /v pvW pe gk)N& v$UOY. L bI; 3 $OB fl, Web Connector!- .OH A YwB ,sLp.!T f] _}Q /$ d Lv JN; K.B 'K2'! kQ Javascript #b; wTUOY. K2; !.@Ai ,s Lp.G 3$ L v$Q DO! WqLVn_ UOY. BNHpvk ,sLp. #:.DO pvW pe& T$OB #:. GB IP(Internet Protocol) VR qO; wTOB DO fNTOY. pvW $8& v}OAi v$H DO! ,sLp.G #:. L' G B IP VR! *8*_ UOY. NetInsight dLv BW kU 3$ yes GB no @d; gkO) Web Connector! v$H IBM Unica NetInsight BW& dLv AYw !! 7NX_ OBv )N& v$UOY. NetInsight BW HTML [C4 DO NetInsight BW #b; kUOB % gkG B HTML/Javascript [C4TOY. O]{ 8N Y% [C4; &xO5O vCOv J 8i b; 3$;{kX_ UOY.

WebConnector 8: HTML %C /| dLv!- " s#[k v!! &xI HTML Ze& G0OAi HTML %C /| dLv& gkOJC@. " s#[k v!! gkR 3:ILy :8OC.(CSS) Ze, HTML Ze, JavaScript ZeGON 6U; wTOB b; [C4(.flt DO) qO! -1CR v V@OY. [C4; &xH kN gkOm Jd! {s gkZ $GOE * w" [:R v V@OY.

252 IBM Unica Interact: |.Z !Le |m: L dLvG 8:3$: jsconnector.xml 8: DOG interactionPoints =G! XgUOY.

s#[k v!:Z?8N h&R v VB @[ S:! Z. %CZ(5*)5 wTR v V@OY. 9& in, s#[k _! Xg @[! RgH 3. ZeN YnB ${offer.TREATMENT_CODE}& wTC3 v V@OY.

L dLv! *8*B [C4: Web Connector -vG / jsconnector/conf/html p:d.! zeH DO!- Z?8NNeKOY. )b- [ :OB u [C45 Xg p:d.! zeKOY.

HTML %C /| dLv& gkO) b8 [C4; 8E* v$OAiqO!- .flt DO; 1COJC@.

HTML %C /| dLv!- u [C4;[:OAi /| _!& ,/OJC@.

[C4;[:OE* v$Ob 'X 1COB f}! |hxL Y= $8! [C4q O 7! *83OY.

3$ 3m jsconnector.xmlG ?nQ 3$ L %C /|! kQ DOL' m}_N [C4! RgH L'TOY. L L': Web Connector! G` _N n5 <&! /?X_ UOY. 9& in, n5 < &! Microsoft WindowsN fl!B L' ! =!C(/)& gkR v x@OY.

u [C4;[: _N fl, L JeB CHANGE_ME.fltN L. 3$Gn V@OY. L& GL VB *8N /fQ D hSX_ UOY.

NO D. ,sLp. x!- GC# @[ gkZ 3N 3$ 253 3$ 3m jsconnector.xmlG ?nQ 3$ HTML :Oj Web Connector! % dLv!- s#[k HTML :Oj: jsconnector.xmlz 03G v!! pTX_ OB /$ AYwTOY. L Z< DO! sVOb '.! ?nQ 3$L :Oj: dLv!- G`I HTML Ze, x@OY. CSS |D- $8 GB JavaScript& wTR v V@OY.

Y= 9&!-M 0L Xg < !v /|G AYw& "" BEGIN W END ZeN - n_ UOY. v ${BEGIN_HTML} ${END_HTML}

v ${BEGIN_CSS} ${END_CSS} v ${BEGIN_JAVASCRIPT} ${END_JAVASCRIPT}

GQ Y=; wTO) dLv! NeI ' Z?8N YnB L. $GH YvG /v Ze& TBR v V@OY. v ${logAsAccept}: N 3G E3/v(@[ vt; D0OB % gkGB TreatmentCode W ks URL)& kOm L& Y% gL.N ,a URLN YYB E)N. v ${offer.AbsoluteLandingPageURL} v ${offer.OFFER_CODE} v ${offer.TREATMENT_CODE} v ${offer.TextVersion} v $offer.AbsoluteBannerURL}

)b *-H @[ ZeB "" 6IC cg Z! Interact! ]/ _N @[& [:OB % gkQ IBM Unica CampaignG @[ [ C4! $GH @[ S:; *8@OY.

Web ConnectorB dLv [C4! Ze 3 $ C /kQ YvG _! IG; &xOB FreeMarkersB [C4 #x; gkUOY. Z

254 IBM Unica Interact: |.Z !Le 3$ 3m jsconnector.xmlG ?nQ 3$ /v Ze 9& mO; HTML, CSS GB JAVASCRIPT ?nQ 3$L x@OY. N D0OB Ze, /$ @[ ^8%LM& |6Ob 'X pTR v VB h& !IQ 5*; wTO) /v Ze /| yC; w TUOY.

L dLv /f gW: Y% Web Connector 8: dLvN L?Oi Z?8N ze KOY.

WebConnector 8: m^ dLv dLv m/ 3$; URL PO! JNOAi m^ dLv& gkOJC@. 9& in, Xg JN! kX /$ dLv Ne L%. W s#[k v!; $GO) "index.htm" X:.& wTOB vE URLLO] C[ dLv& %CO5O dLv JN; 3$R v V@OY.

|m: L dLvG 8:3$: jsconnector.xml 8: DOG pageMapping =G! XgUOY.

m^ dLv& gkO) u dLv JN;[:OAi dLv _! 5)& ,/Om J N! JdQ $8& $lJC@.

dLv$8

dLv JN! kQ dLv$8 8: IG:LJN! kQ ..EG *R; OB URL POz Interact! L dLv JN; 3.OB f}! kQ ON _! 3$; $ GUOY.

3$ 3m jsconnector.xmlG ?nQ 3$ URL wT ;k Web Connector! vE dLv d;; ( CX_ OB URL POTOY. 9& in, d; URL! "mortgage.htm"L wTH f l L&pbv$8 dLvM O!C3 v V@OY. L dLv GB dLv}UG #wQ L' L dLv JN q{; 3mOB Z< |6 & 'Q GL VB L'TOY(9:"pbv $8 dLv")TOY. JavaScript gk;'Q JSON %LMN5 Web Connector! JavaScript Object @[ ]/ Notation(http://www.json.org/) |DG xC @[ %LM& dLv AYw !! wTC3 v )N& %COB eSYn qOTOY.

NO D. ,sLp. x!- GC# @[ gkZ 3N 3$ 255 L dLv GB dLv}U f. CG`R(BNe) L%.

dLv JN! kQ L 8: IG }U:LJN! kQ ..EG *R; OB URL POz Interact! L dLv JN; 3.OB f}! kQ ON _! 3$; $GUO Y.

|m: L =GG 8:3$: jsconnector.xmlG =G! Xg UOY.

3$ 3m jsconnector.xmlG ?nQ 3$ 30 L%. L dLv GB dLv}U! gk !IQ L%. qOTOY. L qOGL%.B Interact! $GQ L%.TOY. dLv! N eI ' _}RO* LsGL%.& 1C OJC@.

Interact API #b Cv:BY=z0@O Y. 1. startSession 2. 30 dLv Ne L%.! kQ postEvent(Interact! 30 L%.& $ GQ fl) 3. " s#[k v!! kX: v getOffers v postEvent(ContactEvent)

L dLv GB dLv}UG s#[k v!(@[ %C '!)

dLv JN! kQ L 8: IG }U; gkO) pageInteract! *8*B s#[k v!; 1CR v V@OY.

|m: L =GG 8:3$: jsconnector.xmlG | | =G! XgUOY.

3$ 3m jsconnector.xmlG ?nQ 3$ s#[k v! L' .Nu 8: DO! $GH " s#[k v!L d LvGL=G! *83OY. s#[k v !GL' 7! LB .Nu; 1COi s #[k v!! gk !IQ YvG IGL %CKOY. HTML dR ID(Interact! innerHTML L s#[k v!! kQ AYw& vEX_ ; 3$) OB HTML dR L'TOY. 9& in, dLv!

& v $Q fl L Je! welcomebanner(ID *)& TBOJC@.

256 IBM Unica Interact: |.Z !Le 3$ 3m jsconnector.xmlG ?nQ 3$ HTML %C /| L s#[k v!! gkR HTML %C / |(L| Web Connector 8: dLv! $ GH HTML :Oj GB .flt DO); 1C R v VT OB eSYn qOTOY. &xR Vk @[ v(3g) GB C3ON Web Connector! L s#[k v!! k fl) X Interact -v!- KvX_ OB Vk @ [ vTOY. L JeB 1C gWLg, Q x! O*? gkR V5O Y_ @[!K vGB 3g) C*.@!-M 0L dLv & YC NeOv Jm &xH @[& $b {8N w%L.OB s#[k v!! kX -8 {kKOY. @[ &x CG`R L%. L s#[k v!! kX TCI AC L% . L'TOY @[ vt CG`R L%. @[ 5)& ,/Oi L s#[k v!! kX TCI vt L%. L'TOY @[ EN CG`R L%. L s#[k v!! kX TCI EN L% . L'TOY |m: L' L bI: Fw gkGv J@O Y.

Web Connector 8: IG O]{8N W!H Web Connector NMdL:& gkO) Web Connector 3$; 8 :R v V@OY. gkZ! v$OB pg 3$ *C jsconnector/conf p:d.! VB jsconnector.xml DO! zeKOY. )b-B jsconnector.xml 8: DO! ze H E3/v& "" 3mUOY.

E3/v W 3m

Y= E3/vB jsconnector.xml DO! zeGg Web Connector s#[k! g kKOY. L 3$; v$OBY= N !v f}LV@OY. v Web Connector @k ANW%; hwO) C[Q D Z?8N gk !IQ Web Connector 8: % dLv gk. 8: % dLv& gkOAi % jslz& gk O) http://:/interact/jsp/WebConnector.jspM /gQ URL ; )JC@.

|. % dLv!-v`OB /f gW: Web Connector! hwH -vG jsconnector.xml DO! zeKOY. v X:.m}b GB XML m}b& gkO) w" jsconnector.xml DO; m} OJC@. L f}; gkOb |! XML BW W *; m}R v VBv .NOJ C@.

NO D. ,sLp. x!- GC# @[ gkZ 3N 3$ 257 |m: p&g jsconnector.xml DO; v?8N m}OJC@. Web Connector | . dLv(http://:/interact/jsp/jsconnector.jsp! V=)& - m 8: YC Ne& ,/O) Xg 3$; YC NeR v V@OY.

Y= WLm!-B jsconnector.xml DO! *8/ ' 3$R v VB 8: IG; 3mUOY.

% 30. Web Connector 8: IG E3/v Wl E3/v3m defaultPageBehavior friendlyName Web ConnectorG%8: dLv! %CR URL PO! kQ gkZ! P; v VB IDTOY. interactURL Interact 18S -vG b; URLTOY. |m: Web Connector(jsconnector) -q:! hwH %@k A NW%8N G` _N fl!8 L E3/v& 3$ X_ UOY. WebConnector! Interact 18S - vGONN Z?8N G` _N fl!B L E3 /v& 3$Ov JF5KOY. jsConnectorURL Y% gL.N ,a URL; }:OB % gkGB b; URLTOY(9: http://host:port/ jsconnector/clickThru). interactiveChannel L dLv JN; *8;Bk-D $N L'TOY. sessionIdCookie Interact! kQ API #b!- gkGB event1M /gQ|D8N L B W ;! O* LsGL%.& v$OJC@. interactionPointValues L |VG pg Wq: IP /$ |V! )tH * ! kQ b;*8N [kUOY.

258 IBM Unica Interact: |.Z !Le % 30. Web Connector 8: IG (hS) E3/v Wl E3/v3m interactionPointValuescontactEvent L /$ s#[k v!! kX TCI AC L%. G b; L'TOY. interactionPointValuesacceptEvent L /$ s#[k v!! kX TCI vt L%. G b; L'TOY. interactionPointValuesrejectEvent L /$ s#[k v!! kX TCI EN L%. G b; L'TOY(|m: L' L bI: gkGv J=). interactionPointValueshtmlSnippet L s#[k v!! kX &xI HTML [C4G b; L'TOY. interactionPointValuesmaxNumberOfOffers L s#[k v!! kX Interact!- KvI b; Vk @[ vTOY. interactionPointValueshtmlElementId L s#[k v!! kQ AYw& vER HTML dRG b; L'TOY. interactionPoints L |VB " s#[k v!! kQ 8:; wTU OY. ) t HnO $ 8 G f l , C:[ : interactionPointValues |V F!! 8:H * ; gkUOY. interactionPointname s#[k v!(IP) L'TOY. interactionPointcontactEvent L /$ IP! kX TCI AC L%. L'TOY. interactionPointacceptEvent L /$ IP! kX TCI vt L%. L'TOY. interactionPointrejectEvent L /$ IP! kX TCI EN L%. L'TOY (L bI: Fw gkGv J=). interactionPointhtmlSnippet L IP! kX &xI HTML [C4 L'TOY. interactionPointmaxNumberOfOffers L IP! kX Interact!- KvI Vk @[ vT OY. interactionPointhtmlElementId L s#[k v!! kQ AYw& vER HTML dR L'TOY. enableDebugMode /v pvW pe& 3$Ob 'Q No C!WTO Y(ck !IQ *: true GB false). L E3/ v& trueN 3$Oi, Web Connector!- .OH AYwB ,sLp.!T f] _}Q /$ dLv JN; K.B 'K2'! kQ JavaScript #b; w TUOY. K 2 ; } : O A i , s L p . G authorizedDebugClients DO! WqLVn_ UOY. authorizedDebugClients p v W p e & T $ O B # : . L ' G B IP(Internet Protocol) VR qO; wTOB /v p vW pe!- gkGB DOTOY. enableRawDataReturn Web Connector! AYw DL! JSON |DG x C @[ %LM& 7NOBv )N& G0Ob 'Q No C!WTOY(ck !IQ *: true GB false). enableNetInsightTagging Web Connector! AYw !! NetInsight BW& 7NOBv )N& G0Ob 'Q No C!WTO Y(ck !IQ *: true GB false).

NO D. ,sLp. x!- GC# @[ gkZ 3N 3$ 259 % 30. Web Connector 8: IG (hS) E3/v Wl E3/v3m apiSequence pageTag! #bI ' Web Connector! GQ API #b Cv:& vCOB APISequence NMdL: 8 v ; % C U OY. b ; {8N L 8 v : StartSession, pageLoadEvents, getOffers, logContact Cv:& gkUOY()b- 6v7 N 3B " s#[k v!! /$T). clickThruApiSequence clickThru! #bI ' Web Connector! GQ API #b Cv:& vCOB APISequence NMd L: 8v; %CUOY. b;{8N L 8v: StartSession W logAccept Cv:& gkUO Y. netInsightTag NetInsight BW #b; kUOB % gkGB HTML W JavaScript [C4; %CUOY. O]{ 8N L IG; /fX-B HKOY.

Web Connector |. dLv gk Web Connector!B /$ URL POz T2 gkR v VB 8:; 1T|.Om W :.R v VB ON 58& &xOB |. dLv! V@OY. GQ |. dLv& g kO) v$Q 8:; YC NeR v V@OY. |. dLv$8

vxGB % jslz& gkO) http://host:port/interact/jsp/ jsconnector.jsp& - v V@OY. )b- host:portB Web Connector! G` _ N #:. L' W ,a ;k _N w.TOY(9: runtime.example.com:7001).

Y=z0: f}8N |. dLv& gkR v V@OY.

% 31. Web Connector |. dLv IG IG k5 8: YC Nep:)! zeH 8: /f gW; ^p.N YC NeOAi 8: YC Ne 5)& ,/OJC@. 8: % dLv& gkOv Jm Web Connector jsconnector.xml 8: DO; w" /fQ fl L8T X_ UOY. 8: 8b 8: 8b! TBOB URL PO; bX8N WebConnector 8:; < v V @OY. dLv URL;TBOm 8: 8b& ,/Oi, Web ConnectorB C :[L Xg PO O!& bX8N gkR 8:; .OUOY. O!& #; v x8i b; 8:L .OKOY. LB CY% 8:L /$ dLv! gkGm V Bv )N& W:.OB % /kUOY.

260 IBM Unica Interact: |.Z !Le % 31. Web Connector |. dLv IG (hS) IG k5 dLv BW G` L dLvG Je& $lm dLv BW G`; ,/Oi Web Connector! URL PO; bX8N pageTag az&.OUOY. LB dLv BW #b; CD9LGUOY.

L 58!- pageTag& #bOB Mz G& % gL.& gkOB M#G w L!:L|. dLv& gkOi @y GB 9\! %CHYB MTOY. G & % gL.G fl, 9\B .OGv Jm Web Connector NW DO!8 % CKOY.

Web Connector dLv yC Q 9N, Web ConnectorG bIL n 3* dLv! BW v$GBv 3mOB testPage.html DOL Interact Web Connector! wTGz@OY. mGs )b!B X g yC dLv5 %CGn V@OY.

Web Connector HTML dLv yC

Sample Interact Web Connector Page

NO D. ,sLp. x!- GC# @[ gkZ 3N 3$ 263 264 IBM Unica Interact: |.Z !Le NO E. Interact W Intelligent Offer kU &0 GegW

IBM Unica Interact: IBM Coremetrics Intelligent OfferM kUO) Interact b] &0 GegW; &xR v V@OY. N &0 pN @[! kQ &0 GegW; &x R v Vv8, -N Y% f}; gkUOY. Intelligent OfferB f.ZG % gk b O(yw JM); gkO) f.ZM Ge @[ gLG s||h& teUOY. Interact: m4G zE `? PO, S:, bO; YA8N Om 8b vXG @[!BzG8O i-,(m4! kQ N8khP{ $8M b8 $8& YA8N) m4G `? ANDO ! n2 @[!!e{URv P@ fD8N DGUOY. @[ vt q2: Z! P@ ; kX 9x !IQ p(; teOB %5rL KOY. Interact: N &0G -!8 ; YA8N 3N ANDO; gkO) Intelligent Offer! |V ID& |^Om 1C Q @[GONN- f.Z!T %CR Nb5("}\ v:")& YA8N Ge &0; K vOB @[& $GR v V@OY. L VgG: m4!T u *: GegW; &CO ) &N [?OB &08Y gkZ ,/ v& C.m u *: :z& > v V@OY.

Y= =G!-B kUG[? fDz Z<{N gkZ $G @[ kU; }:Ob ' X &xGB yC @k ANW%G gk f}; 3mUOY.

Interactz Intelligent OfferG kU 3d L =G!-B AN<:! kQ 3mz kULLgnvB ^?Or; wTO) n;T IBM Unica InteractL IBM Coremetrics Intelligent OfferM kUO) Interact b] &0 GegW; &CR v VBv 3mUOY.

IBM Unica Interact: Intelligent Offer 3!!- gkR v VB REST(Represen- tational state transfer) API(Application Programming Interface)& kX IBM Coremetrics Intelligent OfferM kUUOY. Interact:{}Q |V IDN REST API & #bT8Na Ge &0; KvOm f.Z! 8m VB gkZ $G dLv! % CGB @[ $8! L1 Ge &0; wTR v V@OY.

f.Z! % dLv(9: Interact 3! C wTGB yC JSP dLv)G URL; < ', Xg dLvB Interact; #bO)@[& d!UOY. !e #\Q fl& 9N iZ i, CY%E3/vN Interact ;!- @[& 8:_Ym!$_; ' Y=z0: \ h! v`KOY. 1. dLv m.! f.ZG m4 ID& D0UOY. 2. Interact! kQ API #bLLgnvi- W m4;'Q @[& }:OB % J dQ $8& |^UOY.

© Copyright IBM Corp. 2001, 2012 265 3. ]/GB @[B @[ LLvG URL, m4L ,/R ' ,aGB #y dLvG URL, GeR &0; a$R ' gkR |V IDsB VR<3G S:; !x % dLv& &xUOY. 4. W/i |V ID& gkO) Ge &0 Kv;'Q Intelligent Offer& #bUO Y. L &0 <.B Xg |V!- !e_H.B &0x8N JSON(JavaScript Object Notation) |D8N &xKOY. 5. W/i f.ZG jslz!@[M &0L %CKOY.

L kU: @[ GegWz &0 GegW; T2 aUOB % /kUOY. 9& in, Q % dLv! N 3G s#[k v!LV;v V@OY. o, O*B @[! kQ s#[k v!, O*B W @[M O!OB GegW! kQ s#[k v!TOY. L 1 q{; ^:Ob 'X, % dLv!-B Interact; #bO) GC#

% dLv!- m4 ANDOz O!OB |V(9: m^ D9k *LA)8 #; q{8 N Interact; #bOBu#\Q 9& i v5 V@OY. L'B ^: |V ID& Intelligent OfferN |^Om D9k *LA &0 GegW; !.IOY.

kUJv dG Intelligent Offer - Interact kU; gkOAi, l1 L =G! 3mGn VB Jv dG; f7OBv .NX_ UOY.

Y= Jv dGL f7Gn_ UOY. v |.Z !LeMBsN 5r;! .--Gn VB Interact API gk}; wvOm Vn_ UOY. v Intelligent Offer 3_Z 3m-! 3mGn VB Intelligent Offer REST API& IwOT Yj v Vn_ UOY. v HTML, JavaScript, CSS W JSON(JavaScript Object Notation)! kQ bJ v DLVn_ UOY.

Intelligent Offer REST APIB gkZ! d;OB &0 $8& JSON |DG %L MN ]/Ob '.! JSON;LXOB ML _dUOY. v (JSP! JvN M: FOv8) Interactz T2 &xGB %p @k ANW%!- JSP& gkOb '.!, % dLvG -v x Zy! MwX_ UOY.

266 IBM Unica Interact: |.Z !Le v InteractL &0 GegW(gkZ! v$OB |V!- !e_H.E* Nb VB &0); KvO5O h9Om VB |V ID qOz /?Q Intelligent Offer h$L Vn_ UOY. v Intelligent Offer REST API 5)(Intelligent Offer /f;'Q URL)! Vn_ UOY.

Z

Intelligent Offer kU;'Q @[ 8: l1 Intelligent OfferN |^RJv $8N IBM Unica Interact @[& 8:X_ % dLv!- IBM Coremetrics Intelligent Offer& #bO) Ge &0; KvR v V @OY.

Intelligent Offer 5)! kQ @[& 3$OAi, l1 Y= 6GL f7GBv .N OJC@. v Interact 18S -v! 3$Gn Vm CY#T G` _Nv .NOJC@. v f-.L %X % ,a(w. 80)G _E ,a 3$; 7v JBv .NOB M; q TO), 18S -v! Intelligent Offer -vM,a; 3$R v VBv .NOJ C@.

Intelligent OfferMG kU;'Q @[& 3$OAi Y= \h& v`OJC@. 1. Interact! kQ @[& [:OE* m}OJC@.

@[ }: W v$! |Q Z

Intelligent Offer 8:!- |V ID& v?8N KvR v V@OY. Interact: |V ID *; w" KvR v x@OY.

Interact 3! C T2 wTGB %p %@k ANW%!-B L1 @[ S:; ImageURL, ClickThruURL W CategoryIDsm N(OY. %@k ANW%L @ [!- 9sOm VB *z O!OB Q, L': gkZ!T GL VB n2 L' LgIv V@OY.

NO E. Interact W Intelligent Offer kU &0 GegW 267 9& in, L1 S:; wTQ "10PercentOff"sB @[& $GR v5 V8g, ) b- |V ID(Intelligent Offer 8:!- KvJ)B PROD1161127, @[ gkZ , /G URL: http://www.example.com/success, @[! kX%CR LLvG URL: http://localhost:7001/sampleIO/img/10PercentOffer.jpgTOY(L fl!B Interact 18S -v! kX NCN URL). 3. L @[& wTR k-D $N! kQ 3. T"; $GOm k-D $N; rRk N hwOJC@.

L& @[B Intelligent Offer kU! JdQ $8N $GKOY. Intelligent Offer! Interact! kQ &0 GegW; &xR v V5O Ob 'X 2:[w:{}Q API & #bO5O % dLv& 8:OB MTOY.

%@k ANW%L f.Z!T kU dLv& -q:O5O 8:R ', WEB-INF/lib p:d.! Y= DOL wTGn VBv .NOJC@. v Interact_Home/lib/interact_client.jar - % dLv!- Interact APING # b; 3.OB % JdUOY. v Interact_Home/lib/JSON4J_Apache.jar - JSON |DG %LM& ]/OB Intelligent Offer REST API! kQ #b!- ]/GB %LM& 3.OB % J dUOY.

m4!T @[& -q:OB f}! |Q Z

pg Interact 18S 3!!B Intelligent Offer - Interact kUAN<:& 8)VB yC %p AN'.! wTKOY. yCAN'.B % dLvG s#[k v!! %C Ob 'Q Ge &0 qO; KvOb 'X Intelligent OfferN |^GB |V ID& w TQ @[& #bOB % dLv& }:OB AN<:& 3=NM !nv O.OT 8 )VB %p& &xUOY. 3d

kUAN<:& W:.OAi wTH yCAN'.& &xH sB WkN gkOi Gm, Z<{8N gkZ $G dLv& 3_OAi L yCAN'.& C['!N o 8i KOY. yCAN'.BY= DO! V@OY.

Interact_home/samples/IntelligentOfferIntegration/MySampleStore.jsp

L DO!B kUAN<: |<& 8)VB [w 9&! V; S FOs, Interact! -3$R gW, .jsp DO!- gkZ $GR gW, 3! CG`R dLv& CYN hwOB f}; 3mOB $|'Q 3m5 wTGn V@OY.

268 IBM Unica Interact: |.Z !Le MySampleStore.jsp

mGs, )b!B MySampleStore.jsp DOL %CGn V@OY. InteractG DS 1. :!- L yC: w%L.I v V8GN, 3! ANW%! T2 wTH DO; Jd Q 9&G C['!N o8JC@.

<%@ page contentType="text/html; charset=UTF-8" language="java" %> <%@ page import="java.net.URL, java.net.URLConnection, java.io.InputStreamReader, java.io.BufferedReader, com.unicacorp.interact.api.*, com.unicacorp.interact.api.jsoverhttp.*, org.apache.commons.json.JSONObject, org.apache.commons.json.JSONArray" %>

<%

/********************************************************************************* * This sample jsp program demonstrates integration of Interact and IntelligentOffer. * * When the URL for this jsp is accessed via a browser. the logic will call Interact * to fetch an Offer. Based on the categoryID associated to the offer, the logic * will call IntelligentOffer to fetch recommended products. The offer and products * will be displayed. * To toggle the customerId in order to demonstrate different offers, one can simply * append cid= to the URL of this JSP. * * Prerequisites to understand this demo: * 1) familiarity of Interact and its java API * 2) familiarity of IntelligentOffer and its RestAPI * 3) some basic web background ( html, css, javascript) to mark up a web page * 4) Technology used to generate a web page (for this demo, we use JSP executed on the server side) * * * Steps to get this demo to work: * 1) set up an Interact runtime environment that can serve up offers with the following * offer attributes: * ImageURL : url that links to the image of the offer * ClickThruURL : url that links to the landing page of the offer * CategoryID : IntelligentOffer category id associated to the offer * NOTE: alternate names for the attributes may be used as long as the references to those * attributes in this jsp are modified to match. * 2) Obtain a valid REST API URL to the Intelligent Offer environment * 3) Embed this JSP within a Java web application * 4) Make sure interact_client.jar is in the WEB-INF/lib directory (communication with Interact) * 5) Make sure JSON4J_Apache.jar (from interact install) is in the * WEB-INF/lib directory (communication with IO) * 6) set the environment specific properties in the next two sections **********************************************************************************/

/********************************************************************************* * *****************CHANGE THESE SETTINGS TO REFLECT YOUR ENV******************** * Set your Interact environment specific properties here... **********************************************************************************/

final String sessionId="123"; final String interactiveChannel = "SampleIO"; final String audienceLevel = "Customer"; final String audienceColumnName="CustomerID"; final String ip="ip1";

NO E. Interact W Intelligent Offer kU &0 GegW 269 int customerId=1; final String interactURL="http://localhost:7011/interact/servlet/InteractJSService"; final boolean debug=true; final boolean relyOnExistingSession=true;

/********************************************************************************* *****************CHANGE THESE SETTINGS TO REFLECT YOUR ENV******************** * Set your Intelligent Offers environment specific properties here... **********************************************************************************/

final String ioURL="http://recs.coremetrics.com/iorequest/restapi"; final String zoneID="ProdRZ1"; final String cID="90007517";

/********************************************************************************* ********************************************************************************/

StringBuilder interactErrorMsg = new StringBuilder(); StringBuilder intelligentOfferErrorMsg = new StringBuilder();

// get the customerID if passed in as a parameter String cid = request.getParameter("cid"); if(cid != null) { customerId = Integer.parseInt(cid); }

// call Interact to get offer Offer offer=getInteractOffer(interactURL,sessionId,interactiveChannel,audienceLevel, audienceColumnName,ip,customerId,debug,relyOnExistingSession,interactErrorMsg);

// get specific attributes from the offer (img url, clickthru url, & category id) String offerImgURL=null; String offerClickThru=null; String categoryId="";

if(offer != null) { for(NameValuePair offerAttribute : offer.getAdditionalAttributes()) { if(offerAttribute.getName().equalsIgnoreCase("ImageURL")) { offerImgURL=offerAttribute.getValueAsString(); } else if(offerAttribute.getName().equalsIgnoreCase("ClickThruURL")) { offerClickThru=offerAttribute.getValueAsString(); } else if(offerAttribute.getName().equalsIgnoreCase("CategoryID")) { categoryId=offerAttribute.getValueAsString(); } } }

// call IO to get products JSONObject products=getProductsFromIntelligentOffer(ioURL, cID, zoneID, categoryId, intelligentOfferErrorMsg);

%>

My Favorite Store

Welcome To My Store Mr/Mrs. <%=customerId %>

<% if(offer != null) { %>

<%}else{%> No offer available..

<%=interactErrorMsg.toString() %> <%}%>

<% if(products != null) { %>












<%}else{%>












No products available...

<%=intelligentOfferErrorMsg.toString() %>
<%}%>

<%! /********************************************************************************* * The following are convenience functions that will fetch from Interact and * Intelligent Offer **********************************************************************************/

/********************************************************************************* * Call IntelligentOffer to retrieve recommended products **********************************************************************************/ private JSONObject getProductsFromIntelligentOffer(String ioURL, String cID, String zoneID, String categoryID, StringBuilder intelligentOfferErrorMsg) {

try {

ioURL += "?cm_cid="+cID+"&cm_zoneid="+zoneID+"&cm_targetid="+categoryID; System.out.println("CoreMetrics URL:"+ioURL); URL url = new java.net.URL(ioURL);

URLConnection conn = url.openConnection();

InputStreamReader inReader = new InputStreamReader(conn.getInputStream()); BufferedReader in = new BufferedReader(inReader);

StringBuilder response = new StringBuilder();

while(in.ready()) { response.append(in.readLine()); }

in.close();

intelligentOfferErrorMsg.append(response.toString());

System.out.println("CoreMetrics:"+response.toString());

if(response.length()==0) return null;

return new JSONObject(response.toString()); } catch(Exception e)

272 IBM Unica Interact: |.Z !Le { intelligentOfferErrorMsg.append(e.getMessage()); e.printStackTrace(); }

return null;

}

/********************************************************************************* * Call Interact to retrieve offer **********************************************************************************/ private Offer getInteractOffer(String interactURL,String sessionId,String interactiveChannel, String audienceLevel, String audienceColumnName,String ip, int customerId,boolean debug, boolean relyOnExistingSession, StringBuilder interactErrorMsg) { try { InteractAPI api = InteractAPI.getInstance(interactURL); NameValuePairImpl custId = new NameValuePairImpl(); custId.setName(audienceColumnName); custId.setValueAsNumeric(Double.valueOf(customerId)); custId.setValueDataType(NameValuePair.DATA_TYPE_NUMERIC); NameValuePairImpl[] audienceId = { custId };

// call startSession Response response = api.startSession(sessionId, relyOnExistingSession, debug, interactiveChannel, audienceId, audienceLevel, null);

if(response.getStatusCode() == Response.STATUS_ERROR) { printDetailMessageOfWarningOrError("startSession",response, interactErrorMsg); }

// call getOffers response = api.getOffers(sessionId, ip, 1); if(response == null || response.getStatusCode() == Response.STATUS_ERROR) { printDetailMessageOfWarningOrError("getOffers",response, interactErrorMsg); }

OfferList offerList=response.getOfferList();

if(offerList != null && offerList.getRecommendedOffers() != null) { return offerList.getRecommendedOffers()[0]; } } catch(Exception e) { interactErrorMsg.append(e.getMessage()); e.printStackTrace(); } return null; }

private void printDetailMessageOfWarningOrError(String command, Response response, StringBuilder interactErrorMsg) { StringBuilder sb = new StringBuilder(); sb.append("Calling "+command).append("
"); AdvisoryMessage[] messages = response.getAdvisoryMessages();

for(AdvisoryMessage msg : messages) { sb.append(msg.getMessage()).append(":"); sb.append(msg.getDetailMessage()); sb.append("
"); } interactErrorMsg.append(sb.toString()); } %>

NO E. Interact W Intelligent Offer kU &0 GegW 273 274 IBM Unica Interact: |.Z !Le IBM Unica bz vx cgZ!T .G

.-& |6X5 .&!; XaR v xB fl, 8gG v$H vx cgZ! IBM Unica bz vx cgZMG k-& bOR v V@OY. L}G$8& gkO) . &!; ?2{8N XaOJC@.

8gG v$H vx cgZ! FQ fl!B IBM Unica |.Z!T .GO) $8& r; v V@OY. $8 v}

IBM Unica bz vx cgZ!T .GOb |! Y= $8& v}X_ UOY. v .&!G /:! kQ #\Q 3m v Xg .&!L _}R ' %CGB Z

v |CNW DO,

C:[ $8

IBM Unica bz vx cgZM k-R ' /f $8& d;OB fl! V@OY.

.&! '.! NWNL R!IQ fl\!B, 3!H IBM Unica @k ANW%! kQ $8& &xOB &0 $8 dLv!- L/Q $8 kNP; r; v V@OY.

5r; > &0 $8& 1CO) &0 $8 dLv! W<:R v V@OY. &0 $8 dLv! W<:R v xB fl!B " @k ANW%G 3! p:d. F!! VB version.txt DO; gkO) pg IBM Unica @k ANW%G v| x#& K v V@OY.

IBM Unica bz vx cgZ!T .G

IBM Unica bz vx cgZ!T .GOB f}: IBM Unica &0 bz vx % gL.(http://www.unica.com/about/product-technical-support.htm)& |6OJC@.

© Copyright IBM Corp. 2001, 2012 275 276 IBM Unica Interact: |.Z !Le VGgW

L $8B L9!- &xGB &0 W -q:k8N [:H MTOY.

IBM: Y% 9!!- L %! bzH &0, -q: GB bI; &xOv J; v5 V@OY. vg gkR v VB &0 W -q:! kQ $8B Q9 IBM cgZ!T .GOJC@. L %!- IBM &0, ANW% GB -q:& p^_Ym X- Xg IBM &0, ANW% GB -q:8; gkR v VYB M;GLOvB J@OY. IBMG v{gjG; 'XOv JB Q, bIs8N ?nQ &0, ANW% GB -q:& k E gkR v5 V@OY. W/* qIBM &0, ANW% GB -q:G n5! kQ r! W Ku: gkZG %STOY.

IBM:L%!- Ygm VB /$ ;k! kX /c& 8/Om VE* vg /c bx _O v V@OY. L %; &xQYm X- /c! kQ sL>:nv N)OB M: FUOY. sL>:! kQ G.gW: Y=8N .GOJC@.

135-700 -o/0C -28 5n? 467-12, :Nx&8|ty Q9 FL.q.% VD8g m487>M |-x#: 080-023-8080

2YL.(DBCS) $8! |Q sL>: .GB Q9 IBM m487>M! .GOE* Y= VRN -i .GOCb YxOY.

Intellectual Property Licensing Legal and Intellectual Property Law IBM Japan Ltd. 1623-14, Shimotsuruma, Yamato-shi Kanagawa 242-8502 Japan

Y= \t: vv}z sfOB 59L* b8 9!!-B {kGv J@OY. IBM: 8NG G. q'X, s0: W /$ q{!G{U:! kQ ,C{ 8u; wTO) (\, L! QOv J=) mC{ GB ,C{N O

© Copyright IBM Corp. 2001, 2012 277 L $8!B bz{8N N$.Q ;kL* NbsG @y! V; v V@OY. L $ 8B Vb{8N /fGg, /fH gW: VEG! kUKOY. IBM:L%!-3 mQ &0 W/GB ANW%; g| kv xL p&gv 31 W/GB /fR v V@ OY.

L $8!- p^GB qIBMG%gL.B\v mGs &xH M8N, n2 fD8 Ng Li % gL.& K#OmZ OB M: FUOY. Xg % gL.GZaB ; IBM &0 ZaGON! FOGN Xg % gL. gk8N NQ 'h: gkZ ;N L (vX_ UOY.

IBM: MOG G.& 'XOv JB |' ;!- {}OYm }"OB fD8N MO ! &xQ $8& gkOE* hwR v V@OY.

(i) 63{8N [:H ANW%z b8 ANW%(; ANW% wT)#G $8 3/ W (ii) 3/H $8G s# Lk; q{8N ; ANW%! |Q $8& rmZ OB s L>: gkZBY= VRN .GOJC@.

135-700 -o/0C -28 5n? 467-12, :Nx&8|ty Q9 FL.q.% VD8g m487>M

L/Q $8B Xg 6G(9& ii, gka vR n)O!- gkI v V@OY.

L $8! bzH sL>:! N)H ANW% W ANW%! kX gk !IQ pg sL>:! N)H ZaB IBML IBM b; h`, IBM ANW% sL>: h`(IPLA) GB LM ?nQ h`! {s &xQ MTOY.

; .-! wTH pg :I %LMB &QH /f!- jbH MTOY. {s- Y% n5 /f!- rnx azB sgw Y& v V@OY. ON :I: 3_ \hG C: [!- x$Gz; v V8GN L/Q x$!! O]{8N gkGm VB C:[!- 5?OOT *8/ MLsmB 8uR v x@OY. GQ ON :I: _$; kX _ xGz; v5 V8GN G& azBY& v V@OY. L %G gkZB Xg %LM & ;NG /$ /f!- KuX_ UOY.

qIBM &0! |Q $8B Xg &0G x^w<, x3 Za GB b8 |k R:N NM r: MTOY.IBM!-B L/Q qIBM &0; ]eC W:.Ov JR8GN, Li &0z|CH :IG $.:, #/: GB b8 Ve! kX-B .NR v x@ OY. qIBM &0G :I! kQ G.gW: Xg &0G x^w

IBML &COB fb GB G5! |Q pg p^: /0Q kv xL /fI v V @OY.

278 IBM Unica Interact: |.Z !Le )b! *@B pg IBMG !]: IBML &COB v RE!Lg kv xL /fI v V@OY. G& GE!BY& v V@OY.

L $8!B OsG qnO: n5!- gkGB Za W 8m-! kQ 9&! in V@OY. Li 9&!B 3d; !IQ O.OT 3mOb 'O) 3N, 8g, s% W &0GL'L gkI v V@OY. Li L': pN !xG MLg G& bwGL' W VRM /gOus5 LB |{8N l,TOY.

z[G sL>::

L $8!B )/ n5 C'{!-G ANW!V b}; 8)VB xnN H yC @ kANW%L in V@OY. MOB L/Q yCANW%G[: bXL H n5 C '{G@kANW% ANW!V NMdL:(API)! NUOB @kANW%; 3_, g k, GE GB hwR q{8N _! qk xLLi yCANW%; n0Q|BNg 9g, v$ WhwR v V@OY. L/Q yCANW%: pg 6GO!- O|w W :.H M: FUOY. {s- IBM:L/QANW%G EZ:, -q: !I: GB bI; 8uOE* xzOv J@OY. ; yCANW%:O

L $8& RA.+GN .NOB fl!B gxz C/ p-! &kN *8*v J; v5 V@OY. s%

IBM, IBM Nm W ibm.com:|

VGgW 279