Référence
Pagination
Les listes d'agents, d'appels, de campagnes, de numéros de téléphone et d'entités sont paginées :
page commence à 1, limit va de 1 à 100 (50 par défaut), et la réponse indique pageCount.async function* allCalls(query = {}) {
for (let page = 1, pageCount = 1; page <= pageCount; page++) {
const params = new URLSearchParams({ ...query, page, limit: 100 });
const res = await fetch(`https://api.callshift.ai/v1/calls?${params}`, {
headers: { Authorization: `Bearer ${process.env.CALLSHIFT_API_KEY}` },
});
const body = await res.json();
pageCount = body.pageCount;
yield* body.data;
}
}
for await (const call of allCalls({ campaignId })) console.log(call.id, call.endedReason);def all_calls(**query):
page, page_count = 1, 1
while page <= page_count:
res = requests.get(
"https://api.callshift.ai/v1/calls",
headers={"Authorization": f"Bearer {os.environ['CALLSHIFT_API_KEY']}"},
params={**query, "page": page, "limit": 100},
).json()
page_count = res["pageCount"]
yield from res["data"]
page += 1
for call in all_calls(campaignId=campaign_id):
print(call["id"], call["endedReason"])Autres listes
- Les factures utilisent un curseur : passez le
nextCursord'une réponse dans le paramètrecursor; il vautnullsur la dernière page. - Les outils, les webhooks et les trunks SIP ne sont pas paginés : ils sont renvoyés en une seule réponse.
