Referencia
Paginación
Las listas de agentes, llamadas, campañas, números de teléfono y entidades están paginadas:
page empieza en 1, limit va de 1 a 100 (50 por defecto) y la respuesta incluye 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"])Otras listas
- Las facturas usan un cursor: pasa el
nextCursorde una respuesta comocursor; valenullen la última página. - Las herramientas, los webhooks y los trunks SIP llegan en una sola respuesta.
