Erros e limites
Cada código de erro que a API Partner retorna e todos os limites que ela impõe.
Toda falha tem a mesma estrutura. Ramifique com base em error.error_code; registre descrição para um humano; nunca faça correspondência pelo texto. error.error_attributes carrega os detalhes que um código define e é nulo para o restante.
{
"description": "story_document: o link serve \"text/html\", que esta entrada não aceita. Aponte para o próprio arquivo.",
"code": "url_type_not_allowed",
"error": {
"id": null,
"error_code": "url_type_not_allowed",
"error_attributes": null,
"user_readable_message": null,
"locale": "en"
}
}código se repete error.error_code para clientes mais antigos; leia error.error_code.
Códigos de erro
| HTTP | error_code | Significa | O que fazer |
|---|---|---|---|
| 400 | invalid_request | um corpo ou valor de entrada está incorreto; a descrição nomeia a entrada | corrija e reenvie. Nunca tente novamente sem alterar |
| 400 | url_not_fetchable | um link não pôde ser buscado, violou uma das regras de links ou serviu um arquivo vazio | verifique em relação a Enviar arquivos por URL |
| 400 | url_type_not_allowed | o link serviu um tipo de conteúdo que esta entrada não aceita, ou bytes que não são do tipo que ele alegou | sirva o próprio arquivo, com seu tipo real |
| 400 | url_too_large | o arquivo excede o max_bytes, ou o que restou da cota de bytes da execução | envie um arquivo menor |
| 401 | não autorizado | a chave está ausente, malformada, revogada ou expirada | pare e avise alguém. Uma nova tentativa não pode ajudar |
| 403 | api_key_credit_limit_reached | a chave atingiu um de seus próprios limites de crédito; error_attributes.period diz qual | peça a um administrador para aumentar o limite da chave no Studio, ou aguarde a redefinição de um limite diário ou mensal |
| 403 | credits_exhausted | a organização não tem mais créditos | recarregue a organização |
| 403 | access_denied | org_id não é a organização da chave, a chave não tem o escopo ou talvez não possa executar este workflow | verifique os escopos da chave e a lista de permissões do workflow no Studio |
| 404 | entity_not_found | não existe tal workflow, projeto, execução ou endpoint de webhook na sua organização — ou uma execução de um workflow fora da lista de permissões da chave | verifique o id |
| 409 | idempotency_conflict | o mesmo idempotency_key chegou com um corpo diferente | use uma nova chave para um novo trabalho |
| 429 | too_many_requests | um limite de leitura foi atingido | aguarde Retry-After, depois reenvie |
| 500 | internal_error | nosso | tente novamente com backoff; se persistir, nos envie o x-morphic-trace-id |
Limites
| Limite | Padrão | Observações |
|---|---|---|
| Créditos | os próprios limites da chave | um total que toda chave tem, e limites diários e mensais opcionais — veja Limites de crédito |
| Leituras de uma execução | 30 por minuto, por chave | uma leitura por minuto por execução é suficiente; wait=45 é ainda mais barato |
| Leituras de todas as execuções | 1.200 por minuto, por chave | espaço para acompanhar centenas de execuções ao mesmo tempo |
| Links por execução | 10 | somando todas as entradas de arquivo |
| Bytes por execução | 500 MB | somando todos os links |
| Bytes por arquivo | da entrada max_bytes | documentos de até 100 MB; limites de mídia são por entrada |
| Tempo de vida da execução | 24 horas | uma execução não finalizada até expires_at se torna expirada |
| Endpoints de webhook | 10 por organização | remova um antes de adicionar outro |
Iniciar execuções nunca sofre limitação de taxa: os limites de crédito de uma chave delimitam o que um loop de repetição pode gastar, e um idempotency_key transforma uma nova tentativa em uma repetição. Os limites de leitura são aumentados mediante solicitação para um volume que já discutimos.
Cobrança
Os créditos de uma execução iniciada pela API são cobrados da organização que possui a chave e contabilizados na chave que a iniciou. Um administrador vê o gasto em Cobrança e uso → Atividade de crédito no Studio, e os limites de cada chave na Chaves de API página.
Uma execução continua sendo contabilizada na chave que a iniciou mesmo que alguém entre no chat no Studio e assuma o controle, então o orçamento restante da chave é o orçamento de toda a execução.
Uma execução recusada antes de começar — um link inválido, ou uma chave ou organização sem crédito — não custa nada. Uma execução que falha no meio consome o custo de todas as etapas concluídas; créditos_usados na execução informa quanto.