---
title: "Διαχείριση αρχείων | Tajo"
description: "Ανεβάστε και διαχειριστείτε συνημμένα αρχεία στο Brevo CRM για την τεκμηρίωση των συμφωνιών του Tajo"
url: https://tajo.io/gr/docs/sales-crm/files/
markdown: https://tajo.io/gr/docs/sales-crm/files.md
lang: el-GR
author: "Set Noa"
author_url: https://tajo.io/gr/set-noa/
robots: noindex
---

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

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

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

[Set Noa](https://tajo.io/gr/set-noa/)

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

## Επισκόπηση

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

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

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

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

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

### Απόκριση

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

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

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

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

### Απόκριση

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

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

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

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

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

### Λήψη αρχείου

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

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

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

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

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

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

```javascript
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`, `.txt` | 10 MB |
| Υπολογιστικά φύλλα | `.xls`, `.xlsx`, `.csv` | 10 MB |
| Εικόνες | `.png`, `.jpg`, `.jpeg`, `.gif` | 5 MB |
| Παρουσιάσεις | `.ppt`, `.pptx` | 10 MB |

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

```javascript
// 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 να παραμένουν διαχειρίσιμες

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

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

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

- **[Διαχείριση εταιρειών](https://tajo.io/gr/docs/sales-crm/companies)**, διαχειριστείτε εταιρικούς λογαριασμούς
- **[Διαχείριση συμφωνιών](https://tajo.io/gr/docs/sales-crm/deals)**, παρακολουθήστε τη διοχέτευση πωλήσεων
- **[Διαχείριση εργασιών](https://tajo.io/gr/docs/sales-crm/tasks)**, διαχειριστείτε τις δραστηριότητες πωλήσεων
- **[Σημειώσεις](https://tajo.io/gr/docs/sales-crm/notes)**, τεκμηριώστε τις αλληλεπιδράσεις με τους πελάτες
