1、引入依赖
首先引入依赖,这里我使用API v14.0:
XML
<dependency>
<groupId>com.facebook.business.sdk</groupId>
<artifactId>facebook-java-business-sdk</artifactId>
<version>14.0.0</version>
</dependency>
2、修改配置文件
在application.yml或properties中引入 pix_id 和 access_token:
XML
facebook.pix.id=xxxxxxx
facebook.access.token=xxxxxxxxxxx
3、Controller文件
编写接口:
java
@PostMapping("/facebook")
public CommonResult<String> returnToPlat(@RequestBody @Valid InvestParam investParam) {
service.returnToPlat(investParam);
return CommonResult.ok();
}
4、Service文件
java
@Value("${facebook.pix.id}")
private String pixId;
@Value("${facebook.access.token}")
private String accessToken;
@Override
public void returnToPlat(InvestParam investParam) {
APIContext context = new APIContext(accessToken).enableDebug(true);
context.setLogger(System.out);
UserData userData = new UserData()
.fbc(investParam.getExposureId());
BigDecimal decimal = investParam.getFee().divide(new BigDecimal(100));
Float fee = Float.valueOf(String.valueOf(decimal));
CustomData customData = new CustomData()
.currency("usd")
.value(fee);
Event purchaseEvent = new Event();
purchaseEvent.eventName(investParam.getEventType())
.eventTime(System.currentTimeMillis() / 1000L)
.userData(userData)
.customData(customData)
.actionSource(ActionSource.website);
EventRequest eventRequest = new EventRequest(pixId, context);
eventRequest.addDataItem(purchaseEvent);
try {
EventResponse response = eventRequest.execute();
investOperate.setResult(response.toString());
this.save(investOperate);
System.out.println(String.format("Standard API response : %s ", response));
} catch (APIException e) {
e.printStackTrace();
}
}
回传接口API官方文档:
https://developers.facebook.com/docs/marketing-api/conversions-api/using-the-api