Ζητήστε πρώιμη πρόσβαση

Συμπληρώστε το όνομά σας και ένα email ή έναν αριθμό τηλεφώνου. Θα σας στείλουμε πληροφορίες για την πρόσβαση στο Tajo.

Διαχείριση αρχείων

Το Files API του Brevo CRM σάς επιτρέπει να ανεβάζετε και να διαχειρίζεστε συνημμένα αρχεία που συνδέονται με επαφές, εταιρείες και συμφωνίες μέσα στην πλατφόρμα Tajo.

Επισκόπηση

Η διαχείριση αρχείων είναι απαραίτητη για τα εξής:

  • Τεκμηρίωση συμφωνιών, αποθήκευση προσφορών, συμβάσεων και συμφωνητικών
  • Αρχεία πελατών, επισύναψη τιμολογίων, αποδείξεων και αλληλογραφίας
  • Υλικό προγράμματος πιστότητας, κοινή χρήση λεπτομερειών του προγράμματος και συνόψεων παροχών
  • Συμμόρφωση, διατήρηση ιχνών ελέγχου εγγράφων για εταιρικούς λογαριασμούς
  • Συνεργασία ομάδας, κοινή χρήση πόρων μεταξύ των μελών της ομάδας πωλήσεων

Γρήγορη εκκίνηση

Ανέβασμα αρχείου

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--

Απόκριση

{
"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"
}

Ανάκτηση αρχείων

Λίστα όλων των αρχείων

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

Απόκριση

{
"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
}

Φιλτράρισμα αρχείων

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

Ανάκτηση μεμονωμένου αρχείου

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

Λήψη αρχείου

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

Αυτοματοποίηση της διαχείρισης αρχείων

Ροή εργασίας εγγράφων συμφωνίας

Διαχειριστείτε αυτόματα τα έγγραφα σε όλη τη διάρκεια του κύκλου ζωής μιας συμφωνίας:

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)
};
}
}

Έγγραφα προγράμματος πιστότητας

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;
}
}

Υποστηριζόμενοι τύποι αρχείων

ΚατηγορίαΕπεκτάσειςΜέγιστο μέγεθος
Έγγραφα.pdf, .doc, .docx, .txt10 MB
Υπολογιστικά φύλλα.xls, .xlsx, .csv10 MB
Εικόνες.png, .jpg, .jpeg, .gif5 MB
Παρουσιάσεις.ppt, .pptx10 MB

Αναφορά μεθόδων του API

// 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
});

Βέλτιστες πρακτικές

  1. Συμβάσεις ονομασίας: Χρησιμοποιήστε περιγραφικά ονόματα αρχείων με ημερομηνίες για εύκολη αναγνώριση
  2. Σύνδεση εγγραφών: Συσχετίστε τα αρχεία με όλες τις σχετικές συμφωνίες, εταιρείες και επαφές
  3. Διαχείριση εκδόσεων: Συμπεριλάβετε αριθμούς έκδοσης ή ημερομηνίες στα ονόματα των αρχείων
  4. Διαχείριση μεγέθους: Συμπιέστε τα μεγάλα αρχεία πριν από το ανέβασμα
  5. Έλεγχος πρόσβασης: Ελέγχετε τακτικά τις συσχετίσεις των αρχείων ώστε να διασφαλίζεται η σωστή πρόσβαση
  6. Εκκαθάριση: Αφαιρέστε τα παρωχημένα έγγραφα ώστε οι εγγραφές του CRM να παραμένουν διαχειρίσιμες

Διαχείριση σφαλμάτων

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);
}
}

Επόμενα βήματα

Ζητήστε πρώιμη πρόσβαση

Συμπληρώστε το όνομά σας και ένα email ή έναν αριθμό τηλεφώνου. Θα σας στείλουμε πληροφορίες για την πρόσβαση στο Tajo.

αυτόματη αναγνώριση
AI Βοηθός

Γεια! Ρωτήστε με οτιδήποτε για την τεκμηρίωση.