مفاهیم پایه دیدار

راهنمای مطالعه ERD
کادرهای سبز پررنگ
هر کادر سبز پررنگ یک Entity است؛ یعنی یک نوع داده مشخص که در API با آن کار میکنید. برای مثالPerson یک شخص، Deal یک معامله و Activity یک فعالیت را نشان میدهد.
کادرهای سبز کمرنگ
کادرهای کمرنگ فقط Entityهای همخانواده را کنار هم قرار دادهاند و خودشان لزوماً یک Entity مستقل نیستند:- کادر
ContactشاملCompanyوPersonاست. - کادر
ProductشاملProductوProduct Categoryاست. - کادر
Invoice/QuoteشاملInvoiceوQuoteاست. - کادر
Activity/NoteشاملActivity،NoteوActivity Typeاست. - کادر
PipelinesشاملDeal PipelineوCase Pipelineاست.
خطی که فقط یک فلش دارد
یک فلش یعنی Entity ابتدای خط با پراپرتی نوشتهشده روی خط، شناسه Entity مقصد را نگه میدارد.Deal، پراپرتی SourceId مشخص میکند منبع این معامله کدام رکورد از Entity Source است.
چند پراپرتی روی یک خط
اگر چند نام با/ روی یک خط نوشته شده باشد، بیش از یک پراپرتی میتواند آن ارتباط را بسازد.
/ به معنی مسیر تودرتو نیست؛ فقط نام چند پراپرتی را از هم جدا کرده است.
اگر پراپرتی بهشکل Tags[].TagId نوشته شده باشد، یعنی Tags یک آرایه است و TagId داخل هر عضو آن قرار دارد.
خطی که در هر دو سمت فلش دارد
دو فلش یعنی هر دو Entity میتوانند به یکدیگر اشاره کنند و هر سمت پراپرتی خودش را دارد. برای مثال، رابطهDeal و Case در نمودار دوطرفه است:
CaseId را ببینید و در اطلاعات کارت نیز DealId را دریافت کنید.
نکته مهم درباره جهت فلشها
فلش همیشه به Entity مقصد اشاره میکند. نام روی خط نیز پراپرتیای است که برای ساختن همان ارتباط استفاده میشود. اگر یک خط از روی خطوط دیگر رد شده ولی در محل تقاطع فلش یا اتصال مشخصی ندارد، آن دو خط به هم مربوط نیستند.Entityهای دیدار
Contact
Contact اسم کلی مخاطبان در دیدار است. مخاطب میتواند یک فرد باشد که در Person ذخیره میشود یا یک کسبوکار باشد که در Company ذخیره میشود. بنابراین معمولاً رکورد مستقلی به نام Contact در رابط دیدار نمیبینید؛ این نام در مدل API برای کنار هم قرار دادن شخص و شرکت استفاده شده است.
مثلاً «سارا محمدی» یک Person و «شرکت پارسگستر» یک Company است. هر دو در مفهوم کلیتر Contact قرار میگیرند.
ارتباطهای Contact در ERD
DealباpersonId،CompanyIdیاOtherContactIdsبه مخاطبان یک معامله وصل میشود.CaseباPersonId،CompanyIdیاOtherContactIdبه مخاطبان یک کارت وصل میشود.ActivityوNoteباContactIdبه مخاطب مرتبط وصل میشوند.- مخاطب با
OwnerIdبه کاربری وصل میشود که مسئول پیگیری آن است. SegmentIdsمشخص میکند مخاطب در کدام Segmentها قرار گرفته است.CityIdوProvinceIdمخاطب را به شهر و استان موجود درLocationsوصل میکنند.Fieldsمقادیر فیلدهای اضافه مخاطب را نگه میدارد و بهCustom Fieldsمربوط است.
Person
Person یعنی یک فرد واقعی که اطلاعاتش را بهعنوان مخاطب در دیدار ثبت کردهاید؛ مثلاً مشتری، سرنخ فروش، خریدار یا فردی که در یک شرکت کار میکند. Person را با User اشتباه نگیرید: شخص معمولاً مشتری یا مخاطب شماست، اما User کسی است که وارد دیدار میشود و با سیستم کار میکند.
مثلاً اگر «سارا محمدی» مدیر خرید شرکت پارسگستر باشد، سارا یک Person است و پارسگستر یک Company.
ارتباطهای Person در ERD
- بین
PersonوCompanyفلش دوطرفه وجود دارد؛ یعنی میتوان شخص را به شرکت مرتبط کرد و از سمت شرکت نیز به اشخاص مرتبط رسید. نام پراپرتیهای این رابطه روی ERD نوشته نشده است. Deal،Case،ActivityوNoteمیتوانند از طریق پراپرتیهای مربوط به Contact به یک Person وصل شوند.- Person بهعنوان یکی از انواع Contact میتواند مسئول، Segment، شهر و استان و فیلدهای اضافه داشته باشد.
Company
Company یعنی یک شرکت، سازمان یا کسبوکار که با آن در ارتباط هستید. این Entity خود شرکتی که اکانت دیدار را خریده نیست؛ یکی از شرکتهایی است که آن کسبوکار بهعنوان مشتری، سرنخ یا طرف تجاری در CRM ثبت کرده است.
مثلاً اگر شرکت شما به «پارسگستر» نرمافزار میفروشد، پارسگستر در Company ذخیره میشود و کارکنان آن مثل سارا محمدی در Person قرار میگیرند.
ارتباطهای Company در ERD
- بین
CompanyوPersonرابطه دوطرفه وجود دارد تا افراد شاغل یا مرتبط با یک شرکت به آن وصل شوند. ERD نام پراپرتیهای این رابطه را مشخص نکرده است. Deal،Case،ActivityوNoteمیتوانند از طریق پراپرتیهای مربوط به Contact به یک Company وصل شوند.- Company بهعنوان یکی از انواع Contact میتواند مسئول، Segment، شهر و استان و فیلدهای اضافه داشته باشد.
User (Owner)
User کسی است که اجازه دارد وارد اکانت دیدار شود و داخل آن کار کند؛ مثل مدیر فروش، کارشناس فروش یا ادمین. عبارت Owner هم معمولاً یعنی کاربری که مسئول پیگیری یک رکورد است.
مثلاً یک شرکت دیدار را میخرد، یک نفر را بهعنوان ادمین و ۱۰ نفر را بهعنوان کارشناس فروش اضافه میکند. در این حالت، آن اکانت در مجموع ۱۱ رکورد User دارد. مشتریان این شرکت User نیستند؛ آنها در Person یا Company ثبت میشوند.
ارتباطهای User در ERD
ContactباOwnerIdبه کاربر مسئول مخاطب وصل میشود.DealباOwnerIdبه مسئول معامله و باCreatorIdبه ایجادکننده معامله وصل میشود.CaseباOwnerIdبه مسئول کارت و باUserIdsبه کاربران مرتبط با کارت وصل میشود.ActivityوNoteباOwnerIdبه کاربر مسئول وصل میشوند.InvoiceوQuoteباCreatorIdبه کاربری وصل میشوند که سند را ایجاد کرده است.
Deal
Deal همان معامله در دیدار است. هر بار که میخواهید فروش مشخصی را از شروع تا نتیجه نهایی پیگیری کنید، یک معامله میسازید. معامله میگوید قرار است چه چیزی، با چه مبلغی، به چه کسی فروخته شود، مسئول پیگیری آن کیست و الان در کدام مرحله فروش قرار دارد.
مثلاً شرکت پارسگستر برای خرید ۲۰ لایسنس درخواست دمو داده است. شما یک معامله به نام «فروش ۲۰ لایسنس به پارسگستر» میسازید و آن را از مرحله «درخواست دمو» به «مذاکره» و در نهایت «برندهشده» یا «شکستخورده» منتقل میکنید.
ارتباطهای Deal در ERD
- با
personId،CompanyIdوOtherContactIdsبه شخص، شرکت و سایر مخاطبان معامله وصل میشود. - با
OwnerIdبه مسئول معامله و باCreatorIdبه ایجادکننده آن وصل میشود. - با
PipelineIdوPipelineStageIdبه کاریز معامله و مرحله فعلی آن درDeal Pipelineوصل میشود. - با
DealItemsبه محصولات موجود درProductوصل میشود. - با
SourceIdبه منبع معامله، باLostReasonIdبه دلیل شکست و باLabelIdsبه برچسبهای معامله وصل میشود. - با
Fieldsمقادیر فیلدهای اضافه معامله را نگه میدارد. - رابطه Deal و Activity/Note دوطرفه است:
DealباActivityIdبه فعالیت یا یادداشت وصل میشود و فعالیت یا یادداشت باDealIdبه معامله برمیگردد. - رابطه Deal و Case نیز دوطرفه است:
DealباCaseIdبه کارت وCaseباDealIdبه معامله مرتبط میشود. InvoiceوQuoteباDealIdبه معاملهای وصل میشوند که سند برای آن ساخته شده است.
Deal Pipeline
Deal Pipeline همان کاریز معامله است؛ یعنی مسیری که معاملهها در طول فرایند فروش طی میکنند. هر کاریز چند مرحله دارد و هر معامله در هر لحظه داخل یکی از آن مرحلهها قرار میگیرد.
مثلاً یک کاریز میتواند مراحل «سرنخ جدید»، «دمو»، «ارسال پیشنهاد» و «مذاکره» داشته باشد. با جابهجایی معامله بین این مراحل میتوانید بفهمید فروش در چه وضعیتی است.
ارتباطهای Deal Pipeline در ERD
DealباPipelineIdکاریز خود و باPipelineStageIdمرحله فعلی خود را مشخص میکند.- این Entity در کادر گروهی
PipelinesکنارCase Pipelineقرار گرفته است، اما کاریز معامله و کاریز کارت دو ساختار جدا هستند.
Source
Source مشخص میکند یک معامله از چه راهی وارد فرایند فروش شده است. این اطلاعات کمک میکند بفهمید مشتری از تبلیغات، معرفی، سایت، نمایشگاه یا هر مسیر دیگری آمده است.
مثلاً اگر مشتری بعد از پر کردن فرم سایت با شما تماس گرفته باشد، Source معامله میتواند «وبسایت» باشد.
ارتباطهای Source در ERD
DealباSourceIdبه یک رکورد ازSourceوصل میشود.
Lost Reason
Lost Reason دلیل شکست یک معامله را نگه میدارد؛ یعنی وقتی فروش انجام نمیشود، مشخص میکنید چرا مشتری خرید نکرده است.
مثلاً «قیمت بالا بود»، «رقیب را انتخاب کرد» یا «در حال حاضر بودجه ندارد» میتوانند Lost Reason باشند.
ارتباطهای Lost Reason در ERD
DealباLostReasonIdبه دلیل شکست انتخابشده وصل میشود.- این ارتباط زمانی معنا پیدا میکند که معامله شکستخورده باشد؛ قواعد الزامیبودن آن را باید در Endpoint مربوط بررسی کنید.
Deal Label
Deal Label همان برچسب معامله است. برچسب کمک میکند معاملهها را با یک نشانه قابلفهم دستهبندی یا سریعتر پیدا کنید.
مثلاً میتوانید برچسبهایی مثل «مهم»، «تمدید» یا «نیاز به پیگیری مدیر» داشته باشید.
ارتباطهای Deal Label در ERD
DealباLabelIdsبه یک یا چندDeal Labelوصل میشود.- این برچسب مخصوص معامله است و با
Case Labelکه برای کارتها استفاده میشود یکی نیست.
Case
Case همان کارت در دیدار است. کارت برای پیگیری کارهایی استفاده میشود که الزاماً یک فروش و مبلغ مشخص نیستند. بسته به ساختاری که کسبوکار ساخته، کارت میتواند برای یک فرایند داخلی، کانبان، تیکت یا یک مسیر کاری دیگر استفاده شود.
مثلاً تیم پیادهسازی میتواند بعد از برندهشدن یک معامله، کارتی به نام «راهاندازی دیدار برای پارسگستر» بسازد و مراحل انجام راهاندازی را روی آن پیگیری کند.
ارتباطهای Case در ERD
- با
PersonId،CompanyIdوOtherContactIdبه شخص، شرکت یا مخاطب دیگر مرتبط با کارت وصل میشود. - با
OwnerIdبه مسئول کارت و باUserIdsبه کاربران مرتبط با آن وصل میشود. - با
PipelineStageIdبه مرحله فعلی خود درCase Pipelineوصل میشود. - با
LabelIdsبه برچسبهای کارت درCase Labelوصل میشود. - با
Fieldsمقادیر فیلدهای اضافه کارت را نگه میدارد. ActivityوNoteباcaseIdبه کارت مرتبط وصل میشوند.- رابطه Case و Deal دوطرفه است:
CaseباDealIdبه معامله وDealباCaseIdبه کارت مرتبط میشود.
Case Pipeline
Case Pipeline مسیر یا کاریزی است که کارتها در آن حرکت میکنند. این ساختار برای فرایندهای مبتنی بر کارت استفاده میشود و از کاریز معامله جداست.
مثلاً برای فرایند راهاندازی مشتری میتوانید مراحل «دریافت اطلاعات»، «تنظیمات اولیه»، «آموزش» و «تحویل» را داشته باشید.
ارتباطهای Case Pipeline در ERD
CaseباPipelineStageIdبه مرحله فعلی خود درCase Pipelineوصل میشود.- این Entity داخل کادر
PipelinesکنارDeal Pipelineقرار دارد، اما کارتها و معاملهها از Pipelineهای جدا استفاده میکنند.
Case Label
Case Label همان برچسب کارت است. این برچسب برای دستهبندی یا علامتگذاری کارتها استفاده میشود، نه معاملهها.
مثلاً کارتهای «فوری»، «نیازمند بررسی فنی» یا «در انتظار مشتری» میتوانند برچسب جدا داشته باشند.
ارتباطهای Case Label در ERD
CaseباLabelIdsبه یک یا چندCase Labelوصل میشود.Case LabelباDeal Labelفرق دارد: اولی برای کارت و دومی برای معامله است.
Activity
Activity کاری است که یک کاربر باید انجام دهد یا قبلاً انجام داده است؛ مثل تماس، جلسه، پیگیری، ارسال پیام یا هر اقدام دیگری که تیم در دیدار تعریف کرده باشد. فعالیت میتواند زمان، مسئول، نوع و رکورد مرتبط داشته باشد.
مثلاً کارشناس فروش برای فردا ساعت ۱۰ یک فعالیت «تماس برای پیگیری پیشنهاد قیمت» میسازد و آن را به معامله پارسگستر وصل میکند.
ارتباطهای Activity در ERD
- با
ActivityTypeIdبه نوع فعالیت درActivity Typeوصل میشود. - با
OwnerIdبه کاربری وصل میشود که مسئول انجام فعالیت است. - با
ContactIdبه مخاطب مرتبط وصل میشود. - با
DealIdبه معامله و باcaseIdبه کارت مرتبط وصل میشود.
Note
Note همان یادداشت است؛ یک متن آزاد برای ثبت اطلاعاتی که لازم است کنار مخاطب، معامله یا کارت باقی بماند. یادداشت کار قابلزمانبندی نیست، اما در مدل API کنار Activity قرار گرفته است.
مثلاً بعد از تماس میتوانید بنویسید: «مشتری تا پایان هفته قیمت نهایی را بررسی میکند.» این متن یک Note است.
ارتباطهای Note در ERD
- با
ActivityTypeIdبه نوع مربوط درActivity Typeوصل میشود. - با
OwnerIdبه کاربر مسئول یا ثبتکننده مرتبط میشود. - با
ContactIdبه مخاطب، باDealIdبه معامله و باcaseIdبه کارت مرتبط وصل میشود.
Activity Type
Activity Type مشخص میکند فعالیت از چه نوعی است؛ مثل تماس، جلسه، کار یا پیگیری. کسبوکار میتواند انواع فعالیت متناسب با فرایند خودش داشته باشد و هر Activity با شناسه نوعش به یکی از آنها وصل میشود.
مثلاً فعالیت «تماس برای پیگیری» میتواند به Activity Type با عنوان «تماس» متصل باشد.
ارتباطهای Activity Type در ERD
ActivityوNoteهر دو باActivityTypeIdبهActivity Typeوصل میشوند.Activity Typeاز مسیرTags[].TagIdبهTagsمتصل شده است؛ یعنی شناسه Tag داخل اعضای آرایهTagsقرار میگیرد.
Tags
Tags تگهایی را نگه میدارد که در این ERD برای دستهبندی یا تکمیل اطلاعات نوع فعالیت استفاده میشوند.
مثلاً یک نوع فعالیت میتواند با تگ مشخصی دستهبندی شود تا تشخیص یا استفاده از آن برای سیستم سادهتر باشد.
ارتباطهای Tags در ERD
Activity TypeباTags[].TagIdبه تگهای مرتبط وصل میشود.
Product
Product یعنی کالا یا خدمتی که کسبوکار میفروشد. محصول میتواند قیمت، کد، واحد، توضیحات و گروه داشته باشد و بعد به معامله، فاکتور یا پیشفاکتور اضافه شود.
مثلاً «لایسنس یکساله نرمافزار»، «جلسه مشاوره» یا «دستگاه حضور و غیاب» هرکدام میتوانند یک Product باشند.
ارتباطهای Product در ERD
- با
ProductCategoryIdبه گروه خود درProduct Categoryوصل میشود. DealباDealItemsمحصولات معامله را به Productها وصل میکند.InvoiceوQuoteباItems[]محصولات یا اقلام داخل سند را به Productها وصل میکنند.- با
Fieldsمقادیر فیلدهای اضافه محصول را نگه میدارد.
Product Category
Product Category همان گروه محصول است و برای مرتبکردن محصولات مشابه استفاده میشود.
مثلاً محصولات «نرمافزار»، «سختافزار» و «خدمات آموزشی» میتوانند در سه گروه جدا قرار بگیرند.
ارتباطهای Product Category در ERD
ProductباProductCategoryIdبه گروه محصول خودش وصل میشود.- هر Product به شناسه یک Product Category اشاره میکند؛ تعداد و الزامیبودن این رابطه را باید در Endpoint محصول بررسی کنید.
Invoice
Invoice همان فاکتور است؛ سندی که اقلام، تعداد، قیمت و مبلغ فروش را ثبت میکند. فاکتور معمولاً بعد از قطعیشدن فروش یا برای ثبت مبلغی که باید پرداخت شود ساخته میشود.
مثلاً بعد از نهاییشدن فروش ۲۰ لایسنس، یک فاکتور شامل همان ۲۰ لایسنس و مبلغ آنها ایجاد میشود.
ارتباطهای Invoice در ERD
- با
Items[]به محصولات یا اقلام موجود درProductوصل میشود. - با
DealIdبه معامله مرتبط وصل میشود. - با
CreatorIdبه کاربری وصل میشود که فاکتور را ایجاد کرده است. - Invoice و Quote در ERD داخل یک کادر قرار گرفتهاند، چون روابط اصلی مشابهی دارند؛ با این حال دو نوع سند متفاوتاند.
Quote
Quote همان پیشفاکتور است؛ سندی که قبل از نهاییشدن خرید، محصولات و قیمت پیشنهادی را به مشتری نشان میدهد. پیشفاکتور به معنی قطعیشدن فروش یا پرداخت نیست.
مثلاً قبل از توافق نهایی، پیشفاکتوری برای ۲۰ لایسنس به شرکت پارسگستر ارسال میشود تا قیمت را بررسی کند.
ارتباطهای Quote در ERD
- با
Items[]به محصولات یا اقلام موجود درProductوصل میشود. - با
DealIdبه معامله مرتبط وصل میشود. - با
CreatorIdبه کاربری وصل میشود که پیشفاکتور را ایجاد کرده است.
Custom Fields
Custom Fields همان فیلدهای اضافه دیدار است. هر کسبوکار میتواند علاوه بر فیلدهای پیشفرض، اطلاعات مخصوص خودش را به مخاطب، معامله، کارت یا محصول اضافه کند.
مثلاً یک شرکت میتواند روی مخاطب فیلد «کد ملی»، روی معامله فیلد «نام رقیب» و روی محصول فیلد «مدت گارانتی» بسازد. تعریف این فیلدها در Custom Fields قرار میگیرد و مقدار هر فیلد داخل Fields همان رکورد ارسال یا دریافت میشود.
ارتباطهای Custom Fields در ERD
Contact،Deal،CaseوProductبا پراپرتیFieldsبه فیلدهای اضافه مربوط به نوع خود وصل میشوند.- کلیدهای داخل
Fieldsبرای همه Entityها یکسان نیستند. قبل از ارسال مقدار، باید کلید فیلد اضافه همان نوع Entity را دریافت کنید.
Segment
Segment برای گروهبندی مخاطبان استفاده میشود. Segment کمک میکند چند شخص یا شرکت را براساس یک ویژگی یا کاربرد کنار هم قرار دهید.
مثلاً میتوانید Segmentهایی مثل «مشتریان تهران»، «مشتریان VIP» یا «سرنخهای نمایشگاه» داشته باشید.
ارتباطهای Segment در ERD
ContactباSegmentIdsبه یک یا چند Segment وصل میشود.- Segment در این ERD مستقیماً به Entity دیگری وصل نشده است.
Locations
Locations اطلاعات مرجع شهر و استان را نگه میدارد. بهجای فرستادن نام شهر و استان در رابطه ERD، شناسه آنها روی مخاطب قرار میگیرد.
مثلاً یک Company میتواند با شناسه استان تهران و شناسه شهر تهران ذخیره شود.
ارتباطهای Locations در ERD
ContactباCityIdوProvinceIdبه شهر و استان موجود در Locations وصل میشود.