Guias de Desenvolvimento

Signing Sessions

Guias dos SDKs

Paginação

A API usa o padrão nextToken para paginação. Ao listar transações, a resposta inclui um nextToken que deve ser enviado na próxima requisição para obter a página seguinte.


Paginação manual

Use o campo nextToken da resposta para buscar a próxima página. Quando nextToken for null/vazio, não há mais páginas.

let nextToken: string | undefined;

do {
  const page = await client.transactions.list({
    status: 'COMPLETED',
    limit: 25,
    nextToken,
  });

  for (const tx of page.transactions) {
    console.log(tx.transactionId, tx.status);
  }

  console.log(`${page.count} transações nesta página`);
  nextToken = page.nextToken;
} while (nextToken);
from signdocs_brasil.models import TransactionListParams

next_token = None

while True:
    page = client.transactions.list(TransactionListParams(
        status='COMPLETED',
        limit=25,
        next_token=next_token,
    ))

    for tx in page.transactions:
        print(tx.transaction_id, tx.status)

    print(f'{page.count} transações nesta página')
    next_token = page.next_token
    if not next_token:
        break
var nextToken string

for {
    page, _ := client.Transactions.List(ctx, &signdocs.TransactionListParams{
        Status:    signdocs.TransactionStatusCompleted,
        Limit:     25,
        NextToken: nextToken,
    })

    for _, tx := range page.Transactions {
        fmt.Println(tx.TransactionID, tx.Status)
    }

    fmt.Printf("%d transações nesta página\n", page.Count)
    nextToken = page.NextToken
    if nextToken == "" {
        break
    }
}
TransactionListParams params = new TransactionListParams();
params.status = "COMPLETED";
params.limit = 25;

String nextToken = null;
do {
    params.nextToken = nextToken;
    TransactionListResponse page = client.transactions().list(params);

    for (Transaction tx : page.transactions) {
        System.out.println(tx.transactionId + " " + tx.status);
    }

    System.out.println(page.count + " transações nesta página");
    nextToken = page.nextToken;
} while (nextToken != null);
$nextToken = null;

do {
    $page = $client->transactions->list(new TransactionListParams(
        status: 'COMPLETED',
        limit: 25,
        nextToken: $nextToken,
    ));

    foreach ($page->transactions as $tx) {
        echo $tx->transactionId . ' ' . $tx->status . PHP_EOL;
    }

    echo count($page->transactions) . " transações nesta página\n";
    $nextToken = $page->nextToken;
} while ($nextToken !== null);

Auto-paginação

Todos os SDKs oferecem um método de auto-paginação que busca todas as páginas automaticamente de forma lazy (sob demanda).

listAutoPaginate retorna um AsyncGenerator:

for await (const tx of client.transactions.listAutoPaginate({ status: 'COMPLETED' })) {
  console.log(tx.transactionId, tx.status);
}

list_auto_paginate retorna um Iterator:

for tx in client.transactions.list_auto_paginate(TransactionListParams(status='COMPLETED')):
    print(tx.transaction_id, tx.status)

ListAutoPaginate retorna um PageIterator com padrão Next/Value/Err:

iter := client.Transactions.ListAutoPaginate(&signdocs.TransactionListParams{
    Status: signdocs.TransactionStatusCompleted,
})

for iter.Next(ctx) {
    tx := iter.Value()
    fmt.Println(tx.TransactionID, tx.Status)
}

if err := iter.Err(); err != nil {
    log.Fatal(err)
}

listAutoPaginate retorna um Iterable:

for (Transaction tx : client.transactions().listAutoPaginate(
        new TransactionListParams("COMPLETED", null, null, null, null))) {
    System.out.println(tx.transactionId + " " + tx.status);
}

listAutoPaginate retorna um Generator:

foreach ($client->transactions->listAutoPaginate(
    new TransactionListParams(status: 'COMPLETED')
) as $tx) {
    echo $tx->transactionId . ' ' . $tx->status . PHP_EOL;
}

Parâmetros de filtro

Parâmetro Tipo Descrição
status string Filtrar por status (CREATED, COMPLETED, CANCELLED, etc.)
userExternalId string Filtrar por ID externo do signatário
documentGroupId string Filtrar por grupo de documentos
limit int Número máximo de resultados por página (padrão definido pela API)
nextToken string Token para a próxima página