source-shortio: Clicks stream broken, api-v2.short.cm domain decommissioned, needs migration to statistics.short.io
- 主要語言
- Python
- 星號
- 22.1k
- 分支
- 5.4k
- 平均合併
- 5 小時
- 30 天內合併 PR
- 671
描述
### Connector Name
source-shortio
### Connector Version
0.3.57
### What step the error happened?
Configuring a new connector
### Relevant information
## Description
The `clicks` stream in `source-shortio` is broken. The `api-v2.short.cm` host has been decommissioned by Short.io, returning a `404 Domain not found` HTML page instead of JSON.
The `links` stream still works because it already uses `api.short.io`.
## Error
GET request to `https://api-v2.short.cm/statistics/domain//link_clicks` failed with status code '404' and error message: 'Domain not found'
## Root Cause
The old `link_clicks` GET endpoint no longer returns raw click data. The equivalent endpoint is now [`last_clicks`](https://developers.short.io/reference/postdomaindomainidlast_clicks) (POST) and `https://api-v2.short.cm/statistics/` is now `https://statistics.short.io/statistics/`
## Proposed Fix
Three changes in `manifest.yaml` for the clicks stream requester:
| Field | Current (broken) | Fix |
|---|---|---|
| `url_base` | `https://api-v2.short.cm/statistics/` | `https://statistics.short.io/statistics/` |
| `path` | `domain/{{ config['domain_id'] }}/link_clicks` | `domain/{{ config['domain_id'] }}/last_clicks` |
| `http_method` | `GET` | `POST` |
The `last_clicks` endpoint returns the same raw click record schema (`dt`, `host`, `path`, `ip`, `browser`, `country`, `os`, `ua`, `utm_source`, etc.) and in addition the following new fields: `geoname_id`, `utm_term`, `utm_content`, `lcpath`.
### Relevant log output
```shell
source ERROR 'GET' request to 'https://api-v2.short.cm/statistics/domain/XXXX/link_clicks' failed with status code '404'
```
### Contribute
- [x] Yes, I want to contribute
---
**Internal Tracking:** airbytehq/oncall#13132
貢獻指南
研究方向
Locate source-shortio's manifest.yaml and inspect the clicks stream requester first. Compare its requester settings with the Short.io last_clicks API described in the issue, then run the connector's existing checks if available. Done when the clicks stream uses the supported endpoint and retains the documented raw click records.
由索引模型根據 Issue 內容生成。
評估
- 技術堆疊
- yaml
- 領域
- api
- Issue 類型
- 缺陷
- 難度
- 2/5
- 預估耗時
- 1-3 小時
- 活躍度
- 冷清
- 描述清晰度
- 描述清楚
- 新手友好度
- 76/100