您需要在本周内在 C# 中交付 NRL 排名和赛程集成。在本指南结束时,您将能够通过 Zyla API Hub 查询 NRL 数据 API 的实时排名、轮次赛程和比赛详情,并使用 HttpClient 在您的应用中呈现它们——此外,还可以查看如何通过 MCP 从 JavaScript 和 AI 代理访问相同的端点。
您可以使用 NRL 数据 API 构建的内容
NRL 数据 API 提供当前和历史比赛数据(追溯到 2002 年):
- 排名:包含胜利、失败、得分等的赛季排名。
- 赛程:给定轮次和赛季的比赛,包括得分和场馆。
- 比赛详情:特定比赛 ID 的深入数据,包括得分表和阵容。
开发人员通常使用此 API 为体育产品提供记分板、排名页面、比赛中心、通知和分析。由于这些端点托管在 Zyla API Hub 上,您可以通过与市场上成千上万的其他 API 相同的方式进行身份验证——一个帐户,一个 API 密钥,订阅 + 配额计费(不是按调用计费)。第一个 API 提供 7 天的试用或 50 次请求;没有免费计划。请查看 API 页面以获取当前访问选项和定价。
探索列表: NRL 数据 API。在 Zyla API Hub 上浏览超过 10,000 个公共 API。
在 Zyla API Hub 上开始
- 打开 Zyla API Hub 上的 NRL 数据 API 页面。
- 点击订阅或开始免费试用(可用时)。该平台使用订阅 + 配额模型(不是按调用计费)。第一个 API 提供 7 天的试用或 50 次请求;没有免费计划。
- 从您的仪表板获取 API 密钥。所有请求都使用头 Authorization: Bearer YOUR_API_KEY。
如果您还没有帐户,可以 注册 创建一个免费帐户并获取 API 密钥。
端点概述
基本调用模式:使用下面的确切 Hub URL 和 Authorization 头。不要添加额外的参数。
1) 排名(GET)
获取特定赛季的排名统计(支持当前年份和追溯到 2002 年的历史数据)。
- 方法:GET
- URL:https://zylalabs.com/api/4535/nrl-data-api/5576/ladder
- 所需查询参数:
- season(数字):2025
官方 curl 示例:
curl -s -X GET "https://zylalabs.com/api/4535/nrl-data-api/5576/ladder?season=2025" \
-H "Authorization: Bearer YOUR_API_KEY"
官方 JSON 响应
以下是您可以从排名端点期望的官方响应示例。复制这些确切的值有助于验证您的解析逻辑:
{"status":"success","data":[{"season":"2024","ladder":{"position":"1","team":"Melbourne","played":"24","wins":"19","losses":"5","draws":"-","bye":"3","for":"692","against":"449","ladder_points":"44"}},{"season":"2024","ladder":{"position":"2","team":"Penrith","played":"24","wins":"17","losses":"7","draws":"-","bye":"3","for":"580","against":"394","ladder_points":"40"}},{"season":"2024","ladder":{"position":"3","team":"Sydney","played":"24","wins":"16","losses":"8","draws":"-","bye":"3","for":"738","against":"463","ladder_points":"38"}},{"season":"2024","ladder":{"position":"4","team":"Cronulla","played":"24","wins":"16","losses":"8","draws":"-","bye":"3","for":"653","against":"431","ladder_points":"38"}},{"season":"2024","ladder":{"position":"5","team":"North Qld","played":"24","wins":"15","losses":"9","draws":"-","bye":"3","for":"657","against":"568","ladder_points":"36"}},{"season":"2024","ladder":{"position":"6","team":"Canterbury","played":"24","wins":"14","losses":"10","draws":"-","bye":"3","for":"529","against":"433","ladder_points":"34"}},{"season":"2024","ladder":{"position":"7","team":"Manly","played":"24","wins":"13","losses":"10","draws":"1","bye":"3","for":"634","against":"521","ladder_points":"33"}},{"season":"2024","ladder":{"position":"8","team":"Newcastle","played":"24","wins":"12","losses":"12","draws":"-","bye":"3","for":"470","against":"510","ladder_points":"30"}},{"season":"2024","ladder":{"position":"9","team":"Canberra","played":"24","wins":"12","losses":"12","draws":"-","bye":"3","for":"474","against":"601","ladder_points":"30"}},{"season":"2024","ladder":{"position":"10","team":"Dolphins","played":"24","wins":"11","losses":"13","draws":"-","bye":"3","for":"577","against":"578","ladder_points":"28"}},{"season":"2024","ladder":{"position":"11","team":"St Geo Illa","played":"24","wins":"11","losses":"13","draws":"-","bye":"3","for":"508","against":"634","ladder_points":"28"}},{"season":"2024","ladder":{"position":"12","team":"Brisbane","played":"24","wins":"10","losses":"14","draws":"-","bye":"3","for":"537","against":"607","ladder_points":"26"}},{"season":"2024","ladder":{"position":"13","team":"Warriors","played":"24","wins":"9","losses":"14","draws":"1","bye":"3","for":"512","against":"574","ladder_points":"25"}},{"season":"2024","ladder":{"position":"14","team":"Gold Coast","played":"24","wins":"8","losses":"16","draws":"-","bye":"3","for":"488","against":"656","ladder_points":"22"}},{"season":"2024","ladder":{"position":"15","team…
您将实际使用的字段说明:
- status: "success" 表示调用成功。
- data: 包含您请求的赛季的排名行的数组。
- 每个项目都有:
- season: 作为字符串的赛季标签。
- ladder: 一个对象,包含 position、team、played、wins、losses、draws、bye、for、against 和 ladder_points 作为字符串。
2) 赛程(GET)
获取特定赛季和轮次的赛程(以及可用时的得分)。
- 方法:GET
- URL:https://zylalabs.com/api/4535/nrl-data-api/5577/fixture
- 所需查询参数:
- season(数字):2026
- round(数字):7
官方 curl 示例:
此端点返回所选轮次的赛程,包括 match_id、date、time、home_team、home_score、away_team、away_points、referee、venue 和 crowd 等字段(基于提供的示例)。使用此响应中的 match_id 查询详细的比赛数据。
3) 比赛详情(GET)
使用来自赛程端点的 match_id 检索特定比赛的详情(得分、阵容等)。
- 方法:GET
- URL:https://zylalabs.com/api/4535/nrl-data-api/5578/match-details
- 所需查询参数:
- match_id(数字):5732
官方 curl 示例:
此端点返回一个结构,其中包含 match_id、match_status、date、kick_off、referee、venue、crowd、home_team、away_team 和嵌套的 match_details(如 match_score 和 scoresheet)以及阵容(基于提供的示例)。
C# HttpClient:调用排名端点并解析排名
下面的代码段使用 HttpClient 请求给定赛季的当前排名,然后投影一个简单的模型以显示团队、位置和排名积分。唯一的必需参数是赛季,身份验证是 Bearer 令牌。
using System;
using System.Collections.Generic;
using System.Net.Http;
using System.Net.Http.Headers;
using System.Text.Json;
using System.Text.Json.Serialization;
using System.Threading.Tasks;
public class NrlLadderRow
{
[JsonPropertyName("season")]
public string Season { get; set; }
[JsonPropertyName("ladder")]
public LadderStats Ladder { get; set; }
}
public class LadderStats
{
[JsonPropertyName("position")]
public string Position { get; set; }
[JsonPropertyName("team")]
public string Team { get; set; }
[JsonPropertyName("played")]
public string Played { get; set; }
[JsonPropertyName("wins")]
public string Wins { get; set; }
[JsonPropertyName("losses")]
public string Losses { get; set; }
[JsonPropertyName("draws")]
public string Draws { get; set; }
[JsonPropertyName("bye")]
public string Bye { get; set; }
[JsonPropertyName("for")]
public string ForPoints { get; set; }
[JsonPropertyName("against")]
public string AgainstPoints { get; set; }
[JsonPropertyName("ladder_points")]
public string LadderPoints { get; set; }
}
public class LadderResponse
{
[JsonPropertyName("status")]
public string Status { get; set; }
[JsonPropertyName("data")]
public List<NrlLadderRow> Data { get; set; }
}
public class Program
{
private static async Task Main()
{
var apiKey = "YOUR_API_KEY";
var season = 2025; // 必需的查询参数
using var http = new HttpClient();
http.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", apiKey);
var url = $"https://zylalabs.com/api/4535/nrl-data-api/5576/ladder?season={season}";
using var res = await http.GetAsync(url);
res.EnsureSuccessStatusCode();
var json = await res.Content.ReadAsStringAsync();
var opts = new JsonSerializerOptions
{
PropertyNameCaseInsensitive = true
};
var model = JsonSerializer.Deserialize<LadderResponse>(json, opts);
if (model?.Status != "success" || model.Data == null)
{
Console.Error.WriteLine("意外的 API 响应。");
return;
}
// 打印前 5
foreach (var row in model.Data)
{
if (int.TryParse(row.Ladder.Position, out var pos) && pos > 5) break;
Console.WriteLine($"#{row.Ladder.Position} {row.Ladder.Team} - Pts: {row.Ladder.LadderPoints} (W{row.Ladder.Wins}-L{row.Ladder.Losses})");
}
}
}
注意:
- 所有排名字段在示例中都是字符串。仅在需要计算值的地方转换为整数。
- 始终检查状态是否等于 "success"。通过记录和退避处理非成功响应。
- 对于不频繁刷新排名的服务器端应用程序,按赛季缓存响应以避免冗余调用。
JavaScript 示例:获取排名并读取关键字段
此 JavaScript 代码段复制相同的排名调用。它使用确切的 Hub URL 和所需的赛季参数。
async function fetchNrlLadder(season = 2025) {
const res = await fetch(`https://zylalabs.com/api/4535/nrl-data-api/5576/ladder?season=${season}`, {
method: "GET",
headers: {
"Authorization": "Bearer YOUR_API_KEY"
}
});
if (!res.ok) {
throw new Error(`HTTP ${res.status}`);
}
const data = await res.json();
if (data.status !== "success" || !Array.isArray(data.data)) {
throw new Error("意外的 API 响应格式");
}
// 示例:映射到最小对象
const topRows = data.data.slice(0, 5).map(r => ({
team: r.ladder.team,
position: r.ladder.position,
points: r.ladder.ladder_points,
wins: r.ladder.wins,
losses: r.ladder.losses
}));
return topRows;
}
fetchNrlLadder().then(rows => {
console.table(rows);
}).catch(err => {
console.error(err);
});
实用使用模式
- 排名页面:每次部署或每天调用一次排名(根据您的用例)。赛季参数支持追溯到 2002 年的历史数据。
- 轮次中心:使用赛季和轮次调用赛程以构建带有得分和场馆的时间表。存储 match_id 值以填充专用比赛页面。
- 比赛页面:通过 match_id 获取比赛详情以获取得分表和阵容。示例显示了嵌套对象,如 match_details.match_score 和阵容。
- 时区和显示:日期/时间字段以字符串形式到达(例如,"2024-03-02" 和 "6:30pm")。在显示时将它们保持为字符串,或者如果您有已知的本地上下文,则在应用中将其规范化。
- 缓存:对于静态数据(过去的赛季或已完成的轮次),积极缓存。对于进行中的轮次,缓存短 TTL,并在您的产品中根据比赛开始/结束事件使其失效。
通过 MCP 从 AI 代理调用 NRL 数据 API
您可以通过 Zyla MCP 端点从 AI 编码代理触发相同的 HTTP 调用。任何与 MCP 兼容的客户端(例如,Claude Code、Cursor、Windsurf)都可以使用您的密钥访问您订阅的 API:
- MCP 端点:https://mcp.zylalabs.com/mcp?apikey=YOUR_API_KEY
- 使用上面显示的确切 Hub URL 和所需参数。身份验证仍然是 Authorization: Bearer YOUR_API_KEY。
- 有关客户端设置和详细信息,请参阅 MCP 文档。
错误处理、限制和操作提示
- 身份验证:每个请求必须包含 Authorization: Bearer YOUR_API_KEY。
- 参数:仅发送每个端点显示的必需参数。不要添加主体负载;这些端点是简单的 GET 请求。
- 配额:Zyla API 使用订阅 + 配额计费(不是按调用计费)。第一个 API 提供 7 天的试用或 50 次请求;没有免费计划。在您的 Zyla 仪表板中监控您的使用情况。
- 弹性:在 HTTP 错误时,记录 URL 和状态代码,然后重试并退避。避免在 4xx 错误上出现热循环——这些通常表示缺少/无效参数或身份验证。
- 架构更改:设计能够容忍附加字段的解析器。仅依赖本指南中显示的键或您的运行时检查。
链接回顾
- NRL 数据 API 列表: 在 Zyla 上查看
- 探索超过 10,000 个公共 API: Zyla API Hub
常见问题
问:我使用什么头进行身份验证?
答:每个请求都使用 Authorization: Bearer YOUR_API_KEY。
问:支持哪些赛季?
答:API 支持当前赛季和追溯到 2002 年的历史数据(根据端点描述)。
问:我如何获取比赛详情的 match_id?
答:使用赛季和轮次调用赛程端点。从赛程数组中读取 match_id,并将其传递给比赛详情端点。
问:是否有免费计划?
答:没有免费计划。第一个 API 提供 7 天的试用或 50 次请求。请查看 API 页面以获取当前访问选项和定价。
问:我可以从 AI 代理调用这些 API 吗?
答:可以。使用 MCP 端点 https://mcp.zylalabs.com/mcp?apikey=YOUR_API_KEY,结合您订阅的 API 的 Hub URL 和相同的 Authorization 头。
准备好集成了吗?在 Zyla 上创建一个帐户,订阅 NRL 数据 API,并使用一个密钥在市场上开始交付。 立即注册,探索数千个生产就绪的 API。