Erken erişim talep edin

Adınızı ve e-posta adresinizi veya telefon numaranızı paylaşın. Tajo erişim ayrıntıları için sizinle iletişime geçeceğiz.

Dosya Yönetimi

Brevo CRM Files API, Tajo platformu içindeki kişiler, şirketler ve anlaşmalarla ilişkili dosya eklerini yüklemenizi ve yönetmenizi sağlar.

Genel bakış

Dosya yönetimi şu işler için vazgeçilmezdir:

  • Anlaşma dokümantasyonu, teklifleri, sözleşmeleri ve mutabakatları saklamak
  • Müşteri kayıtları, faturaları, makbuzları ve yazışmaları eklemek
  • Sadakat programı materyalleri, program ayrıntılarını ve avantaj özetlerini paylaşmak
  • Uyumluluk, kurumsal hesaplar için belge denetim izlerini korumak
  • Ekip iş birliği, kaynakları satış ekibi üyeleri arasında paylaşmak

Hızlı başlangıç

Dosya yükleme

POST https://api.brevo.com/v3/crm/files
Content-Type: multipart/form-data
api-key: YOUR_API_KEY
--boundary
Content-Disposition: form-data; name="file"; filename="enterprise-proposal.pdf"
Content-Type: application/pdf
[file content]
--boundary
Content-Disposition: form-data; name="dealIds"
deal_abc123def456
--boundary
Content-Disposition: form-data; name="companyIds"
comp_123456789
--boundary
Content-Disposition: form-data; name="contactIds"
12345
--boundary--

Yanıt

{
"id": "file_001",
"name": "enterprise-proposal.pdf",
"size": 245760,
"contentType": "application/pdf",
"dealIds": ["deal_abc123def456"],
"companyIds": ["comp_123456789"],
"contactIds": [12345],
"created_at": "2026-01-25T14:30:00Z"
}

Dosyaları alma

Tüm dosyaları listeleme

GET https://api.brevo.com/v3/crm/files?limit=50&offset=0&sort=desc
Content-Type: application/json
api-key: YOUR_API_KEY

Yanıt

{
"items": [
{
"id": "file_001",
"name": "enterprise-proposal.pdf",
"size": 245760,
"contentType": "application/pdf",
"dealIds": ["deal_abc123def456"],
"companyIds": ["comp_123456789"],
"created_at": "2026-01-25T14:30:00Z"
}
],
"total": 1
}

Dosyaları filtreleme

GET https://api.brevo.com/v3/crm/files?filters[dealIds]=deal_abc123def456&sort=created_at:desc

Tek bir dosyayı alma

GET https://api.brevo.com/v3/crm/files/{file_id}
Content-Type: application/json
api-key: YOUR_API_KEY

Dosya indirme

GET https://api.brevo.com/v3/crm/files/{file_id}/data
api-key: YOUR_API_KEY

Dosya yönetimi otomasyonu

Anlaşma belgesi iş akışı

Anlaşma yaşam döngüsü boyunca belgeleri otomatik olarak yönetin:

class DealDocumentManager {
constructor() {
this.filesApi = new FilesApi();
}
async attachProposal(dealId, proposalBuffer, companyName) {
const fileName = `proposal-${companyName.toLowerCase().replace(/\s+/g, '-')}-${Date.now()}.pdf`;
const file = await this.filesApi.uploadFile({
file: proposalBuffer,
fileName: fileName,
dealIds: [dealId]
});
// Create a note referencing the uploaded proposal
await this.notesApi.createNote({
text: `Proposal uploaded: ${fileName}`,
dealIds: [dealId]
});
return file;
}
async attachContract(dealId, contractBuffer, companyId) {
const fileName = `contract-${dealId}-${new Date().toISOString().slice(0, 10)}.pdf`;
const file = await this.filesApi.uploadFile({
file: contractBuffer,
fileName: fileName,
dealIds: [dealId],
companyIds: [companyId]
});
return file;
}
async getDealDocuments(dealId) {
const files = await this.filesApi.getFiles({
filters: { dealIds: dealId },
sort: 'created_at:desc'
});
return {
proposals: files.items.filter(f => f.name.startsWith('proposal-')),
contracts: files.items.filter(f => f.name.startsWith('contract-')),
other: files.items.filter(f =>
!f.name.startsWith('proposal-') && !f.name.startsWith('contract-')
),
totalSize: files.items.reduce((sum, f) => sum + f.size, 0)
};
}
}

Sadakat programı belgeleri

class LoyaltyDocumentManager {
async generateAndAttachBenefitsSummary(companyId, tier) {
const company = await this.companiesApi.getCompany(companyId);
const summary = await this.generateBenefitsPDF({
companyName: company.name,
tier: tier,
benefits: this.getTierBenefits(tier),
annualSpend: company.attributes.annual_spend,
pointsBalance: company.attributes.loyalty_points
});
return await this.filesApi.uploadFile({
file: summary,
fileName: `loyalty-benefits-${tier.toLowerCase().replace(/\s+/g, '-')}.pdf`,
companyIds: [companyId]
});
}
async attachTierUpgradeDocuments(companyId, oldTier, newTier) {
const documents = [
{ name: 'tier-upgrade-confirmation', content: this.generateUpgradeConfirmation(oldTier, newTier) },
{ name: 'new-benefits-guide', content: this.generateBenefitsGuide(newTier) }
];
const uploaded = [];
for (const doc of documents) {
const file = await this.filesApi.uploadFile({
file: doc.content,
fileName: `${doc.name}-${Date.now()}.pdf`,
companyIds: [companyId]
});
uploaded.push(file);
}
return uploaded;
}
}

Desteklenen dosya türleri

KategoriUzantılarMaksimum boyut
Belgeler.pdf, .doc, .docx, .txt10 MB
Elektronik tablolar.xls, .xlsx, .csv10 MB
Görseller.png, .jpg, .jpeg, .gif5 MB
Sunumlar.ppt, .pptx10 MB

API yöntemleri referansı

// Upload a file
const file = await filesApi.uploadFile({
file: fileBuffer,
fileName: 'proposal.pdf',
dealIds: ['deal_abc123'],
companyIds: ['comp_123']
});
// Get file metadata
const file = await filesApi.getFile('file_001');
// Download file data
const fileData = await filesApi.downloadFile('file_001');
// Delete file
await filesApi.deleteFile('file_001');
// List files with filtering
const files = await filesApi.getFiles({
filters: { dealIds: 'deal_abc123' },
sort: 'created_at:desc',
limit: 50
});

En iyi uygulamalar

  1. Adlandırma kuralları: Kolay tanınması için tarih içeren açıklayıcı dosya adları kullanın
  2. Kayıtları ilişkilendirin: Dosyaları ilgili tüm anlaşmalar, şirketler ve kişilerle ilişkilendirin
  3. Sürüm yönetimi: Dosya adlarına sürüm numarası veya tarih ekleyin
  4. Boyut yönetimi: Büyük dosyaları yüklemeden önce sıkıştırın
  5. Erişim denetimi: Doğru erişimi güvence altına almak için dosya ilişkilendirmelerini düzenli olarak gözden geçirin
  6. Temizlik: CRM kayıtlarını yönetilebilir tutmak için güncelliğini yitirmiş belgeleri kaldırın

Hata yönetimi

try {
const file = await filesApi.uploadFile(fileData);
console.log('File uploaded:', file.id);
} catch (error) {
if (error.status === 400) {
console.error('Invalid file data:', error.message);
} else if (error.status === 413) {
console.error('File size exceeds maximum limit');
} else if (error.status === 415) {
console.error('Unsupported file type');
} else {
console.error('Unexpected error:', error);
}
}

Sonraki adımlar

Erken erişim talep edin

Adınızı ve e-posta adresinizi veya telefon numaranızı paylaşın. Tajo erişim ayrıntıları için sizinle iletişime geçeceğiz.

otomatik algılama
AI Asistan

Merhaba! Belgeler hakkında her şeyi sorabilirsiniz.