Tajo 사전 이용 신청

이름과 회사 이메일 주소를 입력하세요. Tajo 이용 신청을 확인할 수 있는 링크를 이메일로 보내드립니다.

노트 관리

Brevo CRM Notes API를 사용하면 Tajo 플랫폼 안에서 연락처, 회사, 거래에 연결된 고객 상호작용, 미팅 요약, 중요한 세부 정보를 기록할 수 있습니다.

개요

노트 관리는 다음과 같은 목적에 꼭 필요합니다:

  • 상호작용 이력 고객과의 대화와 미팅 결과를 기록합니다
  • 팀 협업 영업팀 전체가 계정에 대한 맥락을 공유합니다
  • 거래 문서화 협상 세부 사항과 결정 내용을 기록합니다
  • 로열티 프로그램 노트 고객 선호도와 프로그램 피드백을 추적합니다
  • 컴플라이언스 기록 고객 커뮤니케이션의 감사 추적을 유지합니다

빠른 시작

노트 생성

POST https://api.brevo.com/v3/crm/notes
Content-Type: application/json
api-key: YOUR_API_KEY
{
"text": "Met with Acme Corp to discuss enterprise loyalty program upgrade. They're interested in Diamond tier benefits and want to consolidate all 12 locations under a single account. Key decision maker is VP of Operations. Follow up with volume discount proposal by end of week.",
"contactIds": [12345],
"dealIds": ["deal_abc123def456"],
"companyIds": ["comp_123456789"]
}

응답

{
"id": "note_001",
"text": "Met with Acme Corp to discuss enterprise loyalty program upgrade...",
"contactIds": [12345],
"dealIds": ["deal_abc123def456"],
"companyIds": ["comp_123456789"],
"created_at": "2026-01-25T14:30:00Z",
"updated_at": "2026-01-25T14:30:00Z"
}

노트 조회

전체 노트 목록

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

응답

{
"items": [
{
"id": "note_001",
"text": "Met with Acme Corp to discuss enterprise loyalty program upgrade...",
"contactIds": [12345],
"dealIds": ["deal_abc123def456"],
"companyIds": ["comp_123456789"],
"created_at": "2026-01-25T14:30:00Z"
}
],
"total": 1
}

노트 필터링

GET https://api.brevo.com/v3/crm/notes?filters[companyIds]=comp_123456789&sort=created_at:desc

단일 노트 조회

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

자동 노트 생성

활동 기반 노트

CRM 활동에서 노트를 자동으로 생성합니다:

class NoteAutomation {
constructor() {
this.notesApi = new NotesApi();
}
async logDealStageChange(deal, oldStage, newStage) {
const noteText = [
`Deal stage changed: ${oldStage} → ${newStage}`,
`Deal value: $${deal.attributes.amount?.toLocaleString()}`,
`Probability: ${deal.attributes.probability}%`,
newStage === 'Closed Won'
? `Loyalty points awarded: ${deal.attributes.loyalty_points_bonus}`
: '',
`Updated by: ${deal.attributes.deal_owner}`
].filter(Boolean).join('\n');
return await this.notesApi.createNote({
text: noteText,
dealIds: [deal.id],
companyIds: deal.attributes.company_id ? [deal.attributes.company_id] : [],
contactIds: deal.attributes.contact_id ? [deal.attributes.contact_id] : []
});
}
async logLoyaltyTierChange(company, oldTier, newTier) {
const noteText = [
`Loyalty tier upgraded: ${oldTier} → ${newTier}`,
`Annual spend: $${company.attributes.annual_spend?.toLocaleString()}`,
`New benefits: ${this.getTierBenefits(newTier).join(', ')}`,
`Account manager notified: ${company.attributes.account_manager}`
].join('\n');
return await this.notesApi.createNote({
text: noteText,
companyIds: [company.id]
});
}
async logCustomerFeedback(contactId, feedback) {
const noteText = [
`Customer feedback received:`,
`Category: ${feedback.category}`,
`Rating: ${feedback.rating}/5`,
`Comment: ${feedback.comment}`,
feedback.loyaltyRelated ? `Loyalty program feedback: ${feedback.loyaltyComment}` : ''
].filter(Boolean).join('\n');
return await this.notesApi.createNote({
text: noteText,
contactIds: [contactId]
});
}
}

미팅 요약 노트

class MeetingNotes {
async createMeetingSummary(meetingData) {
const noteText = [
`Meeting: ${meetingData.title}`,
`Date: ${new Date(meetingData.date).toLocaleDateString()}`,
`Attendees: ${meetingData.attendees.join(', ')}`,
'',
'## Discussion Points',
...meetingData.topics.map(t => `- ${t}`),
'',
'## Action Items',
...meetingData.actions.map(a => `- [ ] ${a.description} (${a.assignee}, due ${a.dueDate})`),
'',
'## Next Steps',
meetingData.nextSteps
].join('\n');
return await this.notesApi.createNote({
text: noteText,
contactIds: meetingData.contactIds || [],
dealIds: meetingData.dealIds || [],
companyIds: meetingData.companyIds || []
});
}
}

API 메서드 레퍼런스

// Create a note
const note = await notesApi.createNote({
text: 'Customer interested in premium loyalty tier',
contactIds: [12345],
dealIds: ['deal_abc123']
});
// Get note by ID
const note = await notesApi.getNote('note_001');
// Update note
await notesApi.updateNote('note_001', {
text: 'Updated: Customer confirmed interest in premium loyalty tier. Meeting scheduled for next week.'
});
// Delete note
await notesApi.deleteNote('note_001');
// List notes with filtering
const notes = await notesApi.getNotes({
filters: { companyIds: 'comp_123456789' },
sort: 'created_at:desc',
limit: 50
});

모범 사례

  1. 구체적으로 작성하세요: 금액, 날짜, 다음 단계 같은 관련 세부 정보를 포함합니다
  2. 레코드를 연결하세요: 관련된 모든 연락처, 거래, 회사에 노트를 연결합니다
  3. 기록을 자동화하세요: 단계 변경과 주요 이벤트에 대해 노트를 자동으로 생성합니다
  4. 일관된 형식을 사용하세요: 미팅 요약에 팀 전체가 공유하는 노트 구조를 채택합니다
  5. 즉시 문서화하세요: 세부 내용이 생생할 때, 상호작용 직후에 노트를 작성합니다

오류 처리

try {
const note = await notesApi.createNote(noteData);
console.log('Note created:', note.id);
} catch (error) {
if (error.status === 400) {
console.error('Invalid note data:', error.message);
} else if (error.status === 404) {
console.error('Associated contact, deal, or company not found');
} else {
console.error('Unexpected error:', error);
}
}

다음 단계

Tajo 사전 이용 신청

이름과 회사 이메일 주소를 입력하세요. Tajo 이용 신청을 확인할 수 있는 링크를 이메일로 보내드립니다.

AI 어시스턴트

안녕하세요! 문서에 대해 무엇이든 물어보세요.

이 페이지의 Markdown: notes.md

Markdown 불러오는 중…
Claude에서 열기 ChatGPT에서 열기