Apex Web Service API Developer's Guide, Ver 9.0 Spring'07
Basic Information
-
- 5000 calls/day for organization, 5 concurrent
- Enterprise Edition, Professional Edition with API access enabled (300$)
- 1000 calls/license * day, 1000000 calls/day for organization
- 5000 calls/license * day, 5000000 calls/day for organization
/sCSS/9.0/Theme2/ko/common.css
/sCSS/9.0/Theme2/ko/setup.css, addUsers, advancedForecasting, ...
SOAP 1.1, WSDL 1.1, WS-I Basic Profile 1.1
Visual Studio .NET 2005, Apache axis 1.3/JDK 5.0 (Java, C#.NET)
Unicode (UTF-8) or ISO-8859-1
http://www.salesforce.com/services/Soap/c/9.0
http://test.salesforce.com/services/Soap/c/9.0 (enterprise WSDL)
http://test.salesforce.com/services/Soap/u/9.0 (partner WSDL)
SOQL (Sforce Object Query Language)
select ~ from ~ where ~ order by ~ NULLS FIRST/LAST limit ~
count(), toLabel(field), convertCurrency(~), Parent.~
TODAY, YESTERDAY, TOMORROW, LAST_WEEK, THIS_WEEK, NEXT_WEEK/MONTH
"~;~" - ;는 and를 의미
QueryResult qr = null;
try {
qr = binding.query("~");
boolean done = false;
if (0 < qr.getSize()) {
while (!done) {
for (int i = 0;i < qr.getRecords().length;i++) {
Account acct = (Account) qr.getRecords(i);
}
if (!qr.isDone()) {
qr.binding.queryMore(qr.getQueryLocator());
}
}
}
} catch (RemoteException ex) {
}
SOQL BNF Notation
QUERY ::= 'SELECT' ('COUNT()' | (FIELD ( ',' FIELD)*))
'FROM' (NAME ('AS' ? NAME)? ('USING' NAME)?) ( ',' NAME ('AS' ? NAME)? ('USING' NAME)?)*
('WHERE' CONDITIONEXPR )? ('ORDER BY' ORDERBYEXPR)? ('LIMIT' POSINTEGER )?
FIELD ::= NAME | '(' QUERY ')'
CONDITIONEXPR ::= ANDEXPR | OREXPR | NOTEXPR | SIMPLEEXPR
ANDEXPR ::= 'AND' SIMPLEEXPR
OREXPR ::= 'OR' SIMPLEEXPR
NOTEXPR ::= 'NOT' SIMPLEEXPR
SIMPLEEXPR ::= '(' CONDITIONEXPR ')' | FIELDEXPR | SETEXPR
FIELDEXPR ::= NAME OPERATOR VALUE
SETEXPR ::= ( NAME ('includes' | 'excludes' | 'in' | 'not' 'in') '(' VALUE (',' VALUE)* ')' )
ORDERBYEXPR ::= NAME ('asc' | 'desc')? ('nulls' ('first'|'last'))? (',' NAME ('asc' | 'desc')? ('nulls' ('first'|'last'))?)*
OPERATOR ::= '=' | '!=' | '<' | '<=' | '>' | '>=' | 'like'
LOGICALOPERATOR ::= 'AND' | 'OR ' | 'NOT'
VALUE ::= STRING_LITERAL | NUMBER | DATE | DATETIME | NULL | TRUE | FALSE | DATEFORMULA
DATEFORMULA ::= TODAY | TOMORROW | LAST_WEEK | THIS_WEEK | NEXT_WEEK | THIS_MONTH
| LAST_MONTH | NEXT_MONTH | LAST_90_DAYS | NEXT_90_DAYS | LAST_N_DAYS ':' NUMBER
| NEXT_N_DAYS ':' NUMBER
NAME ::= LETTER (NAMECHAR)*
LETTER ::= 'a'..'z' | 'A'..'Z'
NAMECHAR ::= LETTER | DIGIT | '_' | '.'
DATE ::= YEAR '-' MONTH '-' DAY
DATETIME ::= DATE 'T' HOUR ':' MINUTE ':' SECOND ('Z' | (('+' |'-') HOUR ':' MINUTE))
YEAR ::= DIGIT DIGIT DIGIT DIGIT
MONTH ::= '0' '1'..'9' | '1' ('0' | '1' | '2')
DAY ::= '0' '1'..'9' | '1'..'2' DIGIT | '3' ('0' | '1')
HOUR ::= '0'..'1' DIGIT | '2' '0'..'3'
MINUTE ::= '0'..'5' DIGIT
SECOND ::= '0'..'5' DIGIT | '60'
NULL ::= 'null'
TRUE ::= 'true'
FALSE ::= 'false'
NUMBER ::= '.' POSINTEGER | INTEGER '.' POSINTEGER
INTEGER ::= ('+' | '-')? POSINTEGER
POSINTEGER ::= DIGIT+
DIGIT ::= '0'..'9'
STRING LITERAL ::= "'" (ESC_CHAR | ~("'"|'\"
ESC_CHAR ::= '\'n' | 'r' | 't' | 'b' | 'f' | '"' | "'" | '\'
WS ::= S+
S ::= ' ' | | '
SOSL (Sforce Object Search Language)
FIND {SearchQuery} [toLabel()] [IN SearchGroup [convertCurrency(Amount)]]
[RETURNING FieldSpec] [LIMIT n]
Find {"~"} IN Name FIELDS RETURNING Account(Name, Id ORDER BY Id) LIMIT 20
API Objects
- base64Binary, boolean, byte, date, dateTime, double, int, string
- Autonumber, Create, Defaulted on create, Delete, Filter, Nillable
- Query, Replicate, Restricted picklist, Retrieve, Search, Update
- anyType, calculated, combobox, currency, email, ID, masterrecord
- multipicklist, percent, phone, picklist, reference, textarea, url
- Id, IsDeleted, CreatedById, CreatedDate, LastModifiedById
- LastModifiedDate, SystemModstamp
- Relationships Among Objects
- Master-Detail (1:1), Lookup (1:n)
- customObject__c, customObject__r (Relationship)
- prefix_name_c (Managed Packages)
- Account, Campaign, Case, Contact, Contract, Event, Lead, Opportunity
- Product2, Solution, Task, User
Call Reference
convertLead, LeadConvertResult
create, SaveResult
delete, DeleteResult
getDeleted, GetDeletedResult
getUpdated, GetUpdatedResult
login, LoginResult
merge, mergeResult
process, ProcessResult
query, QueryResult, QueryLocator
queryAll
queryMore, QueryResult, QueryLocator
retrieve
search, SearchResult
undelete, UndeleteResult
update, SaveResult
upsert, UpsertResult
describeGlobal, DescribeGlobalResult
describeLayout, DescribeLayoutResult
describeSObject, DescribeSObjectResult
describeSObjects, DescribeSObjectResult
describeSoftphoneLayout
describeTabs, DescribeTabSetResult
getServerTimestamp, GetServerTimestampResult
getUserInfo, GetUserInfoResult
resetPassword
sendEmail, SendEmailResult
setPassword
- Standard Object Reference
Account
AccountContactRole
AccountOwnerSharingRule
AccountPartner
AccountShare
AccountTeamMember
AccountTerritoryAssignmentRule
AccountTerritoryAssignmentRuleItem
AccountTerritorySharingRule
ActivityHistory
AdditionalNumber
Approval
Asset
AssignmentRule
Attachment
BrandTemplate
BusinessHours
BusinessProcess
CallCenter
Campaign
CampaignMember
CampaignMemberStatus
Case
CaseComment
CaseContactRole
CaseHistory
CaseOwnerSharingRule
CaseShare
CaseSolution
CaseStatus
CategoryData
CategoryNode
Contact
Contract
ContractContactRole
ContractHistory
ContractStatus
CurrencyType
Division
Document
DocumentAttachmentMap
EmailMessage
EmailStatus
EmailTemplate
EntityHistory
Event
EventAttendee
FiscalYearSettings
Folder
Group
GroupMember
Lead
LeadHistory
LeadOwnerSharingRule
LeadShare
LeadStatus
LineitemOverride
MailMergeTemplate
Name
Note
NoteAndAttachment
OpenActivity
Opportunity
OpportunityCompetitor
OpportunityContactRole
OpportunityHistory
OpportunityLineItem
OpportunityLineItemSchedule
OpportunityOverride
OpportunityOwnerSharingRule
OpportunityPartner
OpportunityShare
OpportunityStage
OpportunityTeamMember
Organization
Partner
PartnerRole
Period
Pricebook2
PricebookEntry
ProcessInstance
ProcessInstanceHistory
ProcessInstanceStep
ProcessInstanceWorkitem
Product2
Profile
QuantityForecast
QuantityForecastHistory
QueueSobject
RecordType
RevenueForecast
RevenueForecastHistory
Scontrol
SelfServiceUser
Solution
SolutionHistory
SolutionStatus
Task
TaskPriority
TaskStatus
Territory
User
UserAccountTeamMember
UserPreference
UserRole
UserTeamMember
UserTerritory
WebLink
AssignmentRuleHeader
CallOptions
EmailHeader
MruHeader
LoginScopeHeader
QueryOptions
SessionHeader
UserTerritoryDeleteHeader