사전 정리
- Objbects(개체)
- 특정 종류의 정보를 저장하는 Salesforce 데이터베이스의 테이블
- 필드와 레코드로 데이터가 구성
- Fields(필드)
- Records(레코드)
- org(조직)
- Salesforce의 특정 인스턴스
- Professional Edition
- Unlimited Edition
- Performance Edition
- Enterprise Edition
- Developer Edition
- Trailhead Playground
Objects의 종류
- Standard Objects
- Salesforce에서 미리 생성해둔 Objects
- Custom Objects
- External Objects
- 조직 외부에 저장된 데이터와 매핑되어 생성하는 개체
- Big Objects
- 매우 큰 규모의 데이터를 처리하기위한 Objects
- Standard big objects
BackgroundOperation
: 비동기 작업에 대한 상태, 실행 결과 등을 저장
FieldHistoryArchive
: 모든 필드 변경 기록을 저장
- Custom big objects
- Associated Objects
- 어떤 Objects와 연관된 Objects
- 종류
- (StandardObjectName)Feed
- 연관된 Feed 데이터
- ex)
CollaborationGroupFeed
- (StandardObjectName)History
- (StandardObjectName)OwnerSharingRule
- (StandardObjectName)Share
- (StandardObjectName)ChangeEvent
Objects의 특징
Objects는 공통된 필드를 가지고 있다.
Identity
- 레코드를 식별할 수 있는 ID
Name
- 레코드를 사람이 구분하기 쉽도록 하는 이름
- System Auditing용 필드
- 자동으로 생성 및 수정이 되고 따로 조작이 필요할 시 salesforce에 문의해야 함
CreatedDate
LastModifiedById
LastModifiedDate
Standard Objects
장단점
장점
- 시간과 비용 절약
- Objects를 설계하고 만들 필요가 없다
- Standard Objects에 대한 교육 자료가 많다(Trailhead, udemy 등)
- 약속된 형식으로 인한 일관성
- 처음보는 서비스라도 같은 Standard Objects를 사용한다면 의미가 통할 수 있다
- 같은 Standard Objects를 사용한다면
- 서로 다른 조직의 데이터 통합 시 고려사항이 적어진다
- 같은 데이터를 다른 App에서 활용할 수 있다
- Salesforce가 관리하고 발전시켜온 검증된 개체
- 오랜시간 설계하고 피드백 받아 개선된 Objects이므로 효율적인 사용이 가능하다
- 앞으로도 Salesforce에서 유지보수를 해줄 수 있다
단점
- 제한된 확장성
- 필드의 추가 및 삭제를 하면 장점이 사라짐
- 모든 사용자의 요구사항을 만족할 수는 없다
- 복잡한 Standard Objects들의 관계
- 교육이 잘 되어있더라도 모든 Standard Objects를 이해하기까지 시간이 오래걸린다
주요 Standard Objects
Account
User
Contact
- 회사, 개인 등의 연락처
- 연관 관계(
Field(object)
형식)
- AccountId(Account), OwnerId(User)
Product2
- 회사에서 판매중인 제품 정보
- Label은 Products이고 API 명은 Product2
- Product가 아닌 이유
- 원래는 Product였는데 API 8 버전부터 사용할 수 없음
- 연관 관계
Pricebook2
PricebookEntry
- Product2와 Pricebook2를 연결해줌
- 연관 관계
- Product2Id(Product2)
- Pricebook2Id(Pricebook2)
Task
- 하고있거나 해야할 작업들
- 연관 관계
- OwnerId(User)
- WhoId(Contact, Lead)
- WhatId(Account, Contact, 등)
Opportunity
- 판매 가능성이 있는 계약 건
- 연관 관계
- AccountId(Account)
- ContactId(Contact)
- ContractId(Contract)
- OwnerId(User)
- Pricebook2Id(Pricebook2)
Contract
- Account에 대한 계약 내역
- 연관 관계
- AccountId(Account)
- ActivatedById(User)
- CompanySignedId(User)
- CustomerSignedId(Contact)
- Pricebook2Id(Pricebook2)
Orders
- 계약한 건에 대한 주문
- 연관 관계
- AccountId(Account)
- ContractId(Contract)
- ActivateById(User)
- CompatyAuthorizedById(User)
- CustomerAuthorizedById(Contact)
- OpportunityId(OpportunityId)
- QuoteId(Quote)
Case
- 문의, 불만 등 고객의 문의사항
- 연관 관계
- AccountId(Account)
- ContactId(ContactId)
- OwnerId(User, Group)
CollaborationGroup
- Chatter 그룹
- CollaborationGroupFeed
- CollaborationGroupMember
Report
Dashboard
- Report를 차트 또는 표 등으로 시각화한 결과
Calendar
Objects Supported Calls
Account가 지원하는 명령어
create()
: 데이터 추가
delete()
: 데이터 삭제
getDeleted()
: 특정 시간 이후 삭제된 개체 ID를 검색
getUpdated()
: 특정 시간 이후 수정된 개체 ID를 검색
merge()
: 동일 유형 Object의 레코드를 병합
query()
: 쿼리를 실행하고 기준과 일치하는 데이터 반환
retrieve()
: 특정 ID 기준으로 검색
search()
: 데이터에서 텍스트 기반 검색을 실행
undelete()
: Object 삭제를 취소
update()
: Object를 수정
upsert()
: 데이터가 없으면 생성, 데이터가 있으면 수정
describeLayout()
describeSObjects()
[참고자료]