Enviar uma requisição de ordenação
Use uma requisição HTTP POST com corpo JSON em UTF-8. Envie as opções no corpo, sem parâmetros na URL.
POST https://www.kuraxi.tec.br/api/sort
Content-Type: application/json
O exemplo ordena uma fila de registros pela prioridade, da maior para a menor.
{
"data": [
{"tarefa": "Revisão", "prioridade": 2},
{"tarefa": "Envio", "prioridade": 5},
{"tarefa": "Arquivo", "prioridade": 2}
],
"key": "prioridade",
"order": "desc",
"strategy": "auto",
"memory_budget_mb": 64
}
Em uma resposta bem sucedida, o campo result deve conter a lista abaixo. Revisão continua antes de Arquivo porque ambas têm prioridade 2.
[
{"tarefa": "Envio", "prioridade": 5},
{"tarefa": "Revisão", "prioridade": 2},
{"tarefa": "Arquivo", "prioridade": 2}
]
Opções e tipos aceitos
dataé o array de entrada. Para uma lista de números ou textos, use"key": null. Para registros, informe emkeyo nome de um campo presente em todos eles.orderaceitaasc(crescente, padrão) oudesc(decrescente).strategyaceitaauto(padrão),radix,natural_merge,bounded_insertionereference. Comece comauto. Radix exige chaves inteiras.memory_budget_mbaceita um inteiro de 1 a 128, com padrão 64. O serviço interpreta o valor em MiB como orçamento de memória auxiliar estimada.
Chaves inteiras no intervalo int64 podem usar o motor nativo. Em modo automático, chaves textuais ou numéricas com decimais usam a referência estável do Python. Textos são comparados pelos caracteres, sem colação específica de um idioma.
Os limites são 100.000 itens por requisição e 2 MiB para cada corpo de entrada e de resposta. Use JSON válido, sem chaves de objeto repetidas, NaN ou infinitos. A API aceita o intervalo int64 em JSON recebido diretamente. Para representar inteiros acima da precisão segura do JavaScript, use um cliente que preserve o número exato no corpo da requisição.
Interpretar a resposta e o tempo
O objeto devolvido reúne result, metrics e warnings. Em metrics, consulte strategy_used e native para identificar o caminho executado. estimated_aux_bytes estima a memória auxiliar, que é uma medida diferente da memória total do processo.
elapsed_ms mede o tempo da chamada ao motor e da conferência independente da saída no servidor, inclusive a comparação com a ordenação estável de referência. A transmissão pela rede e a leitura do JSON de entrada acontecem fora dessa janela.
Uma requisição sem application/json recebe 415. Opções ou dados inválidos recebem 422. Se a instância estiver ocupada, 429 indica que você pode aguardar e tentar novamente. O endpoint GET /api/health verifica a disponibilidade do motor nativo.