SFDC는 Salesforce Dot Com(Salesforce.com)의 약자이다.
Salesforce는 SaaS 기반의 CRM 솔루션이다.
SaaS (Software as a Service)
SaaS는 클라우드 컴퓨팅의 한 형태로, 소프트웨어를 인터넷을 통해 제공하는 방식을 말한다. 서버나 네트워크 등의 인프라를 구축하거나 유지보수할 필요 없이 언제 어디서나 인터넷에 연결된 장치에서 액세스할 수 있다.
CRM (Customer Relationship Management)
고객과의 모든 커뮤니케이션 및 인터랙션 데이터를 수집, 기록, 관리하는 소프트웨어다. CRM 소프트웨어는 고객과 주고받은 이메일, 미팅 회의록, 고객의 연락처, 고객의 이름, 타이틀 등 고객의 모든 것을 하나의 소프트웨어에서 관리하게 해준다.
Model
View
Controller
Salesforce 데이터 모델에 미리 정의된 객체로, Salesforce에서 사용되는 일반적인 업무 기능을 지원하는 객체이다.
salesforce에서 객체는 스프레드 시트와 유사한 레코드가 포함된 데이터베이스 테이블이다.
그리고, "레코드"는 데이터베이스의 행(필드)이다.
객체(Object) = 테이블
레코드 = 행
또한, Salesforce에서 이미 정의된 객체를 표준 객체(Standard Object),
유저가 직접 만든 객체를 사용자 정의 객체(Custom Object)라고 한다.
일부 Standard Object는 계층적인 구조를 가지고 있다.
예를 들어, Account
와 Contact
는 계층 구조로 구성되어 있다. Account
는 조직을 나타내며, 각 Account
아래에는 여러 개의 Contact
가 속할 수 있다. 이러한 구조를 사용하면 조직과 그 조직과 관련된 모든 연락처를 관리할 수 있다.
또한, Opportunity
객체는 계층 구조가 아니지만, 다른 Standard Object와 관련된 계층 구조를 나타낼 수 있다. 예를 들어, Opportunity
는 특정 Account
와 연결될 수 있으며, Opportunity
아래에는 다양한 Sales Stage
와 Probability
값이 포함될 수 있다.
그러나, 모든 Standard Object가 계층 구조를 갖는 것은 아니다. 예를 들어, Lead
객체는 계층 구조를 가지고 있지 않다.
따라서, Standard Object의 계층 구조는 Object 간의 관계와 기능에 따라 달라질 수 있다. 일부 객체는 계층 구조를 갖지만, 다른 객체는 계층 구조를 갖지 않을 수 있다.
기업, 조직, 개인 등의 고객 정보를 저장한다.
create()
delete()
describeLayout()
describeSObjects()
getDeleted()
getUpdated()
merge()
query()
retrieve()
search()
undelete()
update()
upsert()
Account는 다른 Standard Object와 함께 사용되기도 한다. 예를 들어, Account와 Contact, Opportunity, Case 등의 Standard Object를 연결하여 고객에 대한 전반적인 정보를 파악할 수 있다.
고객의 연락처 정보를 저장한다.
create()
delete()
describeLayout()
describeSObjects()
getDeleted()
getUpdated()
merge()
query()
retrieve()
search()
undelete()
update()
upsert()
잠재 고객의 정보를 저장하는 데 사용된다. 이를 통해 판매 팀은 잠재 고객과의 연락을 유지하고, 잠재 고객이 실제 고객이 되도록 추적하고 관리할 수 있다.
create()
delete()
describeLayout()
describeSObjects()
getDeleted()
getUpdated()
merge()
query()
retrieve()
search()
undelete()
update()
upsert()
판매 기회를 나타낸다. 예상 매출, 진행 상태, 담당자 등을 관리하여 판매 파이프라인을 추적하고 관리할 수 있다.
create()
delete()
describeLayout()
describeSObjects()
getDeleted()
getUpdated()
query()
retrieve()
search()
undelete()
update()
upsert()
이외에도 많은 Standard Object가 존재한다.
번호 | Object 이름 | 설명 |
---|---|---|
01 | Account | 기업이나 조직과 같은 거래처의 정보를 저장한다. |
02 | Contact | 고객, 잠재 고객, 업체 담당자 등 개인의 정보를 저장한다. |
03 | AccountRelationship | 계층구조를 나타내기 위하여 계정 간의 관계를 지정한다. |
04 | Contract | 고객과의 계약과 관련된 다양한 정보를 저장한다. |
05 | ContractContactRole | 계약에 연결된 연락처와 그들의 역할을 저장한다. 많은 계약이 여러 연락처와 관련되어 있을 때 유용하며, 연락처가 서로 다른 역할을 가질 수 있다. |
06 | Asset | 조직이 보유하고 있는 제품이나 장비와 같은 자산을 저장한다. |
07 | Case | 고객 문의, 불만, 요청 등과 같은 고객 상호작용을 기록하고, 문제 해결에 대한 작업을 할당한다. |
08 | Lead | 잠재적 고객에 대한 정보를 저장한다. |
09 | Campaign | 마케팅과 관련된 정보를 저장한다. |
10 | CampaignMember | 캠페인과 연관된 Lead나 Contact 등의 멤버십 정보를 저장한다. |
11 | Territory | 회사 내의 영업 지역과 관련된 정보를 저장한다. 지역의 계층 구조, 지역별 책임자, 판매 예산 등을 정의할 수 있다. |
12 | Opportunity | 판매 기회(예: 계약 체결, 물품 판매 등)를 나타내며, 계약 거래에 대한 정보(금액, 담당자, 예상 매출 등)을 저장한다. |
13 | OpportunityContactRole | Opportunity에 연결된 Contact와의 관계를 저장한다. 즉, Opportunity에 연결된 Contact가 어떤 역할을 하는지를 나타낸다. |
14 | Quote | 조직의 제안서 및 견적을 관리하기 위해 사용된다. |
15 | AccountTeamMember | Account팀에 속한 사용자를 관리하는 데 사용된다. |
16 | OpportunityTeamMember | Opportunity에 대한 팀 멤버 정보를 저장한다. 팀 멤버는 Opportunity에 대한 판매 활동을 수행하고 책임이 있는 멤버이다. 예를 들어, 책임자, 영업 사원, 판매 관리자 등이 될 수 있다. |
17 | ForecastingItem | 판메 예측에 대한 개별 판매 항목 정보를 저장하며, 팀과 개별 사용자의 예측을 구성하고 통합한다. |
18 | Order | 판매 주문과 관련된 정보를 저장하고, 주문 항목과 배송 정보를 추적할 수 있다. |
19 | Partner | 두 개의 Account 또는 Opportunity 레코드와 Account 레코드 간의 파트너 관계를 나타낸다. |
20 | PartnerRole | 파트너의 역할을 나타내는 것으로, 컨설턴트, 공급 업체 등이 있다. |
21 | AccountPartner | 두 개의 Account 레코드 간의 파트너 관계를 나타낸다. Partner 레코드가 생성될 때 자동으로 생성된다. |
22 | OpportunityPartner | 두 개의 Opportunity 레코드 간의 파트너 관계를 나타낸다. 두 개의 Opportunity 레코드 간에 파트너 관계가 생성될 때 자동으로 생성된다. |
23 | Product2 | 판매 상품에 대한 정보를 저장한다. |
24 | PriceBook2 | Org에서 판매하는 제품 목록을 포함하고 있는 가격표이다. |
25 | User | Org에 소속된 사용자 정보를 저장한다. |
26 | Group | User 레코드의 집합이다. 예를 들어, "판매팀" 또는 "영업부"와 같은 이름의 그룹을 만들어 해당 팀이나 부서의 사용자를 그룹으로 묶을 수 있다. |
27 | Calendar | 기본 사용자 달력, 공용 달력, 리소스 달력, 휴일 달력 등 달력을 나타낸다. |
28 | Task | 사용자가 완료해야 할 일, 할 일 목록, 예약된 이벤트 등과 같은 업무 활동을 나타낸다. |
29 | TaskRelation | Task와 연관된 Lead, Contact 등의 다른 오브젝트와의 관계를 나타낸다. |
30 | Event | Calendar에서의 일정을 나타낸다. |
31 | EventRelation | Event에 초대된 사람 또는 리소스를 나타낸다. |
32 | Solution | 고객 이슈에 대한 자세한 설명과 해결책을 나타낸다. 일반적으로 고객 지원 팀에서 사용된다. |
33 | ServiceContract | 고객과 기업 간의 서비스 계약을 나타낸다. |
34 | ContractLineItem | 서비스 계약에 포함된 제품을 나타낸다. |
35 | Entitlement | 계정이나 연락처가 받을 수 있는 고객 지원을 나타낸다. |
36 | EntitlementContact | Entitlement와 Contact 오브젝트 사이의 관계를 나타내며, 고객 지원을 받을 자격이 있는 연락처를 정의한다. |
37 | ContactRequest | 고객이 지원을 요청하고 해당 문제에 대해 연락을 받기를 요청한 경우를 나타낸다. |
38 | CaseTeamMember | Case 팀의 구성원을 나타낸다. |
39 | CaseTeamRole | Case 팀 멤버의 역할을 정의한다. |
40 | CaseComment | 연간된 Case에 대한 상세한 내용이나 문제 해결 과정에서 추가 정보를 기록한다. |
41 | CaseArticle | 고객 지원 Case를 처리하면서 사용할 수 있는 지식 기반 솔루션의 문서를 저장한다. |
42 | KnowledgeArticle | 기업에서 생성한 지식 콘텐츠를 저장하고 관리한다. |
43 | KnowledgeArticleVersion | 기존 KnowledgeArticle을 업데이트하거나 새로운 KnowledgeArticle를 생성할 때 사용되고, 모든 버전이 저장된다. |
44 | EmailMessage | 이메일과 관련된 정보를 저장한다. |
45 | CaseHistory | Case 오브젝트의 상태 변화에 대한 기록을 저장한다. |
46 | MilestoneType | Case와 관련된 중요한 이벤트인 CaseMilestone을 정의하는 데 사용된다. |
47 | CaseMilestone | 특정 Case에서 특정 MilestoneType의 마일스톤을 달성한 날짜와 시간, 해당 마일스톤에 대한 세부 정보, 마일스톤을 달성한 사용자 등과 같은 정보를 저장하낟. |
48 | Swarm | 여러 사용자가 함께 작업하고 실시간으로 업데이트를 볼 수 있도록 한다. |
49 | SwarmMember | Swarm오브젝트와 관련된 사용자의 정보를 저장한다. |
50 | CaseRelatedIssue | Case와 연관된 이슈를 나타내며, 해결될 때까지 Case의 해결 상태를 'pending'으로 유지할 수 있다. |
51 | Incident | 고객이 제기한 문제나 문의사항에 대한 정보를 저장한다. |
52 | Problem | 조직에서 발생한 문제에 대한 정보를 저장한다. 예를 들어, 제품의 결함, 서비스의 장애 등 조직 내부에서 발생한 문제를 추적한다. |
53 | CaseSolution | Case의 해결책을 나타낸다. Case를 생성할 때 문제를 해결하는 해결책이 이미 알려져 있으면, 이러한 해결책을 참조하거나 연결할 수 있다. |
54 | CategoryData | Solution 레코드의 논리적 그룹을 나타낸다. |
55 | CategoryNode | Solution 카테고리 간의 상위-하위 관계를 나타내기 위한 트리를 나타낸다. |
그 외 더 많은 Object는 공식문서에서 확인하면 된다.
https://developer.salesforce.com/docs/atlas.en-us.object_reference.meta/object_reference/sforce_api_objects_list.htm