API 文档API 文档
资源中心
帮助中心
资源中心
帮助中心
  • 从这里开始

    • 快速入门
    • 关键概念
    • API 速率限制
    • 平台配额
    • 身份认证
  • 事务类邮件

    • 如何发送事务类邮件
    • 沙盒模式发送邮件
    • 发送事务邮件
    • 批量发送个性化事务邮件
    • 按计划发送事务邮件
    • 事务邮件跟踪
    • 获取事务邮件报告
  • SMTP 集成
  • 营销类邮件

    • 如何发送营销类邮件
    • 邮件营销活动列表
    • 模板管理
    • 获取营销活动报告
    • 联系人管理
    • 联系组管理
  • 发送方管理
  • Webhook

    • 推送数据
    • 配置管理

Web API 身份验证

更新时间:2021-11-03 09:13

我们支持两种认证方式:签名认证 和 OAuth认证。

签名认证

请求时请添加以下Header来身份验证,其中的ApiKey、ApiSecret需要在平台获得:

Header名称必填描述示例值
ApiKey是API访问ID3BTWNKN0ZDQIZBQ33XCO
Timestamp是请求的时间戳,为日期格式。
时效期限:5分钟,过期时间戳将无法通过验证。
采用UTC标准时间,遵循ISO8601日期时间格式。
具体格式:YYYY-MM-DDThh:mm:ssZ
示例:
北京时间(UTC+8)2023年1月10日20:00:00 →
UTC标准时间表示为 2023-01-10T12:00:00Z
Authorization是签名字符串生成规则:使用双重SHA1哈希算法,先对API密钥(ApiSecret)进行SHA1哈希并转为大写,再拼接请求头中的时间戳(Timestamp),最后对拼接结果进行SHA1哈希运算。
说明:ApiSecret是与ApiKey配对的密钥,Timestamp取自请求头中的Timestamp字段。
示例:
一、原始API密钥:VzNnMBUbDLloZkKMHqEeqg2byrNpVyrqf-XI1sAk
二、对密钥进行SHA1哈希并转为大写:12DF57B52BF86ABA6E25F15AE1936618118787D6
三、拼接时间戳"2023-01-10T12:00:00Z"后进行二次SHA1哈希
四、最终签名值:788A8BD4915B1DBFF175A54B14A8771BBAF99FC9
SignatureVersion否签名算法版本。默认值:1.01.0

示例

curl --request POST \
  --url https://api.effilink.co/v5/transactional/mail/sends_customised \
  --header 'ApiKey: '3BTWNKN0ZDQIZBQ33XCO'
  --header 'Timestamp: '2025-05-21T08:30:45Z'
  --header 'Authorization: '788A8BD4915B1DBFF175A54B14A8771BBAF99FC9'
  --header 'SignatureVersion: '1.0'
  --data ...

身份验证相关的状态码:

状态码说明
200OK,请求处理成功。
401Unauthorized,权限认证未通过。
403Forbidden,请求拒绝。如请求参数问题等。
500Internal Server Error,内部服务异常。

OAuth认证

使用步骤:客户端向授权 API 请求 token,授权 API 验证身份并返回访问令牌(access token),客户端携带访问令牌(access token)访问业务 API 方法。

第一步:请求 token

GET /v5/auth/oauth/authorize?grantType=client_credentials

请求头

名称必填描述示例值
Authorization是OAuth的认证数据。格式:base64(ApiKey:ApiSecret)如:ApiKey为E45GAUDURWH68BU8J59I,ApiSecret为9B20CC02686312C01002DBF6DD749EFBDD963B78,
生成值base64(E45GAUDURWH68BU8J59I:9B20CC02686312C01002DBF6DD749EFBDD963B78)为RTQ1R0FVRFVSV0g2OEJVOEo1OUk6OUIyMENDMDI2ODYzMTJDMDEwMDJEQkY2REQ3NDlFRkJERDk2M0I3OA==

参数

名称类型必填描述示例值
grantTypestring是OAuth的授权类型取值范围:client_credentials

请求示例

curl --request GET \
  --url https://api.effilink.co/v5/auth/oauth/authorize?grantType=client_credentials \
  --header 'Authorization: RTQ1R0FVRFVSV0g2OEJVOEo1OUk6OUIyMENDMDI2ODYzMTJDMDEwMDJEQkY2REQ3NDlFRkJERDk2M0I3OA=='

返回参数

名称类型描述
codeint返回码
messagestring对返回码的文本描述内容
accessTokenstring获取到的凭证,最长为512字节。同一个ApiKey在凭证的有效期内仅会生成一个相同的AccessToken
expiresInint凭证的剩余有效时间(秒)。新生成的AccessToken的有效期为2小时。有效期剩余5分钟以内时,可生成一个新的AccessToken,在此期间新老AccessToken同时有效

返回示例

{
    "code": 200,
    "message": null,
    "requestId": "896e99c710bd4ead88e4f9c3352cc9ae",
    "accessToken": "5cb089d6eafd49caa68c41b9be9af6f6",
    "expiresIn": 7200
}

第二步:携带 access token 访问 API

请求时请添加以下Header来身份验证):

Header名称必填描述示例值
OAuth是OAuth认证的accessToken5cb089d6eafd49caa68c41b9be9af6f6

示例

curl --request POST \
  --url https://api.effilink.co/v5/transactional/mail/sends_customised \
  --header 'OAuth: 5cb089d6eafd49caa68c41b9be9af6f6'
  --data ...