发货地址问题排查指南.md 5.57 KB

发货地址未开通电子面单服务 - 排查指南

📋 问题描述

创建运单时提示:

发货地址未开通电子面单服务。当前发货地址: 江苏省南京市浦口区沿江街道浦洲路39号沿海创中心A区301室
请在抖音后台开通电子面单服务,并确保发货地址与开通时填写的地址完全一致(包括省市区、街道和详细地址)。

🔍 当前配置的发货地址

根据 appsettings.json 配置:

  • : 江苏省
  • : 南京市
  • : 浦口区
  • 街道: 沿江街道
  • 详细地址: 浦洲路39号沿海创中心A区301室
  • 完整地址: 江苏省南京市浦口区沿江街道浦洲路39号沿海创中心A区301室

✅ 排查步骤

1. 检查抖音后台是否已开通电子面单服务

  1. 登录抖音开放平台:https://open.jinritemai.com/
  2. 进入 物流管理电子面单服务
  3. 确认是否已开通电子面单服务
  4. 如果未开通,需要先开通

2. 检查抖音后台填写的发货地址

在抖音后台的电子面单服务配置中,检查填写的发货地址是否与当前配置完全一致

必须完全匹配的字段:

  • ✅ 省份:江苏省
  • ✅ 城市:南京市
  • ✅ 区县:浦口区
  • ✅ 街道:沿江街道(如果有)
  • ✅ 详细地址:浦洲路39号沿海创中心A区301室

注意事项:

  • 地址中的每个字符都必须完全一致
  • 不能有多余的空格
  • 不能有标点符号差异(如"301室" vs "301 室")
  • 街道名称必须完全一致(如"沿江街道" vs "沿江街道办")

3. 检查服务器上的配置

在宝塔服务器上,检查 appsettings.json 文件中的配置:

# 进入部署目录
cd /www/wwwroot/douyin-api/deploy_single_site_20251201_112959

# 查看配置文件
cat appsettings.json | grep -A 10 "Sender"

确保配置如下:

{
  "Douyin": {
    "SenderName": "你的发货人姓名",
    "SenderPhone": "你的发货人电话",
    "SenderAddress": "浦洲路39号沿海创中心A区301室",
    "SenderProvince": "江苏省",
    "SenderCity": "南京市",
    "SenderDistrict": "浦口区",
    "SenderStreet": "沿江街道"
  }
}

4. 查看服务器日志

查看服务器日志,确认实际发送给抖音的地址格式:

# 查看应用日志(如果使用 Supervisor)
tail -f /www/wwwroot/douyin-api/logs/app.log

# 或者查看系统日志
journalctl -u douyin-api -f

在日志中查找:

  • 发货地址信息 - 查看实际配置的地址
  • 创建运单请求参数 - 查看发送给抖音的完整参数(Debug 级别)

5. 常见问题及解决方案

问题 1:地址格式不一致

症状:抖音后台的地址与配置中的地址有细微差别

解决方案

  1. 登录抖音后台,查看电子面单服务中填写的完整地址
  2. 将服务器上的 appsettings.json 中的地址修改为与抖音后台完全一致
  3. 重启应用

问题 2:街道信息缺失或不一致

症状:抖音后台填写了街道,但配置中没有,或街道名称不一致

解决方案

  1. 确认抖音后台是否填写了街道信息
  2. 如果填写了,确保 SenderStreet 字段与抖音后台完全一致
  3. 如果抖音后台没有填写街道,将 SenderStreet 设置为空字符串 ""

问题 3:详细地址格式不一致

症状:详细地址中的空格、标点符号不一致

解决方案

  1. 对比抖音后台的详细地址和配置中的 SenderAddress
  2. 确保完全一致,包括:
    • 空格位置
    • 标点符号(如"301室" vs "301 室")
    • 数字格式(如"39号" vs "39 号")

问题 4:未开通电子面单服务

症状:抖音后台根本没有开通电子面单服务

解决方案

  1. 登录抖音开放平台
  2. 进入 物流管理电子面单服务
  3. 按照提示开通电子面单服务
  4. 在开通时,填写与 appsettings.json完全一致的发货地址

🔧 修改配置后的操作

  1. 修改 appsettings.json 后,需要重启应用:
# 如果使用 Supervisor
supervisorctl restart douyin-api

# 或者直接重启进程
pkill -f DouyinLogistics.API.dll
cd /www/wwwroot/douyin-api/deploy_single_site_20251201_112959
dotnet DouyinLogistics.API.dll --urls http://0.0.0.0:5000 &
  1. 验证配置:修改后,可以通过 Swagger 测试创建运单接口,查看日志确认地址是否正确

📝 地址格式示例

正确的地址格式:

省份: 江苏省
城市: 南京市
区县: 浦口区
街道: 沿江街道
详细地址: 浦洲路39号沿海创中心A区301室

发送给抖音的格式:

{
  "sender_info": {
    "address": {
      "country_code": "CHN",
      "province_name": "江苏省",
      "city_name": "南京市",
      "district_name": "浦口区",
      "street_name": "沿江街道",
      "detail_address": "浦洲路39号沿海创中心A区301室"
    }
  }
}

⚠️ 重要提示

  1. 地址必须完全一致:抖音会严格校验地址,任何细微差别都会导致失败
  2. 建议使用环境变量:生产环境建议使用环境变量配置,而不是直接修改 appsettings.json
  3. 先开通再测试:确保抖音后台已开通电子面单服务后再测试创建运单

📞 如果问题仍未解决

  1. 查看服务器日志中的详细错误信息
  2. 对比抖音后台的地址配置和服务器上的配置
  3. 联系抖音开放平台技术支持,提供:
    • 错误信息
    • 发货地址配置
    • 请求参数(从日志中获取)