跳转到内容

分页

所有列表端点(GET /emails、/domains、/api-keys、/webhooks、/audiences、/audiences/{id}/contacts、/broadcasts、/suppressions)共用同一种基于游标的方案。

参数 说明
limit 每页条目数,1 到 100。默认为 20。
after 条目 id。返回比它更早的条目所在的页(下一页)。
before 条目 id。返回比它更新的条目所在的页(上一页)。

after 和 before 只能使用其中一个;同时使用会返回 422。结果按从新到旧排序。游标就是条目 id(UUIDv7,按创建时间排序),因此新条目到来时分页结果依然稳定。

Response
{
"object": "list",
"has_more": true,
"data": [
{ "object": "email", "id": "0192e1c4-7a3c-7a02-8e10-6c0f9d7a2b31", "...": "..." },
{ "object": "email", "id": "0192e1c4-7a3b-7c1e-9d2f-3b5a8e6f4c10", "...": "..." }
]
}

has_more 表示在你翻页的方向上是否还有下一页。

import { SpacePost } from "@spacepost/node";
const spacepost = new SpacePost();
let after: string | undefined;
for (;;) {
const { data, error } = await spacepost.emails.list({ limit: 100, after });
if (error) throw new Error(error.message);
for (const email of data.data) console.log(email.id, email.last_event);
if (!data.has_more) break;
after = data.data[data.data.length - 1]!.id;
}
  • 邮件列表响应不包含 html 和 text;请获取单封邮件以读取其正文。
  • 域名列表响应不包含 records;请获取单个域名以读取它们。
  • 格式错误的游标会返回 422 validation_error(“Invalid pagination cursor”)。