跳到主要内容

SmartLink API

SmartLink API 支持将联系人导入 SmartLink 及更新用户相关信息。有关各个接口的信息,可从侧边栏阅览详细描述。

注意

正式环境信息,请邮件咨询 SmartLink_service@proximabeta.com

有关联系人导入的更多信息,请参见 根据邮箱导入用户

基本结构

  • 接口协议:HTTP/HTTPS
  • 字符编码:UTF-8
  • 接口限制:接口支持后台调用及 web 调用两种方式,选择 web 调用方式需先联系 SmartLink 运营人员添加您的 web 页面域名。
注意

推荐通过业务的后台调用 SmartLink API,并在调用 SmartLink API 前先校验用户信息的正确性,以确保您传入 SmartLink API 的参数有效。

URL 格式

后台接口请求的标准 URL 格式为:

https://openapi.smartlink.intlgame.com/api/v3/report/login?gameid=11&seq=abcdefg&sig=xxx
\____________________________________/\__________________/ \___________________________/
服务器 URL 端点路径 查询参数

查询参数

查询参数放在 URL 后,具体接口协议的参数用 JSON 格式放在 POST 体。为了保证签名的一致性,需将 sig 排在其他查询参数的后面。

属性数据类型备注描述
gameidint必填IEGG 统一分配的项目 ID, 能从 SmartLink 工作台 我的项目 页面下的 项目信息 下获取
seqstring选填表示透传的参数。
返回的 JSON 中会带上此透传参数,用于异步调用。
该透传参数只能由英文字母,数字,下划线组成。默认为空。
tsuint必填标准时间戳 (以秒为单位)
sigstring必填签名

签名

sig = md5 (path + "?" + params + body + API key)

  • path:不包含域名的接口 HTTP 路径,如 /api/v3/report/login
  • paramssig 以外的接口查询参数,参数按 ASCII 升序排列并以 "&" 符号连接,如 gameid=1&seq=abcdefg
  • body:JSON 字符串,可带换行符,如 {"data":{"msg":"abcd"}}
  • API key:从 SmartLink 获取的 API 密钥,详见 管理 API 密钥

查询参数实例

属性数值
gameid30123
seqseq_test_str
ts1694920114
sig253b34340520237319cf5d125a72e90d
GAME_ID=30123
YOUR_RANDOM_STRING=seq_test_str
SIGNATURE=253b34340520237319cf5d125a72e90d
TS=1694920114

curl --request POST "https://openapi.smartlink.intlgame.com/api/v3/report/login?gameid=${GAME_ID}&seq=${YOUR_RANDOM_STRING}&ts=${TS}&sig=${SIGNATURE}" \
--header 'Content-Type: application/json' \
--data-raw '{
"login_time": 1694917726,
"openid": "5450588341569",
"location": "004",
"language": "ar",
"level":4
}'

返回码

代号描述
0请求成功
10001gameid 无效
10002ts 无效,以秒为单位时间戳
10003签名错误
10004不支持的 source
10005seq 无效,由英文字母、数字、下划线组成
10006请求参数无效 JSON
10024未添加表单接口的访问白名单
11001email 不能为空
11002email 长度超过255个字符限制
11003邮箱格式无效
11004邮箱未通过验证
11005批量上传联系人的数量超出范围,范围 0 至 200 之间(针对 BatchSyncUserByEmail 接口)
12001openid 不能为空
12002openid 无效,长度不超20个数字字符
12003LI PASS 预约失败,当前 openid 已被其它 email 预约
12004LI PASS 预约失败,当前 openid 与 email 已绑定
13001来源不能为空
13002来源字符长度超过限制
13003来源字符不可用
13004来源超过累计限制
13005来源不支持
14001订阅状态无效
14002订阅状态不能为空
14003订阅状态已设置,不能更新为未设置
14004订阅状态不能被修改,当前状态为 待定
15001国家无效
15002国家不能为空
16001语言无效
16002语音不能为空
17001标签无效,管理端未创建
17002标签超过累计限制
18001自定义字段名称无效,管理端未创建
18002自定义字段 int 类型值错误,范围 -9223372036854775808 至 9223372036854775807 之间
18003自定义字段 string 类型值错误,范围不超过1000个字符
18004自定义字段 datetime 类型值错误,格式为 2001-03-31+08:00 或 2001-03-31 00:00:00+08:00
18005自定义字段超过用户累计限制50个
18006自定义字段值不能为空
18007自定义字段 Drop down 类型值格式无效,值为 []string
19001偏好设置无效,管理端未创建
19002偏好设置不能为空
19003偏好设置超过用户累计限制20个
20001更新时间无效,以毫秒为单位时间戳
20002更新时间不能早于上次
20003在线时长不能大于等于86,400秒
21001money_cn 不能小于0
21002money_source 不能小于0
21003money_us 不能小于等于0
22010游戏数据上报开关未开启
40001用户不存在
50001服务端内部错误
50002服务端内部错误
50003服务端内部错误
50004服务端内部错误
50005服务端内部错误
50006服务端内部错误
60001LI PASS 预约开关未开启
60002LI PASS 已被预约
60003注册表单无效或不存在
70001事务邮件域名未配置
70002事务邮件模板未配置
70003事务邮件模板变量 json 错误
70004事务邮件模板变量超过最大上限
70005事务邮件模板变量不存在
70006事务邮件模板变量缺失
70007事务邮件模板变量格式错误
70008事务邮件单日发送上限
70009事务邮件发送防抖,相同 sig 一秒内不能重复请求

语言信息表

编码语言类型
arArabic(阿拉伯语)
csCzech(捷克语)
deGerman(德语)
enEnglish(英语)
en-GBEnglish (United Kingdom)(英语-英国)
en-USEnglish (United States)(英语-美国)
esSpanish(西班牙语)
es-MXSpanish (Mexico)(西班牙语-墨西哥)
fiFinnish(芬兰语)
fil-PHFilipino(菲律宾语)
frFrench(法语)
hiHindi(印地语)
idIndonesian(印尼语)
itItalian(意大利语)
jaJapanese(日语)
koKorean(韩语)
msMalay(马来语)
nlDutch(荷兰语)
plPolish(波兰语)
ptPortuguese(葡萄牙语)
pt-BRPortuguese (Brazil)(葡萄牙语-巴西)
ruRussian(俄语)
thThai(泰语)
trTurkish(土耳其语)
urUrdu(乌尔都语)
uzUzbek(乌兹别克语)
viVietnamese(越南语)
zh-HansChinese (Simplified)(简体中文)
zh-HantChinese (Hong Kong Traditional)(中文-港繁)
zh-TWChinese (Taiwan Traditional)(中文-台繁)

国家或地区信息表

cn_nameen_namecountry_two_digit_codecountry_three_digit_codenumber_code
阿富汗AfghanistanAFAFG004
奥兰群岛Åland IslandsAXALA248
阿尔巴尼亚AlbaniaALALB008
阿尔及利亚AlgeriaDZDZA012
美属萨摩亚American SamoaASASM016
安道尔AndorraADAND020
安哥拉AngolaAOAGO024
安圭拉AnguillaAIAIA660
南极洲AntarcticaAQATA010
安提瓜和巴布达Antigua and BarbudaAGATG028
阿根廷ArgentinaARARG032
亚美尼亚ArmeniaAMARM051
阿鲁巴ArubaAWABW533
澳大利亚AustraliaAUAUS036
奥地利AustriaATAUT040
阿塞拜疆AzerbaijanAZAZE031
巴哈马BahamasBSBHS044
巴林BahrainBHBHR048
孟加拉国BangladeshBDBGD050
巴巴多斯BarbadosBBBRB052
白俄罗斯BelarusBYBLR112
比利时BelgiumBEBEL056
伯利兹BelizeBZBLZ084
贝宁BeninBJBEN204
百慕大BermudaBMBMU060
不丹BhutanBTBTN064
玻利维亚Bolivia (Plurinational State of)BOBOL068
博内尔Bonaire, Sint Eustatius and SabaBQBES535
波斯尼亚和黑塞哥维那Bosnia and HerzegovinaBABIH070
博茨瓦那BotswanaBWBWA072
布韦岛Bouvet IslandBVBVT074
巴西BrazilBRBRA076
英属印度洋领地British Indian Ocean TerritoryIOIOT086
文莱Brunei DarussalamBNBRN096
保加利亚BulgariaBGBGR100
布基纳法索Burkina FasoBFBFA854
布隆迪BurundiBIBDI108
佛得角Cabo VerdeCVCPV132
柬埔寨CambodiaKHKHM116
喀麦隆CameroonCMCMR120
加拿大CanadaCACAN124
开曼群岛Cayman IslandsKYCYM136
中非Central African RepublicCFCAF140
乍得ChadTDTCD148
智利ChileCLCHL152
中国ChinaCNCHN156
圣诞岛Christmas IslandCXCXR162
科科斯(基林)群岛Cocos (Keeling) IslandsCCCCK166
哥伦比亚ColombiaCOCOL170
科摩罗ComorosKMCOM174
刚果共和国CongoCGCOG178
刚果 (刚果民主共和国)Congo (Democratic Republic of the)CDCOD180
库克群岛Cook IslandsCKCOK184
哥斯达黎加Costa RicaCRCRI188
科特迪瓦Côte d'IvoireCICIV384
克罗地亚CroatiaHRHRV191
库拉索CuraçaoCWCUW531
塞浦路斯CyprusCYCYP196
捷克CzechiaCZCZE203
丹麦DenmarkDKDNK208
吉布提DjiboutiDJDJI262
多米尼克DominicaDMDMA212
多米尼加Dominican RepublicDODOM214
厄瓜多尔EcuadorECECU218
埃及EgyptEGEGY818
萨尔瓦多El SalvadorSVSLV222
赤道几内亚Equatorial GuineaGQGNQ226
厄立特里亚EritreaERERI232
爱沙尼亚EstoniaEEEST233
斯威士兰EswatiniSZSWZ748
埃塞俄比亚EthiopiaETETH231
福克兰群岛(马尔维纳斯)Falkland Islands (Malvinas)FKFLK238
法罗群岛Faroe IslandsFOFRO234
斐济FijiFJFJI242
芬兰FinlandFIFIN246
法国FranceFRFRA250
法属圭亚那French GuianaGFGUF254
法属波利尼西亚French PolynesiaPFPYF258
法国南部领地French Southern TerritoriesTFATF260
加蓬GabonGAGAB266
冈比亚GambiaGMGMB270
格鲁吉亚GeorgiaGEGEO268
德国GermanyDEDEU276
加纳GhanaGHGHA288
直布罗陀GibraltarGIGIB292
希腊GreeceGRGRC300
格陵兰GreenlandGLGRL304
格林纳达GrenadaGDGRD308
瓜德罗普GuadeloupeGPGLP312
关岛GuamGUGUM316
危地马拉GuatemalaGTGTM320
根西GuernseyGGGGY831
几内亚GuineaGNGIN324
几内亚比绍Guinea-BissauGWGNB624
圭亚那GuyanaGYGUY328
海地HaitiHTHTI332
赫德岛和麦克唐纳群岛Heard Island and McDonald IslandsHMHMD334
梵蒂冈Holy SeeVAVAT336
洪都拉斯HondurasHNHND340
香港Hong KongHKHKG344
匈牙利HungaryHUHUN348
冰岛IcelandISISL352
印度IndiaININD356
印尼IndonesiaIDIDN360
伊拉克IraqIQIRQ368
爱尔兰IrelandIEIRL372
马恩岛Isle of ManIMIMN833
以色列IsraelILISR376
意大利ItalyITITA380
牙买加JamaicaJMJAM388
日本JapanJPJPN392
泽西JerseyJEJEY832
约旦JordanJOJOR400
哈萨克斯坦KazakhstanKZKAZ398
肯尼亚KenyaKEKEN404
基里巴斯KiribatiKIKIR296
大韩(民国)Korea (Republic of)KRKOR410
科威特KuwaitKWKWT414
吉尔吉斯斯坦KyrgyzstanKGKGZ417
老挝Lao People's Democratic RepublicLALAO418
拉脱维亚LatviaLVLVA428
黎巴嫩LebanonLBLBN422
莱索托LesothoLSLSO426
利比里亚LiberiaLRLBR430
利比亚LibyaLYLBY434
列支敦士登LiechtensteinLILIE438
立陶宛LithuaniaLTLTU440
卢森堡LuxembourgLULUX442
澳门MacauMOMAC446
马达加斯加MadagascarMGMDG450
马拉维MalawiMWMWI454
马来西亚MalaysiaMYMYS458
马尔代夫MaldivesMVMDV462
马里MaliMLMLI466
马耳他MaltaMTMLT470
马绍尔群岛Marshall IslandsMHMHL584
马提尼克MartiniqueMQMTQ474
毛里塔尼亚MauritaniaMRMRT478
毛里求斯MauritiusMUMUS480
马约特MayotteYTMYT175
墨西哥MexicoMXMEX484
密克罗尼西亚(联邦)Micronesia (Federated States of)FMFSM583
摩尔多瓦Moldova (Republic of)MDMDA498
摩纳哥MonacoMCMCO492
蒙古MongoliaMNMNG496
黑山MontenegroMEMNE499
蒙特塞拉特MontserratMSMSR500
摩洛哥MoroccoMAMAR504
莫桑比克MozambiqueMZMOZ508
缅甸MyanmarMMMMR104
纳米比亚NamibiaNANAM516
瑙鲁NauruNRNRU520
尼泊尔NepalNPNPL524
荷兰NetherlandsNLNLD528
新喀里多尼亚New CaledoniaNCNCL540
新西兰New ZealandNZNZL554
尼加拉瓜NicaraguaNINIC558
尼日尔NigerNENER562
尼日利亚NigeriaNGNGA566
NiueNUNIU570
诺福克岛Norfolk IslandNFNFK574
北马其顿North MacedoniaMKMKD807
北马里亚纳群岛Northern Mariana IslandsMPMNP580
挪威NorwayNONOR578
阿曼OmanOMOMN512
巴基斯坦PakistanPKPAK586
帕劳PalauPWPLW585
巴勒斯坦Palestine, State ofPSPSE275
巴拿马PanamaPAPAN591
巴布亚新几內亚Papua New GuineaPGPNG598
巴拉圭ParaguayPYPRY600
秘鲁PeruPEPER604
菲律宾PhilippinesPHPHL608
皮特凯恩群岛PitcairnPNPCN612
波兰PolandPLPOL616
葡萄牙PortugalPTPRT620
波多黎各Puerto RicoPRPRI630
卡塔尔QatarQAQAT634
留尼汪RéunionREREU638
罗马尼亚RomaniaROROU642
俄罗斯Russian FederationRURUS643
卢旺达RwandaRWRWA646
圣巴泰勒米Saint BarthélemyBLBLM652
圣卢西亚Saint Helena, Ascension and Tristan da CunhaSHSHN654
圣基茨和尼维斯Saint Kitts and NevisKNKNA659
圣卢西亚Saint LuciaLCLCA662
法属圣马丁Saint Martin (French part)MFMAF663
圣皮埃尔和密克隆Saint Pierre and MiquelonPMSPM666
圣文森特和格林纳丁斯Saint Vincent and the GrenadinesVCVCT670
萨摩亚SamoaWSWSM882
圣马力诺San MarinoSMSMR674
圣多美和普林西比Sao Tome and PrincipeSTSTP678
沙特阿拉伯Saudi ArabiaSASAU682
塞内加尔SenegalSNSEN686
塞尔维亚SerbiaRSSRB688
塞舌尔SeychellesSCSYC690
塞拉利昂Sierra LeoneSLSLE694
新加坡SingaporeSGSGP702
荷属圣马丁Sint Maarten (Dutch part)SXSXM534
斯洛伐克SlovakiaSKSVK703
斯洛文尼亚SloveniaSISVN705
所罗门群岛Solomon IslandsSBSLB090
索马里SomaliaSOSOM706
南非South AfricaZAZAF710
南乔治亚和南桑威奇群岛South Georgia and the South Sandwich IslandsGSSGS239
南苏丹South SudanSSSSD728
西班牙SpainESESP724
斯里兰卡Sri LankaLKLKA144
苏丹SudanSDSDN729
苏里南SurinameSRSUR740
斯瓦尔巴和扬马延岛Svalbard and Jan MayenSJSJM744
瑞典SwedenSESWE752
瑞士SwitzerlandCHCHE756
台湾TaiwanTWTWN158
塔吉克斯坦TajikistanTJTJK762
坦桑尼亚Tanzania, United Republic ofTZTZA834
泰国ThailandTHTHA764
东帝汶Timor-LesteTLTLS626
多哥TogoTGTGO768
托克劳TokelauTKTKL772
汤加TongaTOTON776
特立尼达和多巴哥Trinidad and TobagoTTTTO780
突尼斯TunisiaTNTUN788
土耳其TürkiyeTRTUR792
土库曼斯坦TurkmenistanTMTKM795
特克斯和凯科斯群岛Turks and Caicos IslandsTCTCA796
图瓦卢TuvaluTVTUV798
乌干达UgandaUGUGA800
乌克兰UkraineUAUKR804
阿联酋United Arab EmiratesAEARE784
英国United Kingdom of Great Britain and Northern IrelandGBGBR826
美国United States of AmericaUSUSA840
乌拉圭UruguayUYURY858
乌兹别克斯坦UzbekistanUZUZB860
瓦努阿图VanuatuVUVUT548
委内瑞拉Venezuela (Bolivarian Republic of)VEVEN862
越南Viet NamVNVNM704
英属维尔京群岛Virgin Islands (British)VGVGB092
美属维尔京群岛Virgin Islands (U.S.)VIVIR850
瓦利斯和富图纳Wallis and FutunaWFWLF876
西撒哈拉Western SaharaEHESH732
也门YemenYEYEM887
赞比亚ZambiaZMZMB894
津巴布韦ZimbabweZWZWE716
未知区域UNKNOWNnone(null)999
欧盟European UnionEU(null)998
美国本土外小岛屿United States Minor Outlying IslandsUMUMI581

用户信息

属性数据类型描述
emailstring邮箱
openidstring唯一用户 ID(最多20个数字字符)
source[]string用户数据来源。当数据由多个来源更新时,用来区分来自哪个来源,以实现 SmartLink 内用户管理及统计的细分:
  • 长度不超过100字符。
  • 累计不超过100个。
  • 不能等于 "API"、不包含 !^?$%"'*/<># 等特殊字符。
例如游戏官网订阅、H5 手机邮箱活动、外部第三方活动等。
subscribeint1:订阅
0:取消订阅
-1:未知
locationstring三位国家编码,详见 国家或地区信息表 对应的 number_code
languagestring语言编码,详见 语言信息表 对应的 language_code
tags[]string自定义标签,对用户进行分组,用于用户分层:
  • 需在 SmartLink > 联系人 > 标签管理 先创建好标签,若导入不存在的标签则会更新失败。
  • 标签只能增加,不会覆盖原来数据。
  • 每个用户最多可关联100个标签。
attributesobject自定义用户属性。支持更新联系人的其他属性,例如性别、生日等。
用于用户分层,进而创建更个性化的活动:
  • 需在 SmartLink > 所有联系人 > 字段设置 先创建好字段,若导入不存在的字段则会更新失败。
  • 用户属性只能增加或更新,未更新的字段不会覆盖原来数据。
  • 每用户自定义属性字段累计不超过50个。
attributes 类型与格式:
  • Text 类型:格式为 { "key":"value" }
    - key:自定义属性名称
    - value:string 类型,范围不超过1000个字符
  • Number 类型:格式为 { "key":"value" }
    - key:自定义属性名称
    - value:string 类型,范围 -92233720368547758089223372036854775807 之间
  • Date 类型:格式为 { "key":"value" }
    - key:自定义属性名称
    - value:string 类型,日期格式为 2001-03-31+08:002001-03-31 00:00:00+08:00
  • Drop down 类型:格式为 { "key":["value"] }
    - key:自定义属性名称
    - value:[]string 类型,单个 string 不超过1000字符,如 ["选项1","选项2"]
preferences[]string用于标识联系人的订阅偏好,能够按兴趣和偏好等对订阅者进行分类。
用于用户分层,将邮件定向发送给具有特定偏好的用户:
  • 需在 SmartLink > 联系人 > 偏好 先创建好偏好选项,若导入不存在的偏好选项则会更新失败。
  • 以联系人最后更新的偏好为准,不受用户订阅状态影响。
  • 每个用户最多选择20个偏好选项。