日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

事件上報(bào)接口規(guī)范2.0

更新時(shí)間:

本文檔提供Quick Audience事件上報(bào)開放接口,當(dāng)您采用自主接入的事件上報(bào)方式時(shí)可使用。

完整的自主接入事件數(shù)據(jù)上報(bào)流程,請(qǐng)參見自主接入上報(bào)流程

說明

當(dāng)前僅提供Java語言的SDK。

安裝Java SDK

操作步驟:

  1. 安裝阿里云Java核心庫(kù),請(qǐng)參見安裝Alibaba Cloud SDK for Java

    SDK使用說明,請(qǐng)參見Java示例

  2. 訪問Aliyun Java SDK Retailadvqa Public,下載并安裝Quick Audience Java SDK。

  3. 下載quicka-openapi-sdk-4.4.0-SNAPSHOT.jar,加入項(xiàng)目目錄。

  4. 在項(xiàng)目目錄下的pom.xml文件中,添加以下Maven依賴。

<dependency>
        <groupId>com.aliyun.quicka</groupId>
        <artifactId>quicka-openapi-sdk</artifactId>
        <version>4.4.0-SNAPSHOT</version>
        <scope>system</scope>
        <!--以下替換為quicka-openapi-sdk-4.4.0-SNAPSHOT的目錄地址-->
        <systemPath>/Users/fin-13921/Documents/project/qa-second/Abc/quicka-openapi-sdk-4.4.0-SNAPSHOT.jar</systemPath>
    </dependency>

    <dependency>
    <groupId>com.aliyun.api.gateway</groupId>
    <artifactId>sdk-core-java</artifactId>
    <version>1.1.6</version>
</dependency>

<dependency>
    <groupId>com.aliyun</groupId>
    <artifactId>aliyun-java-sdk-core</artifactId>
    <optional>true</optional>
    <version>[4.5.6,5.0.0)</version>
</dependency>

獲取接口通用參數(shù)

調(diào)用開放接口前需要獲取幾個(gè)通用參數(shù):

參數(shù)名稱

含義

獲取方法

endpoint

Quick Audience開放接口的訪問地址。

公共云Quick Audience開放接口的訪問地址為:

  • 張家口:quicka-public.cn-zhangjiakou.aliyuncs.com

  • 上海:quicka-public.cn-shanghai.aliyuncs.com

  • 深圳:quicka-public.cn-shenzhen.aliyuncs.com

accessId

您的Quick Audience的組織ID。

組織管理員賬號(hào)登錄Quick Audience后,選擇管理中心>組織管理>組織系統(tǒng)配置,頁(yè)面展示的AccessKey ID即為組織ID,您可以單擊復(fù)制按鈕進(jìn)行復(fù)制。

workspaceId

事件歸屬的工作空間ID。

選填。若不傳入,當(dāng)不同空間有多個(gè)相同事件編碼的事件時(shí),多個(gè)事件均將獲得上報(bào)的數(shù)據(jù)。

組織管理員賬號(hào)登錄Quick Audience后,選擇管理中心>組織管理>工作空間管理,在列表中查詢工作空間對(duì)應(yīng)的ID。

ACCESS_KEY_ID、ACCESS_SECRET

具有Quick Audience訪問權(quán)限的RAM用戶的AccessKey ID、AccessKey Secret。

具有Quick Audience訪問權(quán)限的RAM用戶登錄RAM控制臺(tái),創(chuàng)建并獲取AccessKey ID、AccessKey Secret,請(qǐng)參見創(chuàng)建AccessKey

阿里云賬號(hào)AccessKey擁有所有API的訪問權(quán)限,建議您使用RAM用戶進(jìn)行API訪問或日常運(yùn)維。

強(qiáng)烈建議不要把AccessKey ID和AccessKey Secret保存到工程代碼里,否則可能導(dǎo)致AccessKey泄露,威脅您賬號(hào)下所有資源的安全。

本示例以將AccessKey 和 AccessKeySecret 保存在環(huán)境變量為例說明。

SDK demo示例

import com.alibaba.fastjson.JSON;
import com.aliyuncs.AcsRequest;
import com.aliyuncs.AcsResponse;
import com.aliyuncs.exceptions.ClientException;
import com.aliyuncs.retailadvqa_public.client.QAHttpApiClient;
import com.aliyuncs.retailadvqa_public.client.constants.enums.GatewayType;
import com.aliyuncs.retailadvqa_public.client.constants.enums.InvokerType;
import com.aliyuncs.retailadvqa_public.client.model.event.ClientEventMessageModel;
import com.aliyuncs.retailadvqa_public.client.model.event.CustomerIdModel;
import com.aliyuncs.retailadvqa_public.client.param.PopClientBuilderParam;
import com.aliyuncs.retailadvqa_public.model.v20200515.ReceiveEventMessageRequest;
import com.aliyuncs.retailadvqa_public.model.v20200515.ReceiveEventMessageResponse;
import org.junit.Before;
import org.junit.Test;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;


public class EventCenterPopTest {
    /**
     *組織ID
     */
    private final static String accessId = "78e8f4b4***5ae16b59b";

    /**
     * ************ pop網(wǎng)關(guān)參數(shù) ****************
     */

    /**
     * quicka-public.[RegionId].aliyuncs.com
     */
    protected final static String ENDPOINT = "quicka-public.cn-shanghai.aliyuncs.com";
    protected final static String REGION_ID = "cn-shanghai";
    protected final static String ENDPOINT_NAME = "retailadvqa-public";
    protected final static String PRODUCT = "retailadvqa-public";
    /**
     *工作空間ID,選填
     */
    String workspaceId = "f35f12d7****ccdf9da93ad3";

    @Before
    public void init() throws ClientException {
      /**
       * 阿里云賬號(hào)AccessKey擁有所有API的訪問權(quán)限,建議您使用RAM用戶進(jìn)行API訪問或日常運(yùn)維。
       * 強(qiáng)烈建議不要把AccessKey ID和AccessKey Secret保存到工程代碼里,否則可能導(dǎo)致AccessKey泄露,威脅您賬號(hào)下所有資源的安全。
       * 本示例以將AccessKey 和 AccessKeySecret 保存在環(huán)境變量為例說明。
       * 保存環(huán)境變量的方法參考如下:
       * Linux和macOS系統(tǒng)配置方法
       * 執(zhí)行以下命令:
       * export SCA_AK_ENV=<access_key_id>
       * export SCA_SK_ENV=<access_key_secret>
       * <access_key_id>替換為已準(zhǔn)備好的AccessKey ID,<access_key_secret>替換為AccessKey Secret。
       */
      	PopClientBuilderParam popClientBuilderParam = PopClientBuilderParam.builder()
                .endpointName(ENDPOINT_NAME)
                .endpoint(ENDPOINT)
                .accessKeyId(System.getenv("SCA_AK_ENV"))
                .accessSecret(System.getenv("SCA_SK_ENV"))
                .regionId(REGION_ID)
                .product(PRODUCT).build();
        QAHttpApiClient.initPopInstance(popClientBuilderParam);
    }


    /**
     * 事件數(shù)據(jù)上報(bào)消息明細(xì)
     */
    @Test
    public void receiveMessage() {
        ReceiveEventMessageRequest request = new ReceiveEventMessageRequest();
        // 組織ID
        request.setAccessId(accessId);
        ClientEventMessageModel clientEventMessageModel = new ClientEventMessageModel();
        // 工作空間ID,選填
        clientEventMessageModel.setWorkspaceId(workspaceId);
        // 事件編碼
        clientEventMessageModel.setEventCode("testEventCode");
        // 事件屬性,包含屬性編碼和屬性值
        clientEventMessageModel.setExtendAttributes(new HashMap<String, String>(){{
            this.put("occur_time_default", "1658112165000");
            this.put("attr_code", "attr_value");
        }});
        // 用戶在您自有體系中的用戶ID
        clientEventMessageModel.setCustomerId("100001");
        // 是否是交易數(shù)據(jù),0 (不是) / 1 (是)
        clientEventMessageModel.setIsOrder(0);
        // 事件發(fā)生時(shí)間
        clientEventMessageModel.setEventTime(System.currentTimeMillis());
        // Quick Audience空間支持的用戶ID,必填
        clientEventMessageModel.setCustomerIdList(new ArrayList<CustomerIdModel>(){{
            this.add(new CustomerIdModel("188****5531", "MOBILE"));
        }});

        request.setEventMessageModelListJson(JSON.toJSONString(Arrays.asList(clientEventMessageModel)));
        
        try {
            ReceiveEventMessageResponse acsResponse = (ReceiveEventMessageResponse) invoke(request);
            if (acsResponse.getSuccess()) {
                System.out.println("success");
                System.out.println(JSON.toJSONString(acsResponse));
            } else {
                System.out.println(JSON.toJSONString(acsResponse));
            }

        } catch (ClientException e) {
            e.printStackTrace();
        }
    }

    private AcsResponse invoke(AcsRequest request) throws ClientException {
        return QAHttpApiClient.invoke(request, GatewayType.POP, InvokerType.OTHER);
    }
    
}

事件數(shù)據(jù)上報(bào)接口

接口描述

用于發(fā)送事件數(shù)據(jù)實(shí)時(shí)上報(bào)消息,自主接入方式。

URL

openapi/event/detail/receive?=accessId

請(qǐng)求方式

post

參數(shù)名

數(shù)據(jù)類型

參數(shù)類型

是否必填

說明

1.accessId

string

body

AccessKey ID,您的Quick Audience的組織ID。

2.eventMessageModelListStr

string

詳細(xì)見下面的事件模型ClientEventMessageModel

狀態(tài)碼

說明

200

接口請(qǐng)求成功

其他

請(qǐng)求失敗

返回屬性名

類型

說明

1.traceId

string

請(qǐng)求的唯一ID,用于定位鏈路上的問題。

2.success

boolean

服務(wù)器處理是否成功。

3.errorCode

string

錯(cuò)誤碼。

4.errorDesc

string

錯(cuò)誤描述。

示例

請(qǐng)求參數(shù)

curl --location --request POST 'https://endpoint/openapi/event/detail/receive?accessId=7*****65ae16b59b' \ --form 'eventMessageModelListJson="[{\"comeFrom\":\"test\",\"customerId\":\"100001\",\"customerIdList\":[{\"customerId\":\"188****5531\",\"idMapping\":\"MOBILE\"}],\"eventCode\":\"testEventCode\",\"eventTime\":1658226007958,\"extendAttributes\":{\"attr_code\":\"attr_value\",\"occur_time_default\":\"1658112165000\"}}]"'

返回值

{

"errorCode": null,

"errorDesc": null,

"success": true,

"traceId": "ff0f996e-6c63-412d-a4cd-acf5d007****"

}

事件模型ClientEventMessageModel

@Data
public class ClientEventMessageModel {

    /**
     * 組織ID,必填
     */
    String organizationId;

    /**
     * 空間ID,選填
     */
    String workspaceId;

    /**
     * 用戶在您自有體系中的用戶ID,必填
     */
    String customerId;

    /**
     * 事件編碼,必填
     */
    String eventCode;

    /**
     * 事件發(fā)生時(shí)間,必填
     */
    Long eventTime;

    /**
     * 事件屬性,是否必填取決于事件定義中對(duì)屬性的設(shè)置
     */
    Map<String, String> extendAttributes = new HashMap<>();

    /**
     * Quick Audience空間支持的用戶ID,若之前同一個(gè)customerId上報(bào)過customerIdList,則選填
     */
    List<CustomerIdModel> customerIdList = new ArrayList<>();

    /**
     * 是否是交易數(shù)據(jù),0 (不是) / 1 (是)
     */
    String isOrder;
}

@Data
public class CustomerIdModel {
    String customerId;
    String idMapping;
    public CustomerIdModel() {
    }
    public CustomerIdModel(String customerId, String idMapping) {
        this.customerId = customerId;
        this.idMapping = idMapping;
    }
}

CustomerIdModel:

public class CustomerIdModel {
    @ApiModelProperty(required = true, value = "實(shí)際用戶ID,如手機(jī)號(hào)類型的139****0000")
    String customerId;
    @ApiModelProperty(required = true, value = "用戶ID類型,如手機(jī)號(hào),請(qǐng)參見下面的用戶ID類型說明")
    String idMapping;
}

用戶ID類型說明:

Quick Audience空間支持的用戶ID類型包括本空間的ID類型管理頁(yè)面中所有已啟用狀態(tài)的ID類型,請(qǐng)?jiān)诖a中使用ID類型編碼作為ID類型的名稱。

  • 系統(tǒng)預(yù)置ID的ID類型編碼,請(qǐng)查閱系統(tǒng)預(yù)置ID列表

  • 自定義ID的ID類型編碼,請(qǐng)單擊ID對(duì)應(yīng)的編輯按鈕進(jìn)行查看。