https://api.sandbox.supersign.com.br/openapi.json/v4/api/* que aparecem nesse contrato.@hey-api/openapi-ts:import { client } from './supersign/client.gen'
import { getEnvelopes, postEnvelopesEnvelopeIdDuplicate } from './supersign/sdk.gen'
client.setConfig({
baseUrl: 'https://api.sandbox.supersign.com.br',
headers: { Authorization: `Bearer ${process.env.SUPERSIGN_API_KEY}` },
})
const lista = await getEnvelopes({ query: { status: 'SENT', perPage: 50 } })
if (lista.error) {
// Decida pelo código, nunca pelo texto da mensagem.
console.error(lista.error.error.code)
} else {
const primeiro = lista.data.envelopes[0]
const copia = await postEnvelopesEnvelopeIdDuplicate({
path: { envelopeId: primeiro.id },
headers: { 'Idempotency-Key': crypto.randomUUID() },
body: { title: 'Cópia' },
})
}-g python por php, java, csharp ou go, conforme a linguagem.Authorization: Bearer ss_... em toda chamada. A chave fica no servidor, em variável de ambiente, e nunca vai para o navegador, o app ou os logs.Idempotency-Key em todo POST. Se repetir a mesma operação depois de um timeout, reutilize a mesma chave. Veja Idempotência e erros.ApiError (ou ValidationError no 400). Trate pelo error.code. A lista de códigos é aberta: um código novo pode surgir sem aviso de quebra, então tenha um caminho padrão para códigos desconhecidos. Veja o Catálogo de erros.meta no formato PaginationMeta. Percorra as páginas até totalPages. Veja Paginação e filtros.429, espere e tente de novo. Veja Limites de requisição.