Docs
IntegrationsReferência da API

Anexos

Fluxos de URLs presigned para upload e download de anexos de documentos.

Anexos utilizam um modelo de URL presigned. Os Integradores primeiro solicitam uma URL temporária à Carrot API, e então fazem upload ou download dos dados do arquivo diretamente com a URL retornada.

Criar URL de upload

PUT
/documents/{documentId}/attachments/{fileName}

Path Parameters

documentId*string

ID do documento a qual o arquivo pertence

fileName*string

Nome do arquivo

Header Parameters

Authorization*string

Token de autorização

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

curl -X PUT "https://api.carrot.eco/documents/28b04f62-8fe2-4332-b854-fe8a922788b5/attachments/imagem.png" \  -H "Authorization: string" \  -H "Content-Type: application/json" \  -d '{    "contentLength": 2064,    "contentType": "image/png"  }'
{
  "url": "https://bucket-palantir-files-2dfd6ab.s3.us-east-1.amazonaws.com/attachments/document/2b02cba4-2abb-4ae8-b938-9a8dfa21d07c/sangalli3.png?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Credential=ASIASRVXQK6OAHP7MVMF%2F20230828%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20230828T200038Z&X-Amz-Expires=604800&X-Amz-Security-Token=IQoJb3JpZ2luX2VjEMz%2F%2F%2F%2F%2F%2F%2F%2F%2F%2FwEaCXVzLWVhc3QtMSJHMEUCIDVJGCaQA%2FGNQGUZv1DoYBQP9P7teWjZ4UbB37fBzhfJAiEApDN2da7RciY%2B8JRyF70PfD2TQ6SnXGKkvLgtb%2Bped8Mq%2FQIIlf%2F%2F%2F%2F%2F%2F%2F%2F%2F%2FARAAGgwxNzU0MDQ3NjcxMzIiDAIUC5rUpbaLUK7Y0yrRAnnWUVlCZA3MB5KhHLwxiSX77JTm6FGCrMCzrGzhjFk2LvHnv8yZv3WJhmeuahHZX%2BND5Iyl6sAhlehDmX9fWwax0vf1caEsbb2xHHkJfXKYEhvlbJ6B0GRNUYOz4dHZGFzTG0PUX6sPxrZHyDmk2MiCZU9ruX1oOpMYqGcZv0hRVS5RzCneo18eoGTEq6M1Mikv%2BT%2BFX8iTcwPP9DftFz44CWKcZpuMhOHlQEBuwJYHrgUDbl75WgEkuKW2mAs2avn8vQl4DtG08gJd1WKRqILKKVdfxZ7TYFjaEzAdR%2Fh3%2B0%2FZDwvg5JcGqInX2HWFu%2BoATN%2Bf4OFXvohdzOGir0NTeNovbE5ParKVsqE23lC9dhpqRnl3pJlNL9xi4JqBzyNfaanfM6A04cYpt6iiDTEvta4IKxGjyCkADWQzC7b92jOCtHnhF87NGg%2FHjpP2PK8wvvmzpwY6ngHCnf9yb1f4jgyRBvP9JOPetR9vjY31ekAabs3%2B2VFIGJtUiRETh1aOuD%2BtD3pjnw%2F04rg3%2FKL3kGiDDmcNIy%2BCfaMdNjJSkQ0y8SsoX3joXTs2pd55bs4QTlOFX4kjQTzllospaUFTVewsNJe3%2Fui1yKKKPZ%2BQG7CkdHGLCUUQjqSEVzUSXtHy8DFpNDLzZKB1MlwDNLSBqW1C2PA4Ng%3D%3D&X-Amz-Signature=6f299bc60c53f8d4edca622afd61a471a533d68d60e51fb2a34ac010b4e1419d&X-Amz-SignedHeaders=content-length%3Bhost&x-id=PutObject"
}
Empty
Empty
Empty

Utilize PUT /documents/{documentId}/attachments/{fileName} para solicitar uma URL de upload. Envie:

  • contentLength (bytes)
  • contentType (tipo MIME)

Após receber a URL:

  1. Envie PUT para a URL presigned com o arquivo em formato binário.
  2. Inclua o mesmo Content-Type declarado na solicitação da URL.
  3. Nenhum cabeçalho Authorization é necessário para a chamada de upload presigned.

Obter URL de download

GET
/documents/{documentId}/attachments/{fileName}

Path Parameters

documentId*string

ID do documento a qual o anexo pertence

fileName*string

Nome do anexo

Header Parameters

Authorization*string

Token de autorização

Response Body

application/json

curl -X GET "https://api.carrot.eco/documents/28b04f62-8fe2-4332-b854-fe8a922788b5/attachments/imagem.png" \  -H "Authorization: string"
{
  "url": "https://bucket-palantir-files-2dfd6ab.s3.us-east-1.amazonaws.com/attachments/document/2b02cba4-2abb-4ae8-b938-9a8dfa21d07c/sangalli3.png?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Credential=ASIASRVXQK6OAHP7MVMF%2F20230828%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20230828T200038Z&X-Amz-Expires=604800&X-Amz-Security-Token=IQoJb3JpZ2luX2VjEMz%2F%2F%2F%2F%2F%2F%2F%2F%2F%2FwEaCXVzLWVhc3QtMSJHMEUCIDVJGCaQA%2FGNQGUZv1DoYBQP9P7teWjZ4UbB37fBzhfJAiEApDN2da7RciY%2B8JRyF70PfD2TQ6SnXGKkvLgtb%2Bped8Mq%2FQIIlf%2F%2F%2F%2F%2F%2F%2F%2F%2F%2FARAAGgwxNzU0MDQ3NjcxMzIiDAIUC5rUpbaLUK7Y0yrRAnnWUVlCZA3MB5KhHLwxiSX77JTm6FGCrMCzrGzhjFk2LvHnv8yZv3WJhmeuahHZX%2BND5Iyl6sAhlehDmX9fWwax0vf1caEsbb2xHHkJfXKYEhvlbJ6B0GRNUYOz4dHZGFzTG0PUX6sPxrZHyDmk2MiCZU9ruX1oOpMYqGcZv0hRVS5RzCneo18eoGTEq6M1Mikv%2BT%2BFX8iTcwPP9DftFz44CWKcZpuMhOHlQEBuwJYHrgUDbl75WgEkuKW2mAs2avn8vQl4DtG08gJd1WKRqILKKVdfxZ7TYFjaEzAdR%2Fh3%2B0%2FZDwvg5JcGqInX2HWFu%2BoATN%2Bf4OFXvohdzOGir0NTeNovbE5ParKVsqE23lC9dhpqRnl3pJlNL9xi4JqBzyNfaanfM6A04cYpt6iiDTEvta4IKxGjyCkADWQzC7b92jOCtHnhF87NGg%2FHjpP2PK8wvvmzpwY6ngHCnf9yb1f4jgyRBvP9JOPetR9vjY31ekAabs3%2B2VFIGJtUiRETh1aOuD%2BtD3pjnw%2F04rg3%2FKL3kGiDDmcNIy%2BCfaMdNjJSkQ0y8SsoX3joXTs2pd55bs4QTlOFX4kjQTzllospaUFTVewsNJe3%2Fui1yKKKPZ%2BQG7CkdHGLCUUQjqSEVzUSXtHy8DFpNDLzZKB1MlwDNLSBqW1C2PA4Ng%3D%3D&X-Amz-Signature=6f299bc60c53f8d4edca622afd61a471a533d68d60e51fb2a34ac010b4e1419d&X-Amz-SignedHeaders=content-length%3Bhost&x-id=PutObject"
}
Empty
Empty
Empty

Utilize GET /documents/{documentId}/attachments/{fileName} para solicitar uma URL temporária de download. Em seguida, realize um GET padrão na URL retornada para obter o arquivo.

Limites e comportamento

  • Tamanho máximo de arquivo por upload: 10 MB.
  • Anexos são tipicamente referenciados posteriormente nos payloads de eventos.

Consulte Upload de Arquivos para padrões práticos de integração.

On this page