@SpeedTopPmpProdServer = https://pmp.speedtop.io/api/v1/pmp @SpeedTopPmpTestServer = https://speedtop-pmp.golink.dev/api/v1/pmp @FkeyPmpProdServer = https://pmp.fkey.win/api/v1/pmp @FkeyPmpTestServer = https://fkey-pmp.golink.dev/api/v1/pmp @RingPlusPmpProdServer = https://pmp.ringplus.ai/api/v1/pmp @ShortDramaPmpProdServer = https://pmp.zipdrama.io/api/v1/pmp @SpeedTopPmpProdAccessToken = eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE3NTg1OTYzODgsImlhdCI6MTc1ODUwOTk4OCwidXNlcklkIjoxfQ.bc_YJmpj0l2TpOwzPKqZVXdG_otjBZ8cfjTHElbQN8g @SpeedTopPmpProdRefreshToken = eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE3NTkxMTQ3ODgsImlhdCI6MTc1ODUwOTk4OCwiaXNSZWZyZXNoVG9rZW4iOjEsInVzZXJJZCI6MX0.WxR5pjxWWu8iGEVJ5zVpONE0BlNb9CE2saAuIztEIIo @SpeedTopPmpTestAccessToken = eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE3NTg1OTY2ODksImlhdCI6MTc1ODUxMDI4OSwidXNlcklkIjoxfQ.KKZkPXhT9qELxslEczDvBbTIiFABuFZZU0sdYmwLCaM @SpeedTopPmpTestRefreshToken = eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE3NTkxMTUwODksImlhdCI6MTc1ODUxMDI4OSwiaXNSZWZyZXNoVG9rZW4iOjEsInVzZXJJZCI6MX0.XZoYZF1VSqJHhBTQEqFQSDQOANWGq7F50zixThGKRrw @FkeyPmpProdAccessToken = eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE3NTg2MTU2NzQsImlhdCI6MTc1ODUyOTI3NCwidXNlcklkIjoxM30.t0nVIL17yo4i1hA0W5S1FuasnveSUwR1K8YnsgXF-eo @FkeyPmpProdRefreshToken = eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE3NTkxMzQwNzQsImlhdCI6MTc1ODUyOTI3NCwiaXNSZWZyZXNoVG9rZW4iOjEsInVzZXJJZCI6MTN9._uljRnIIlfFXkhtixElOUBlWR1xDRJTIcGp5SEc6gQY @FkeyPmpTestAccessToken = eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE3NTg2MTkyODEsImlhdCI6MTc1ODUzMjg4MSwidXNlcklkIjo3fQ.48OHh6X0yn8zoJzhHlTZ7rlLI8z-UZYC2Z0EqTRLF-g @FkeyPmpTestRefreshToken = eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE3NTkxMzc2ODEsImlhdCI6MTc1ODUzMjg4MSwiaXNSZWZyZXNoVG9rZW4iOjEsInVzZXJJZCI6N30.PolhbJtSpdLdD2rDN6WqgKMz0mW-VdwjA--IztBwYuc @RingPlusPmpProdAccessToken = eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE3NTg2ODEwNDksImlhdCI6MTc1ODU5NDY0OSwidXNlcklkIjoxMX0.TGXxI15dCaw8e0l1j0jn1eihYNvakmJEPrPp1rP8O5Y @RingPlusPmpProdRefreshToken = eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE3NTkxOTk0NDksImlhdCI6MTc1ODU5NDY0OSwiaXNSZWZyZXNoVG9rZW4iOjEsInVzZXJJZCI6MTF9.UtAlPVIgHszg7QydRyOxsq5NOfWrVX2hm-gwIHvT180 @ShortDramaPmpProdAccessToken = eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE3NTg2OTQ3NTQsImlhdCI6MTc1ODYwODM1NCwidXNlcklkIjoxOX0.FM0m5JAXObwYzxUvNbR5tS2Dnn4dWexCUzX61B6jUvY @ShortDramaPmpProdRefreshToken = eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE3NTkyMTMxNTQsImlhdCI6MTc1ODYwODM1NCwiaXNSZWZyZXNoVG9rZW4iOjEsInVzZXJJZCI6MTl9.gp0l5ZtRp97afl5qGeJ0BI6rxZ0Qq-vWMAG03G1QuOM @PMP_SERVER = {{ShortDramaPmpProdServer}} @STAT_SERVER = https://metrics-api.speedtop.io/api/v1/pmp @ACCESS_TOKEN = {{ShortDramaPmpProdAccessToken}} @REFRESH_TOKEN = {{ShortDramaPmpProdRefreshToken}} @PRODUCT_CODE = zipdrama ### 设备管理接口 ### 获取设备列表 POST {{PMP_SERVER}}/device/list Content-Type: application/json Authorization: Bearer {{ACCESS_TOKEN}} { "current": 1, "pageSize": 20, "keyword": "", "ids": [], "excludeIds": [], "dateRange": ["2025-01-01", "2025-12-31"], "createStartTime": 1735689600, "createEndTime": 1735689600, "userUuid": "user123", "productCode": "speedtop", "deviceId": "device123", "accountKey": "key123", "accountPassword": "pass123", "platform": "android", "channel": "google", "referChannel": "referral", "deviceModel": "Pixel 6", "deviceOs": "Android 12", "timezone": 28800, "lang": "zh-CN", "appVer": 100, "ip": "192.168.1.1", "country": "CN", "province": "Beijing", "city": "Beijing", "isp": "China Mobile", "status": 1, "refer": "https://example.com", "whitelistUser": 1, "testUser": 1, "mockCountry": "US", "mockApi": "https://mock-api.example.com", "mockRouter": "https://mock-router.example.com", "createTime": 1755518760, "updateTime": 1755518760 } ### 添加设备 POST {{PMP_SERVER}}/device/add Content-Type: application/json Authorization: Bearer {{ACCESS_TOKEN}} { "userUuid": "user123", "productCode": "speedtop", "deviceId": "device123", "accountKey": "key123", "accountPassword": "pass123", "platform": "android", "channel": "google", "referChannel": "referral", "deviceModel": "Pixel 6", "deviceOs": "Android 12", "timezone": 28800, "lang": "zh-CN", "appVer": 100, "ip": "192.168.1.1", "country": "CN", "province": "Beijing", "city": "Beijing", "isp": "China Mobile", "status": 1, "refer": "https://example.com", "whitelistUser": 1, "testUser": 1, "mockCountry": "US", "mockApi": "https://mock-api.example.com", "mockRouter": "https://mock-router.example.com" } ### 更新设备 POST {{PMP_SERVER}}/device/update Content-Type: application/json Authorization: Bearer {{ACCESS_TOKEN}} { "id": 1, "userUuid": "user123", "productCode": "speedtop", "deviceId": "device123", "accountKey": "key123", "accountPassword": "pass123", "platform": "android", "channel": "google", "referChannel": "referral", "deviceModel": "Pixel 6 Pro", "deviceOs": "Android 13", "timezone": 28800, "lang": "zh-CN", "appVer": 101, "ip": "192.168.1.2", "country": "CN", "province": "Beijing", "city": "Beijing", "isp": "China Mobile", "status": 1, "refer": "https://example.com", "whitelistUser": 1, "testUser": 1, "mockCountry": "US", "mockApi": "https://mock-api.example.com", "mockRouter": "https://mock-router.example.com", "createTime": 1755518760, "updateTime": 1755518760 } ### 删除设备 POST {{PMP_SERVER}}/device/del Content-Type: application/json Authorization: Bearer {{ACCESS_TOKEN}} { "ids": [1, 2, 3] } ### 获取设备详情 POST {{PMP_SERVER}}/device/get Content-Type: application/json Authorization: Bearer {{ACCESS_TOKEN}} { "id": 1 } ### 禁用设备 POST {{PMP_SERVER}}/device/disable Content-Type: application/json Authorization: Bearer {{ACCESS_TOKEN}} { "ids": [1, 2, 3] } ### 启用设备 POST {{PMP_SERVER}}/device/enable Content-Type: application/json Authorization: Bearer {{ACCESS_TOKEN}} { "ids": [1, 2, 3] }