#[derive(Debug, Clone, Copy, PartialEq, Eq)]
pub enum EndpointPriority {
Core,
Extended,
Vertical,
}
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
pub struct EndpointInventoryItem {
pub category: &'static str,
pub endpoint_id: &'static str,
pub http_method: &'static str,
pub path: &'static str,
pub deprecated: bool,
pub implemented: bool,
pub priority: EndpointPriority,
}
pub const DEPRECATION_POLICY: &str =
"Deprecated endpoints are tracked but excluded from mandatory coverage unless explicitly required.";
pub const ENDPOINT_INVENTORY: &[EndpointInventoryItem] = &[
item(
"mp-access-token",
"accessToken.getAccessToken",
"GET",
"/cgi-bin/token",
false,
true,
EndpointPriority::Core,
),
item(
"mp-access-token",
"accessToken.getStableAccessToken",
"POST",
"/cgi-bin/stable_token",
false,
true,
EndpointPriority::Core,
),
item(
"openapi",
"openapi.clearQuota",
"POST",
"/cgi-bin/clear_quota",
false,
true,
EndpointPriority::Core,
),
item(
"openapi",
"openapi.getApiQuota",
"POST",
"/cgi-bin/openapi/quota/get",
false,
true,
EndpointPriority::Core,
),
item(
"openapi",
"openapi.clearApiQuota",
"POST",
"/cgi-bin/openapi/quota/clear",
false,
true,
EndpointPriority::Extended,
),
item(
"openapi",
"openapi.clearQuotaByAppSecret",
"POST",
"/cgi-bin/clear_quota/v2",
false,
true,
EndpointPriority::Extended,
),
item(
"openapi",
"openapi.getRidInfo",
"POST",
"/cgi-bin/openapi/rid/get",
false,
true,
EndpointPriority::Core,
),
item(
"openapi",
"openapi.callbackCheck",
"POST",
"/cgi-bin/callback/check",
false,
true,
EndpointPriority::Extended,
),
item(
"openapi",
"openapi.getApiDomainIp",
"GET",
"/cgi-bin/get_api_domain_ip",
false,
true,
EndpointPriority::Extended,
),
item(
"openapi",
"openapi.getCallbackIp",
"GET",
"/cgi-bin/getcallbackip",
false,
true,
EndpointPriority::Extended,
),
item(
"login",
"auth.code2Session",
"GET",
"/sns/jscode2session",
false,
true,
EndpointPriority::Core,
),
item(
"login",
"auth.checkSessionKey",
"POST",
"/wxa/checksession",
false,
true,
EndpointPriority::Extended,
),
item(
"login",
"auth.resetUserSessionKey",
"POST",
"/wxa/resetusersessionkey",
false,
true,
EndpointPriority::Extended,
),
item(
"user-info",
"user.getPluginOpenPId",
"POST",
"/wxa/getpluginopenpid",
false,
true,
EndpointPriority::Extended,
),
item(
"user-info",
"user.checkEncryptedData",
"POST",
"/wxa/business/checkencryptedmsg",
false,
true,
EndpointPriority::Extended,
),
item(
"user-info",
"user.getPaidUnionid",
"GET",
"/wxa/getpaidunionid",
false,
true,
EndpointPriority::Extended,
),
item(
"user-info",
"user.getUserEncryptKey",
"POST",
"/wxa/business/getuserencryptkey",
false,
true,
EndpointPriority::Extended,
),
item(
"user-info",
"user.getPhoneNumber",
"POST",
"/wxa/business/getuserphonenumber",
false,
true,
EndpointPriority::Core,
),
item(
"qrcode-link",
"qrcode.getQRCode",
"POST",
"/wxa/getwxacode",
false,
true,
EndpointPriority::Core,
),
item(
"qrcode-link",
"qrcode.getUnlimitedQRCode",
"POST",
"/wxa/getwxacodeunlimit",
false,
true,
EndpointPriority::Core,
),
item(
"qrcode-link",
"qrcode.createQRCode",
"POST",
"/cgi-bin/wxaapp/createwxaqrcode",
false,
true,
EndpointPriority::Core,
),
item(
"qrcode-link",
"qrcode.generateScheme",
"POST",
"/wxa/generatescheme",
false,
true,
EndpointPriority::Core,
),
item(
"qrcode-link",
"qrcode.queryScheme",
"POST",
"/wxa/queryscheme",
false,
true,
EndpointPriority::Extended,
),
item(
"qrcode-link",
"qrcode.generateNFCScheme",
"POST",
"/wxa/generatenfcscheme",
false,
true,
EndpointPriority::Vertical,
),
item(
"qrcode-link",
"qrcode.generateUrlLink",
"POST",
"/wxa/generate_urllink",
false,
true,
EndpointPriority::Core,
),
item(
"qrcode-link",
"qrcode.queryUrlLink",
"POST",
"/wxa/query_urllink",
false,
true,
EndpointPriority::Extended,
),
item(
"qrcode-link",
"qrcode.generateShortLink",
"POST",
"/wxa/genwxashortlink",
false,
true,
EndpointPriority::Core,
),
item(
"customer-service",
"customerService.sendCustomMessage",
"POST",
"/cgi-bin/message/custom/send",
false,
true,
EndpointPriority::Core,
),
item(
"customer-service",
"customerService.setTyping",
"POST",
"/cgi-bin/message/custom/typing",
false,
true,
EndpointPriority::Extended,
),
item(
"customer-service",
"customerService.uploadTempMedia",
"POST",
"/cgi-bin/media/upload",
false,
true,
EndpointPriority::Core,
),
item(
"customer-service",
"customerService.getTempMedia",
"GET",
"/cgi-bin/media/get",
false,
true,
EndpointPriority::Core,
),
item(
"wechat-kf",
"kfWork.getKfWorkBound",
"POST",
"/cgi-bin/kfaccount/getbindedopenkfid",
false,
true,
EndpointPriority::Vertical,
),
item(
"wechat-kf",
"kfWork.bindKfWork",
"POST",
"/cgi-bin/kfaccount/bindopenkfid",
false,
true,
EndpointPriority::Vertical,
),
item(
"wechat-kf",
"kfWork.unbindKfWork",
"POST",
"/cgi-bin/kfaccount/unbindopenkfid",
false,
true,
EndpointPriority::Vertical,
),
item(
"subscribe-message",
"subscribe.sendMessage",
"POST",
"/cgi-bin/message/subscribe/send",
false,
true,
EndpointPriority::Core,
),
item(
"subscribe-message",
"subscribe.addMessageTemplate",
"POST",
"/wxaapi/newtmpl/addtemplate",
false,
true,
EndpointPriority::Core,
),
item(
"subscribe-message",
"subscribe.deleteMessageTemplate",
"POST",
"/wxaapi/newtmpl/deltemplate",
false,
true,
EndpointPriority::Core,
),
item(
"subscribe-message",
"subscribe.getCategory",
"GET",
"/wxaapi/newtmpl/getcategory",
false,
true,
EndpointPriority::Core,
),
item(
"subscribe-message",
"subscribe.getPubTemplateKeyWordsById",
"GET",
"/wxaapi/newtmpl/getpubtemplatekeywords",
false,
true,
EndpointPriority::Extended,
),
item(
"subscribe-message",
"subscribe.getPubTemplateTitleList",
"GET",
"/wxaapi/newtmpl/getpubtemplatetitles",
false,
true,
EndpointPriority::Extended,
),
item(
"subscribe-message",
"subscribe.getMessageTemplateList",
"GET",
"/wxaapi/newtmpl/gettemplate",
false,
true,
EndpointPriority::Core,
),
item(
"subscribe-message",
"subscribe.setUserNotify",
"POST",
"/cgi-bin/message/update_template_card",
false,
true,
EndpointPriority::Vertical,
),
item(
"subscribe-message",
"subscribe.setUserNotifyExt",
"POST",
"/cgi-bin/message/update_template_card_ext",
false,
true,
EndpointPriority::Vertical,
),
item(
"subscribe-message",
"subscribe.getUserNotify",
"POST",
"/cgi-bin/message/get_template_card",
false,
true,
EndpointPriority::Vertical,
),
item(
"security",
"security.msgSecCheck",
"POST",
"/wxa/msg_sec_check",
false,
true,
EndpointPriority::Core,
),
item(
"security",
"security.mediaCheckAsync",
"POST",
"/wxa/media_check_async",
false,
true,
EndpointPriority::Core,
),
item(
"security",
"security.getUserRiskRank",
"POST",
"/wxa/getuserriskrank",
false,
true,
EndpointPriority::Extended,
),
item(
"analytics",
"analytics.getDailySummary",
"POST",
"/datacube/getweanalysisappiddailysummarytrend",
false,
true,
EndpointPriority::Extended,
),
item(
"analytics",
"analytics.getDailyVisitTrend",
"POST",
"/datacube/getweanalysisappiddailyvisittrend",
false,
true,
EndpointPriority::Extended,
),
item(
"analytics",
"analytics.getWeeklyVisitTrend",
"POST",
"/datacube/getweanalysisappidweeklyvisittrend",
false,
true,
EndpointPriority::Extended,
),
item(
"analytics",
"analytics.getMonthlyVisitTrend",
"POST",
"/datacube/getweanalysisappidmonthlyvisittrend",
false,
true,
EndpointPriority::Extended,
),
item(
"analytics",
"analytics.getDailyRetain",
"POST",
"/datacube/getweanalysisappiddailyretaininfo",
false,
true,
EndpointPriority::Extended,
),
item(
"analytics",
"analytics.getWeeklyRetain",
"POST",
"/datacube/getweanalysisappidweeklyretaininfo",
false,
true,
EndpointPriority::Extended,
),
item(
"analytics",
"analytics.getMonthlyRetain",
"POST",
"/datacube/getweanalysisappidmonthlyretaininfo",
false,
true,
EndpointPriority::Extended,
),
item(
"analytics",
"analytics.getVisitPage",
"POST",
"/datacube/getweanalysisappidvisitpage",
false,
true,
EndpointPriority::Extended,
),
item(
"analytics",
"analytics.getVisitDistribution",
"POST",
"/datacube/getweanalysisappidvisitdistribution",
false,
true,
EndpointPriority::Extended,
),
item(
"analytics",
"analytics.getUserPortrait",
"POST",
"/datacube/getweanalysisappiduserportrait",
false,
true,
EndpointPriority::Extended,
),
item(
"analytics",
"analytics.getPerformanceData",
"POST",
"/wxaapi/log/get_performance",
false,
true,
EndpointPriority::Extended,
),
item(
"operations",
"operations.getDomainInfo",
"POST",
"/wxa/get_wxa_domain",
false,
true,
EndpointPriority::Extended,
),
item(
"operations",
"operations.getPerformance",
"POST",
"/wxaapi/log/get_performance",
false,
true,
EndpointPriority::Extended,
),
item(
"operations",
"operations.getSceneList",
"GET",
"/wxaapi/log/get_scene",
false,
true,
EndpointPriority::Extended,
),
item(
"operations",
"operations.getVersionList",
"GET",
"/wxaapi/log/get_client_version",
false,
true,
EndpointPriority::Extended,
),
item(
"operations",
"operations.realtimeLogSearch",
"POST",
"/wxaapi/userlog/userlog_search",
false,
true,
EndpointPriority::Extended,
),
item(
"operations",
"operations.getFeedback",
"POST",
"/wxaapi/feedback/list",
false,
true,
EndpointPriority::Extended,
),
item(
"operations",
"operations.getFeedbackMedia",
"POST",
"/wxaapi/feedback/media/get",
false,
true,
EndpointPriority::Extended,
),
item(
"operations",
"operations.getJsErrDetail",
"POST",
"/wxaapi/log/jserr_detail",
false,
true,
EndpointPriority::Extended,
),
item(
"operations",
"operations.getJsErrList",
"POST",
"/wxaapi/log/jserr_list",
false,
true,
EndpointPriority::Extended,
),
item(
"operations",
"operations.getGrayReleasePlan",
"GET",
"/wxa/getgrayreleaseplan",
false,
true,
EndpointPriority::Extended,
),
item(
"plugin",
"plugin.managePluginApplication",
"POST",
"/wxa/plugin",
false,
true,
EndpointPriority::Extended,
),
item(
"plugin",
"plugin.managePlugin",
"POST",
"/wxa/plugin",
false,
true,
EndpointPriority::Extended,
),
item(
"nearby",
"nearby.addNearbyPoi",
"POST",
"/wxa/addnearbypoi",
false,
true,
EndpointPriority::Vertical,
),
item(
"nearby",
"nearby.deleteNearbyPoi",
"POST",
"/wxa/delnearbypoi",
false,
true,
EndpointPriority::Vertical,
),
item(
"nearby",
"nearby.getNearbyPoiList",
"POST",
"/wxa/getnearbypoilist",
false,
true,
EndpointPriority::Vertical,
),
item(
"nearby",
"nearby.setShowStatus",
"POST",
"/wxa/setnearbypoishowstatus",
false,
true,
EndpointPriority::Vertical,
),
item(
"cloud",
"cloud.invokeCloudFunction",
"POST",
"/tcb/invokecloudfunction",
false,
true,
EndpointPriority::Extended,
),
item(
"cloud",
"cloud.addDelayedFunctionTask",
"POST",
"/tcb/adddelayedfunctiontask",
false,
true,
EndpointPriority::Vertical,
),
item(
"cloud",
"cloud.databaseAdd",
"POST",
"/tcb/databaseadd",
false,
true,
EndpointPriority::Extended,
),
item(
"cloud",
"cloud.databaseDelete",
"POST",
"/tcb/databasedelete",
false,
true,
EndpointPriority::Extended,
),
item(
"cloud",
"cloud.databaseUpdate",
"POST",
"/tcb/databaseupdate",
false,
true,
EndpointPriority::Extended,
),
item(
"cloud",
"cloud.databaseQuery",
"POST",
"/tcb/databasequery",
false,
true,
EndpointPriority::Extended,
),
item(
"cloud",
"cloud.getUploadFileLink",
"POST",
"/tcb/uploadfile",
false,
true,
EndpointPriority::Extended,
),
item(
"cloud",
"cloud.getDownloadFileLink",
"POST",
"/tcb/batchdownloadfile",
false,
true,
EndpointPriority::Extended,
),
item(
"cloud",
"cloud.deleteCloudFile",
"POST",
"/tcb/batchdeletefile",
false,
true,
EndpointPriority::Extended,
),
item(
"cloud",
"cloud.newSendCloudBaseSms",
"POST",
"/tcb/sendsms_v2",
false,
true,
EndpointPriority::Vertical,
),
item(
"cloud",
"cloud.sendCloudBaseSms",
"POST",
"/tcb/sendsms",
true,
false,
EndpointPriority::Vertical,
),
item(
"live",
"live.createRoom",
"POST",
"/wxaapi/broadcast/room/create",
false,
true,
EndpointPriority::Vertical,
),
item(
"live",
"live.deleteRoom",
"POST",
"/wxaapi/broadcast/room/deleteroom",
false,
true,
EndpointPriority::Vertical,
),
item(
"live",
"live.editRoom",
"POST",
"/wxaapi/broadcast/room/editroom",
false,
true,
EndpointPriority::Vertical,
),
item(
"live",
"live.getLiveInfo",
"POST",
"/wxa/business/getliveinfo",
false,
true,
EndpointPriority::Vertical,
),
item(
"live",
"live.addGoods",
"POST",
"/wxaapi/broadcast/goods/add",
false,
true,
EndpointPriority::Vertical,
),
item(
"live",
"live.updateGoodsInfo",
"POST",
"/wxaapi/broadcast/goods/update",
false,
true,
EndpointPriority::Vertical,
),
item(
"live",
"live.deleteGoodsInfo",
"POST",
"/wxaapi/broadcast/goods/delete",
false,
true,
EndpointPriority::Vertical,
),
item(
"live",
"live.pushMessage",
"POST",
"/wxaapi/broadcast/subscribe/send",
false,
true,
EndpointPriority::Vertical,
),
item(
"live",
"live.getFollowers",
"POST",
"/wxaapi/broadcast/subscribe/get",
false,
true,
EndpointPriority::Vertical,
),
item(
"hardware",
"hardware.sendHardwareDeviceMessage",
"POST",
"/cgi-bin/message/device/subscribe/send",
false,
true,
EndpointPriority::Vertical,
),
item(
"hardware",
"hardware.getSnTicket",
"POST",
"/wxa/business/hardware/sn_ticket/get",
false,
true,
EndpointPriority::Vertical,
),
item(
"hardware",
"hardware.createIotGroupId",
"POST",
"/wxa/business/hardware/group/create",
false,
true,
EndpointPriority::Vertical,
),
item(
"hardware",
"hardware.getIotGroupInfo",
"POST",
"/wxa/business/hardware/group/get",
false,
true,
EndpointPriority::Vertical,
),
item(
"hardware",
"hardware.addIotGroupDevice",
"POST",
"/wxa/business/hardware/group/device/add",
false,
true,
EndpointPriority::Vertical,
),
item(
"hardware",
"hardware.removeIotGroupDevice",
"POST",
"/wxa/business/hardware/group/device/remove",
false,
true,
EndpointPriority::Vertical,
),
item(
"image-ocr",
"image.aiCrop",
"POST",
"/cv/img/aicrop",
false,
true,
EndpointPriority::Vertical,
),
item(
"image-ocr",
"image.scanQRCode",
"POST",
"/cv/img/qrcode",
false,
true,
EndpointPriority::Vertical,
),
item(
"image-ocr",
"ocr.printedTextOCR",
"POST",
"/cv/ocr/comm",
false,
true,
EndpointPriority::Vertical,
),
item(
"image-ocr",
"ocr.vehicleLicenseOCR",
"POST",
"/cv/ocr/driving",
false,
true,
EndpointPriority::Vertical,
),
item(
"image-ocr",
"ocr.bankCardOCR",
"POST",
"/cv/ocr/bankcard",
false,
true,
EndpointPriority::Vertical,
),
item(
"image-ocr",
"ocr.businessLicenseOCR",
"POST",
"/cv/ocr/bizlicense",
false,
true,
EndpointPriority::Vertical,
),
item(
"image-ocr",
"ocr.driverLicenseOCR",
"POST",
"/cv/ocr/drivinglicense",
false,
true,
EndpointPriority::Vertical,
),
item(
"image-ocr",
"ocr.idCardOCR",
"POST",
"/cv/ocr/idcard",
false,
true,
EndpointPriority::Vertical,
),
item(
"instant-delivery",
"delivery.getAllImmeDelivery",
"POST",
"/cgi-bin/express/local/business/delivery/getall",
false,
true,
EndpointPriority::Vertical,
),
item(
"instant-delivery",
"delivery.preAddOrder",
"POST",
"/cgi-bin/express/local/business/order/pre_add",
false,
true,
EndpointPriority::Vertical,
),
item(
"instant-delivery",
"delivery.preCancelOrder",
"POST",
"/cgi-bin/express/local/business/order/precancel",
false,
true,
EndpointPriority::Vertical,
),
item(
"instant-delivery",
"delivery.addLocalOrder",
"POST",
"/cgi-bin/express/local/business/order/add",
false,
true,
EndpointPriority::Vertical,
),
item(
"instant-delivery",
"delivery.cancelLocalOrder",
"POST",
"/cgi-bin/express/local/business/order/cancel",
false,
true,
EndpointPriority::Vertical,
),
item(
"logistics",
"express.bindAccount",
"POST",
"/cgi-bin/express/business/account/bind",
false,
true,
EndpointPriority::Vertical,
),
item(
"logistics",
"express.getAllAccount",
"POST",
"/cgi-bin/express/business/account/getall",
false,
true,
EndpointPriority::Vertical,
),
item(
"logistics",
"express.getAllDelivery",
"POST",
"/cgi-bin/express/business/delivery/getall",
false,
true,
EndpointPriority::Vertical,
),
item(
"logistics",
"express.getOrder",
"POST",
"/cgi-bin/express/business/order/get",
false,
true,
EndpointPriority::Vertical,
),
item(
"logistics",
"express.addOrder",
"POST",
"/cgi-bin/express/business/order/add",
false,
true,
EndpointPriority::Vertical,
),
item(
"logistics",
"express.getPath",
"POST",
"/cgi-bin/express/business/path/get",
false,
true,
EndpointPriority::Vertical,
),
item(
"service-market",
"serviceMarket.invokeService",
"POST",
"/wxa/servicemarket",
false,
true,
EndpointPriority::Vertical,
),
item(
"soter",
"soter.verifySignature",
"POST",
"/cgi-bin/soter/verify_signature",
false,
true,
EndpointPriority::Vertical,
),
item(
"face",
"face.getVerifyId",
"POST",
"/cgi-bin/soter/mp/verify_id/get",
false,
true,
EndpointPriority::Vertical,
),
item(
"face",
"face.queryVerifyInfo",
"POST",
"/cgi-bin/soter/mp/verify_result/get",
false,
true,
EndpointPriority::Vertical,
),
item(
"wxsearch",
"wxsearch.submitPages",
"POST",
"/wxa/search/wxaapi_submitpages",
false,
true,
EndpointPriority::Vertical,
),
item(
"advertising",
"ad.addUserAction",
"POST",
"/marketing/add_user_action",
false,
true,
EndpointPriority::Vertical,
),
item(
"advertising",
"ad.addUserActionSet",
"POST",
"/marketing/add_user_action_set",
false,
true,
EndpointPriority::Vertical,
),
item(
"advertising",
"ad.getUserActionSetReports",
"POST",
"/marketing/get_user_action_set_reports",
false,
true,
EndpointPriority::Vertical,
),
item(
"advertising",
"ad.getUserActionSets",
"POST",
"/marketing/get_user_action_sets",
false,
true,
EndpointPriority::Vertical,
),
];
pub fn endpoint_inventory() -> &'static [EndpointInventoryItem] {
ENDPOINT_INVENTORY
}
pub fn get_endpoint_inventory() -> &'static [EndpointInventoryItem] {
ENDPOINT_INVENTORY
}
const fn item(
category: &'static str,
endpoint_id: &'static str,
http_method: &'static str,
path: &'static str,
deprecated: bool,
implemented: bool,
priority: EndpointPriority,
) -> EndpointInventoryItem {
EndpointInventoryItem {
category,
endpoint_id,
http_method,
path,
deprecated,
implemented,
priority,
}
}