اطلب الوصول المبكر

أدخل اسمك الأول وبريدك الإلكتروني أو رقم هاتفك. سنتواصل معك لتزويدك بتفاصيل الوصول إلى Tajo.

إدارة الملفات

تتيح لك واجهة Brevo CRM Files API رفع مرفقات الملفات المرتبطة بجهات الاتصال والشركات والصفقات داخل منصة 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 ميغابايت
جداول البيانات.xls, .xlsx, .csv10 ميغابايت
الصور.png, .jpg, .jpeg, .gif5 ميغابايت
العروض التقديمية.ppt, .pptx10 ميغابايت

مرجع دوال 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);
}
}

الخطوات التالية

اطلب الوصول المبكر

أدخل اسمك الأول وبريدك الإلكتروني أو رقم هاتفك. سنتواصل معك لتزويدك بتفاصيل الوصول إلى Tajo.

اكتشاف تلقائي
مساعد AI

مرحباً! اسألني أي شيء عن الوثائق.