用途:swiggy-address 用于管理 Swiggy 配送地址,解决 Food 与 Instamart 工具普遍需要 addressId 的问题。会话中解析一次地址,并设为账户默认,后续命令无需反复询问。
主要能力与用法: 解析地址: swiggy food addresses --json --no-interactive 返回 data.addresses[],含 id、addressLine、addressTag(HOME/WORK 等)。设置默认: swiggy profile set default defaultAddressId <id> 之后所有 food/instamart 命令使用该地址。Food 与 Instamart 共用同一地址簿,一次查询即可通用;地址 id 稳定,应缓存 id 而非可读文本。
匹配用户表述时对应 addressTag/addressLine(“home”对应 HOME)。若可能匹配多个地址,需展示候选项并询问用户,不得静默选择。此处不返回坐标(Swiggy 会剥离坐标);Dineout 另有 swiggy dineout locations。
创建地址(自 2026 年 8 月起所有账户可用):
swiggy instamart create-address
--full-address "12B, Sobha Lotus, Sarjapur Road, Bengaluru 560103"
--line1 "12B, Sobha Lotus" --line2 "Sarjapur Road" --locality Sarjapur
--city Bengaluru --postal-code 560103 --category HOME --tag Home
--name "<account holder>" --phone "+91xxxxxxxxxx" --json --no-interactive
仅向用户询问完整地址、姓名、电话、类别(HOME/WORK/OFFICE/FRIENDS_AND_FAMILY/OTHER)和可选标签,其余字段自行从完整地址解析。不要索要坐标,省略 --lat/--lng,由 Swiggy 地理编码;仅当用户主动提供时才传入。--name/--phone 为账户持有人,代他人收货时使用 --receiver-name/--receiver-phone。若地理编码失败,应请用户更正地址,不要重复相同字符串。响应中的 data.addressId 可立即用于搜索、购物车和结算,无需重新列出。
删除(破坏性操作): swiggy instamart delete-address <addressId> --yes --json --no-interactive 仅在用户于当前对话中指明要删除的地址后执行,并先向其确认 addressLine。
限制:不返回坐标;地址匹配存在歧义时必须询问;删除不可逆,需确认。