activesalesforce 0.3.1 → 0.3.2

Sign up to get free protection for your applications and to get access to all the features.
data/lib/asf_adapter.rb CHANGED
@@ -24,6 +24,7 @@ require 'benchmark'
24
24
  require File.dirname(__FILE__) + '/rforce'
25
25
  require File.dirname(__FILE__) + '/column_definition'
26
26
  require File.dirname(__FILE__) + '/relationship_definition'
27
+ require File.dirname(__FILE__) + '/boxcar_command'
27
28
 
28
29
  class ResultArray < Array
29
30
  attr_reader :actual_size
@@ -48,7 +49,7 @@ module ActiveRecord
48
49
  if binding
49
50
  logger.debug(" via provided binding #{binding}\n")
50
51
  end
51
-
52
+
52
53
  if sid
53
54
  binding = @@cache["sid=#{sid}"] unless binding
54
55
 
@@ -101,13 +102,14 @@ module ActiveRecord
101
102
  super message
102
103
 
103
104
  @fault = fault
104
-
105
+
105
106
  logger.debug("\nSalesforceError:\n message='#{message}'\n fault='#{fault}'\n\n")
106
107
  end
107
108
  end
108
109
 
109
110
 
110
111
  class SalesforceAdapter < AbstractAdapter
112
+ MAX_BOXCAR_SIZE = 200
111
113
 
112
114
  class EntityDefinition
113
115
  attr_reader :name, :columns, :column_name_to_column, :api_name_to_column, :relationships
@@ -145,8 +147,13 @@ module ActiveRecord
145
147
  @connection_options, @config = connection_options, config
146
148
 
147
149
  @entity_def_map = {}
150
+
151
+ @command_boxcar = []
148
152
  end
149
153
 
154
+ def binding
155
+ @connection
156
+ end
150
157
 
151
158
  def adapter_name #:nodoc:
152
159
  'ActiveSalesforce'
@@ -188,17 +195,75 @@ module ActiveRecord
188
195
  # Begins the transaction (and turns off auto-committing).
189
196
  def begin_db_transaction()
190
197
  log('Opening boxcar', 'begin_db_transaction()')
198
+ @command_boxcar = []
191
199
  end
192
-
200
+
201
+
202
+ def send_commands(commands)
203
+ # Send the boxcar'ed command set
204
+ verb = commands[0].verb
205
+
206
+ args = []
207
+ commands.each do |command|
208
+ command.args.each { |arg| args << arg }
209
+ end
210
+
211
+ puts " send_commands(:#{verb}, [#{args.join(', ')}])"
212
+
213
+ response = @connection.send(verb, args)
214
+
215
+ result = get_result(response, verb)
216
+
217
+ result = [ result ] unless result.is_a?(Array)
218
+ errors = []
219
+ result.each_with_index do |r, n|
220
+ success = r[:success] == "true"
221
+
222
+ # Give each command a chance to process its own result
223
+ command = commands[n]
224
+ command.after_execute(r)
225
+
226
+ # Handle the set of failures
227
+ errors << r[:errors] unless r[:success] == "true"
228
+ end
229
+
230
+ unless errors.empty?
231
+ message = errors.join("\n")
232
+ fault = (errors.map { |error| error[:message] }).join("\n")
233
+ SalesforceError.new(@logger, message, fault)
234
+ end
235
+
236
+ result
237
+ end
238
+
239
+
193
240
  # Commits the transaction (and turns on auto-committing).
194
241
  def commit_db_transaction()
195
- log('Committing boxcar', 'commit_db_transaction()')
242
+ log("Committing boxcar with #{@command_boxcar.length} commands", 'commit_db_transaction()')
243
+
244
+ previous_command = nil
245
+ commands = []
246
+ @command_boxcar.each do |command|
247
+ if commands.length >= MAX_BOXCAR_SIZE or (previous_command and (command.verb != previous_command.verb))
248
+ send_commands(commands)
249
+ commands = []
250
+ else
251
+ commands << command
252
+ end
253
+
254
+ previous_command = command
255
+ end
256
+
257
+ # Finish off the partial boxcar
258
+ send_commands(commands) unless commands.empty?
259
+
196
260
  end
197
-
261
+
198
262
  # Rolls back the transaction (and turns on auto-committing). Must be
199
263
  # done if the transaction block raises an exception or returns false.
200
264
  def rollback_db_transaction()
201
265
  log('Rolling back boxcar', 'rollback_db_transaction()')
266
+ @command_boxcar = []
202
267
  end
203
268
 
204
269
 
@@ -221,7 +286,7 @@ module ActiveRecord
221
286
 
222
287
  # Always (unless COUNT*)'ing) select all columns (required for the AR attributes mechanism to work correctly
223
288
  soql = sql.sub(/SELECT .+ FROM/i, "SELECT #{column_names.join(', ')} FROM") unless selectCountMatch
224
-
289
+
225
290
  soql.sub!(/\s+FROM\s+\w+/i, " FROM #{entity_def.api_name}")
226
291
 
227
292
  # Look for a LIMIT clause
@@ -263,7 +328,7 @@ module ActiveRecord
263
328
  if name != :type
264
329
  # Ids may be returned in an array with 2 duplicate entries...
265
330
  value = value[0] if name == :Id && value.is_a?(Array)
266
-
331
+
267
332
  column = entity_def.api_name_to_column[name.to_s]
268
333
  attribute_name = column.name
269
334
 
@@ -289,9 +354,9 @@ module ActiveRecord
289
354
 
290
355
  def select_one(sql, name = nil) #:nodoc:
291
356
  self.batch_size = 1
292
-
357
+
293
358
  result = select_all(sql, name)
294
-
359
+
295
360
  result.nil? ? nil : result.first
296
361
  end
297
362
 
@@ -309,14 +374,18 @@ module ActiveRecord
309
374
  # Extract arrays of values
310
375
  values = sql.match(/VALUES\s*\((.+)\)/i)[1]
311
376
  values = values.scan(/(((NULL))|((TRUE))|((FALSE))|'(([^']|'')*)'),*/mi)
312
-
377
+
313
378
  values.map! { |v| v[7] }
314
379
 
315
380
  fields = get_fields(columns, names, values, :createable)
316
381
 
317
382
  sobject = create_sobject(entity_name, nil, fields)
318
-
319
- check_result(get_result(@connection.create(:sObjects => sobject), :create))[0][:id]
383
+
384
+ # Track the id to be able to update it when the create() is actually executed
385
+ id = String.new
386
+ @command_boxcar << ActiveSalesforce::BoxcarCommand::Insert.new(self, sobject, id)
387
+
388
+ id
320
389
  }
321
390
  end
322
391
 
@@ -334,14 +403,14 @@ module ActiveRecord
334
403
 
335
404
  values = match.scan(/=\s*(((NULL))|((TRUE))|((FALSE))|'(([^']|'')*)'),*/mi)
336
405
  values.map! { |v| v[7] }
337
-
406
+
338
407
  fields = get_fields(columns, names, values, :updateable)
339
408
 
340
409
  id = sql.match(/WHERE\s+id\s*=\s*'(\w+)'/i)[1]
341
410
 
342
411
  sobject = create_sobject(entity_name, id, fields)
343
412
 
344
- check_result(get_result(@connection.update(:sObjects => sobject), :update))
413
+ @command_boxcar << ActiveSalesforce::BoxcarCommand::Update.new(self, sobject)
345
414
  }
346
415
  end
347
416
 
@@ -362,7 +431,7 @@ module ActiveRecord
362
431
  ids_element = []
363
432
  ids.each { |id| ids_element << :ids << id }
364
433
 
365
- check_result(get_result(@connection.delete(ids_element), :delete))
434
+ @command_boxcar << ActiveSalesforce::BoxcarCommand::Delete.new(self, ids_element)
366
435
  }
367
436
  end
368
437
 
@@ -374,16 +443,16 @@ module ActiveRecord
374
443
 
375
444
  if value
376
445
  column = columns[name]
377
-
446
+
378
447
  raise SalesforceError.new(@logger, "Column not found for #{name}!") unless column
379
448
 
380
449
  value.gsub!(/''/, "'") if value.is_a? String
381
-
450
+
382
451
  include_field = ((not value.empty?) and column.send(access_check))
383
452
  fields[column.api_name] = value if include_field
384
453
  end
385
454
  end
386
-
455
+
387
456
  fields
388
457
  end
389
458
 
@@ -415,12 +484,12 @@ module ActiveRecord
415
484
  if cached_entity_def
416
485
  # Check for the loss of asf AR setup
417
486
  entity_klass = entity_name.constantize
418
-
487
+
419
488
  configure_active_record cached_entity_def unless entity_klass.respond_to?(:asf_augmented?)
420
-
489
+
421
490
  return cached_entity_def
422
491
  end
423
-
492
+
424
493
  log("Retrieving metadata for '#{entity_name}'", "get_entity_def()") {
425
494
  cached_columns = []
426
495
  cached_relationships = []
@@ -494,7 +563,7 @@ module ActiveRecord
494
563
  @logger.debug(" Skipping unsupported polymophic one-to-#{one_to_many ? 'many' : 'one' } relationship '#{referenceName}' from #{entity_name} to [#{relationship.reference_to.join(', ')}] using #{foreign_key}")
495
564
  next
496
565
  end
497
-
566
+
498
567
  # Handle references to custom objects
499
568
  reference_to = reference_to.chop.chop.chop.capitalize if reference_to.match(/__c$/)
500
569
 
@@ -503,12 +572,12 @@ module ActiveRecord
503
572
  rescue NameError => e
504
573
  # Automatically create a least a stub for the referenced entity
505
574
  @logger.debug(" Creating ActiveRecord stub for the referenced entity '#{reference_to}'")
506
-
575
+
507
576
  referenced_klass = klass.class_eval("::#{reference_to} = Class.new(ActiveRecord::Base)")
508
577
 
509
578
  # configure_active_record(get_entity_def(reference_to))
510
579
  end
511
-
580
+
512
581
  if one_to_many
513
582
  klass.has_many referenceName.to_sym, :class_name => reference_to, :foreign_key => foreign_key, :dependent => false
514
583
  else
@@ -543,7 +612,9 @@ module ActiveRecord
543
612
  def create_sobject(entity_name, id, fields)
544
613
  entity_def = get_entity_def(entity_name)
545
614
 
546
- sobj = [ 'type { :xmlns => "urn:sobject.partner.soap.sforce.com" }', entity_def.api_name ]
615
+ sobj = []
616
+
617
+ sobj << 'type { :xmlns => "urn:sobject.partner.soap.sforce.com" }' << entity_def.api_name
547
618
  sobj << 'Id { :xmlns => "urn:sobject.partner.soap.sforce.com" }' << id if id
548
619
 
549
620
  # now add any changed fields
@@ -552,7 +623,7 @@ module ActiveRecord
552
623
  sobj << name.to_sym << value if value
553
624
  end
554
625
 
555
- sobj
626
+ [ :sObjects, sobj ]
556
627
  end
557
628
 
558
629
 
@@ -0,0 +1,67 @@
1
+ =begin
2
+ ActiveSalesforce
3
+ Copyright 2006 Doug Chasman
4
+
5
+ Licensed under the Apache License, Version 2.0 (the "License");
6
+ you may not use this file except in compliance with the License.
7
+ You may obtain a copy of the License at
8
+
9
+ http://www.apache.org/licenses/LICENSE-2.0
10
+
11
+ Unless required by applicable law or agreed to in writing, software
12
+ distributed under the License is distributed on an "AS IS" BASIS,
13
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ See the License for the specific language governing permissions and
15
+ limitations under the License.
16
+ =end
17
+
18
+ require 'rubygems'
19
+ require_gem 'rails', ">= 1.0.0"
20
+
21
+ require 'pp'
22
+
23
+
24
+ module ActiveSalesforce
25
+ module BoxcarCommand
26
+
27
+ class Base
28
+ attr_reader :verb, :args
29
+
30
+ def initialize(connection, verb, args)
31
+ @connection = connection
32
+ @verb = verb
33
+ @args = args
34
+ end
35
+
36
+ def after_execute(result)
37
+ end
38
+ end
39
+
40
+
41
+ class Insert < Base
42
+ def initialize(connection, sobject, idproxy)
43
+ super(connection, :create, sobject)
44
+ @idproxy = idproxy
45
+ end
46
+
47
+ def after_execute(result)
48
+ @idproxy << result[:id]
49
+ end
50
+ end
51
+
52
+
53
+ class Update < Base
54
+ def initialize(connection, sobject)
55
+ super(connection, :update, sobject)
56
+ end
57
+ end
58
+
59
+
60
+ class Delete < Base
61
+ def initialize(connection, ids)
62
+ super(connection, :delete, ids)
63
+ end
64
+ end
65
+
66
+ end
67
+ end
data/lib/mock_binding.rb CHANGED
@@ -45,8 +45,8 @@ class MockBinding < RForce::Binding
45
45
  #a hash or (if order is important) an array of alternating
46
46
  #keys and values.
47
47
  def call_remote(method, args)
48
- # Star-out any passwords
49
- safe_args = args.inject([]) {|memo, v| memo << ((memo.last == :username or memo.last == :password) ? "*" * v.length : v) }
48
+ # Blank out username and password
49
+ safe_args = args.inject([]) {|memo, v| memo << ((memo.last == :username or memo.last == :password) ? "" : v) }
50
50
  key = "#{method}(#{safe_args.join(':')})"
51
51
 
52
52
  if @recording
@@ -49,7 +49,7 @@ module Asf
49
49
  puts "\nStarting test '#{self.class.name.gsub('::', '')}.#{method_name}'"
50
50
 
51
51
  super
52
-
52
+
53
53
  @contact = Contact.new
54
54
  contact.first_name = 'DutchTestFirstName'
55
55
  contact.last_name = 'DutchTestLastName'
@@ -64,15 +64,16 @@ module Asf
64
64
 
65
65
  super
66
66
  end
67
-
68
- def test_count_contacts
69
- assert Contact.count > 0
70
- end
71
-
67
+
68
+
72
69
  def test_create_a_contact
73
70
  contact.id
74
71
  end
75
72
 
73
+ def test_count_contacts
74
+ assert Contact.count > 0
75
+ end
76
+
76
77
  def test_save_a_contact
77
78
  contact.id
78
79
  end
@@ -123,18 +124,23 @@ module Asf
123
124
 
124
125
  department.destroy
125
126
  end
127
+
126
128
 
127
129
  def test_batch_insert
128
130
  c1 = Contact.new(:first_name => 'FN1', :last_name => 'LN1')
129
131
  c2 = Contact.new(:first_name => 'FN2', :last_name => 'LN2')
132
+ c3 = Contact.new(:first_name => 'FN3', :last_name => 'LN3')
130
133
 
131
134
  Contact.transaction(c1, c2) do
132
135
  c1.save
133
136
  c2.save
134
137
  end
138
+
139
+ c3.save
135
140
 
136
141
  c1.first_name << '_2'
137
142
  c2.first_name << '_2'
143
+ c3.first_name << '_2'
138
144
 
139
145
  Contact.transaction(c1, c2) do
140
146
  c1.save
@@ -142,6 +148,9 @@ module Asf
142
148
  end
143
149
 
144
150
  Contact.transaction(c1, c2) do
151
+ c3.save
152
+
153
+ c3.destroy
145
154
  c2.destroy
146
155
  c1.destroy
147
156
  end
data/test/unit/config.yml CHANGED
@@ -1,8 +1,8 @@
1
1
  url: https://www.salesforce.com/services/Soap/u/7.0
2
- #username: doug_chasman@yahoo.com
3
- #password: Maceymo@11
2
+ username: doug_chasman@yahoo.com
3
+ password: Maceymo@11
4
4
 
5
- username: admin@summer05_pbrondum.com
6
- password: Test2000
5
+ #username: admin@summer05_pbrondum.com
6
+ #password: Test2000
7
7
 
8
8
  recording: false
@@ -1,112 +1,31 @@
1
1
  ---
2
- query(queryString:SELECT Id, AccountId, LastName, FirstName, Salutation, OtherStreet, OtherCity, OtherState, OtherPostalCode, OtherCountry, MailingStreet, MailingCity, MailingState, MailingPostalCode, MailingCountry, Phone, Fax, MobilePhone, HomePhone, OtherPhone, AssistantPhone, ReportsToId, Email, Title, Department, AssistantName, LeadSource, Birthdate, Description, CurrencyIsoCode, OwnerId, HasOptedOutOfEmail, CreatedDate, CreatedById, LastModifiedDate, LastModifiedById, SystemModstamp, LastCURequestDate, LastCUUpdateDate, DoNotCall, Training_Completed__c, Languages__c, Level__c, Call_contact_using_Skype__c, Call_today__c FROM Contact WHERE (Id = '0033000000GNoW3AAL') ): !ruby/object:RForce::SoapResponse
3
- parsed:
4
- :queryResponse:
5
- :result:
6
- :records:
7
- :LastCURequestDate:
8
- :LeadSource:
9
- :MailingPostalCode:
10
- :Call_contact_using_Skype__c: <a href="/servlet/servlet.Integration?lid=01N300000000CnR&amp;eid=0033000000GNoW3" target="_blank"> </a>
11
- :CreatedDate: "2006-02-20T18:58:58.000Z"
12
- :Department:
13
- :AssistantPhone:
14
- :OtherPostalCode:
15
- :FirstName: DutchTestFirstName
16
- :LastCUUpdateDate:
17
- :Birthdate:
18
- :MailingCountry:
19
- :AccountId:
20
- :Call_today__c: "false"
21
- :CreatedById: 00530000000jM0DAAU
22
- :ReportsToId:
23
- :OtherCountry:
24
- :DoNotCall: "false"
25
- :Description:
26
- :Phone:
27
- :Salutation:
28
- :type: Contact
29
- :LastModifiedDate: "2006-02-20T18:58:58.000Z"
30
- :Email:
31
- :MailingStreet:
32
- :Training_Completed__c:
33
- :CurrencyIsoCode: USD
34
- :Fax:
35
- :OtherStreet:
36
- :LastModifiedById: 00530000000jM0DAAU
37
- :Title:
38
- :MailingCity:
39
- :Languages__c:
40
- :OwnerId: 00530000000jM0DAAU
41
- :HomePhone: 555-555-1212
42
- :MobilePhone:
43
- :OtherCity:
44
- :Id:
45
- - 0033000000GNoW3AAL
46
- - 0033000000GNoW3AAL
47
- :SystemModstamp: "2006-02-20T18:58:58.000Z"
48
- :AssistantName:
49
- :MailingState:
50
- :Level__c:
51
- :HasOptedOutOfEmail: "false"
52
- :OtherPhone:
53
- :OtherState:
54
- :LastName: DutchTestLastName
55
- :size: "1"
56
- :done: "true"
57
- :queryLocator:
58
2
  describeSObject(sObjectType:Note): !ruby/object:RForce::SoapResponse
59
3
  parsed:
60
4
  :describeSObjectResponse:
61
5
  :result:
62
- :keyPrefix: "002"
63
- :searchable: "true"
64
- :updateable: "true"
65
- :labelPlural: Notes
66
- :undeletable: "false"
67
- :createable: "true"
68
- :layoutable: "false"
69
- :custom: "false"
70
- :urlDetail:
71
- :label: Note
72
- :activateable: "false"
73
- :queryable: "true"
74
- :name: Note
75
- :urlEdit:
76
- :deletable: "true"
77
6
  :replicateable: "true"
78
- :urlNew:
79
- :retrieveable: "true"
80
7
  :fields:
81
- - :precision: "0"
82
- :byteLength: "18"
83
- :restrictedPicklist: "false"
84
- :updateable: "false"
8
+ - :digits: "0"
85
9
  :scale: "0"
86
- :calculated: "false"
87
- :soapType: tns:ID
88
- :length: "18"
89
- :createable: "false"
90
- :type: id
91
- :defaultedOnCreate: "true"
92
- :custom: "false"
93
10
  :label: Note Id
94
- :name: Id
95
- :digits: "0"
96
- :nillable: "false"
97
11
  :filterable: "true"
12
+ :length: "18"
98
13
  :autoNumber: "false"
14
+ :type: id
99
15
  :nameField: "false"
100
- - :precision: "0"
16
+ :createable: "false"
17
+ :updateable: "false"
101
18
  :byteLength: "18"
102
19
  :restrictedPicklist: "false"
103
- :updateable: "false"
104
- :scale: "0"
20
+ :name: Id
21
+ :nillable: "false"
105
22
  :calculated: "false"
106
23
  :soapType: tns:ID
107
- :length: "18"
108
- :createable: "true"
109
- :type: reference
24
+ :defaultedOnCreate: "true"
25
+ :precision: "0"
26
+ :custom: "false"
27
+ - :digits: "0"
28
+ :scale: "0"
110
29
  :referenceTo:
111
30
  - Account
112
31
  - Contact
@@ -114,1344 +33,1301 @@ describeSObject(sObjectType:Note): !ruby/object:RForce::SoapResponse
114
33
  - Contract
115
34
  - Asset
116
35
  - Product2
117
- - Application__c
118
- - Bug__c
119
- - Bug2Case__c
120
- - Bug2User__c
121
- - Campaigner_Results__c
122
- - Candidate__c
123
- - Channel_Account_Plan__c
124
- - Collateral_Request_Object__c
125
- - Distribution_Lot__c
126
- - ExtendedProducts__c
127
- - Inventory__c
128
- - MDF__c
129
- - MDF_Claim__c
130
- - Metrics__c
131
- - Objective__c
132
- - Position__c
133
- - Release__c
134
- - Serial_Number__c
135
- - DFDT_Discussion__c
136
- - DFDT_Linker__c
137
- - DFDT_Project__c
138
- - Company_Evaluation__c
139
- - Project__c
140
- - Resources__c
141
- - Company__c
142
- - DFDT_Resource__c
143
- - SFDC_Expense_Header__c
144
- - SFDC_Expense_Line_Item__c
145
- - PSEvent__c
146
- - PSEventPart__c
147
- - DFDT_Task__c
148
- - MWA1_Survey__c
149
- - MWA1_Entry__c
150
- - DFDT_Timesheet__c
151
- - MWA1_Submission__c
152
- - SFDC_Script_Campaign_Association__c
153
- - SFDC_Script_Lead_Association__c
154
- - SFDC_Script__c
155
- - SFDC_Questions__c
156
- - SFDC_Answer__c
157
- - SFDC_Script_Result__c
158
- - SFDC_Script_Result_Detail__c
159
- - SFDC_FollowOnQuestion__c
160
- - testror__c
161
- - Department__c
162
- - Job__c
163
- :defaultedOnCreate: "false"
164
- :custom: "false"
36
+ - Magazine__c
37
+ - Blog__c
38
+ - SFDC_057_Issue__c
39
+ - SFDC_Change_Request__c
40
+ - SFDCDevelopmentProduct__c
41
+ - SFDC_Feature__c
42
+ - SFDC_Feature_Team__c
43
+ - SFDCRelease__c
44
+ - SFDC_Release_Doc__c
45
+ - SFDC_Release_Team__c
46
+ - BlogComment__c
165
47
  :label: Parent ID
48
+ :filterable: "true"
49
+ :length: "18"
50
+ :autoNumber: "false"
51
+ :type: reference
52
+ :nameField: "false"
53
+ :createable: "true"
54
+ :updateable: "false"
55
+ :byteLength: "18"
56
+ :restrictedPicklist: "false"
166
57
  :name: ParentId
167
- :digits: "0"
168
58
  :nillable: "false"
59
+ :calculated: "false"
60
+ :soapType: tns:ID
61
+ :defaultedOnCreate: "false"
62
+ :precision: "0"
63
+ :custom: "false"
64
+ - :digits: "0"
65
+ :scale: "0"
66
+ :label: Title
169
67
  :filterable: "true"
68
+ :length: "80"
170
69
  :autoNumber: "false"
70
+ :type: string
171
71
  :nameField: "false"
172
- - :precision: "0"
72
+ :createable: "true"
73
+ :updateable: "true"
173
74
  :byteLength: "240"
174
75
  :restrictedPicklist: "false"
175
- :updateable: "true"
176
- :scale: "0"
76
+ :name: Title
77
+ :nillable: "true"
177
78
  :calculated: "false"
178
79
  :soapType: xsd:string
179
- :length: "80"
180
- :createable: "true"
181
- :type: string
182
80
  :defaultedOnCreate: "false"
81
+ :precision: "0"
183
82
  :custom: "false"
184
- :label: Title
185
- :name: Title
186
- :digits: "0"
187
- :nillable: "true"
83
+ - :digits: "0"
84
+ :scale: "0"
85
+ :label: Private
188
86
  :filterable: "true"
87
+ :length: "0"
189
88
  :autoNumber: "false"
89
+ :type: boolean
190
90
  :nameField: "false"
191
- - :precision: "0"
91
+ :createable: "true"
92
+ :updateable: "true"
192
93
  :byteLength: "0"
193
94
  :restrictedPicklist: "false"
194
- :updateable: "true"
195
- :scale: "0"
95
+ :name: IsPrivate
96
+ :nillable: "false"
196
97
  :calculated: "false"
197
98
  :soapType: xsd:boolean
198
- :length: "0"
199
- :createable: "true"
200
- :type: boolean
201
99
  :defaultedOnCreate: "true"
100
+ :precision: "0"
202
101
  :custom: "false"
203
- :label: Private
204
- :name: IsPrivate
205
- :digits: "0"
206
- :nillable: "false"
207
- :filterable: "true"
102
+ - :digits: "0"
103
+ :scale: "0"
104
+ :label: Body
105
+ :filterable: "false"
106
+ :length: "32000"
208
107
  :autoNumber: "false"
108
+ :type: textarea
209
109
  :nameField: "false"
210
- - :precision: "0"
110
+ :createable: "true"
111
+ :updateable: "true"
211
112
  :byteLength: "32000"
212
113
  :restrictedPicklist: "false"
213
- :updateable: "true"
214
- :scale: "0"
114
+ :name: Body
115
+ :nillable: "true"
215
116
  :calculated: "false"
216
117
  :soapType: xsd:string
217
- :length: "32000"
218
- :createable: "true"
219
- :type: textarea
220
118
  :defaultedOnCreate: "false"
119
+ :precision: "0"
221
120
  :custom: "false"
222
- :label: Body
223
- :name: Body
224
- :digits: "0"
225
- :nillable: "true"
226
- :filterable: "false"
121
+ - :digits: "0"
122
+ :scale: "0"
123
+ :referenceTo: User
124
+ :label: Owner ID
125
+ :filterable: "true"
126
+ :length: "18"
227
127
  :autoNumber: "false"
128
+ :type: reference
228
129
  :nameField: "false"
229
- - :precision: "0"
130
+ :createable: "true"
131
+ :updateable: "true"
230
132
  :byteLength: "18"
231
133
  :restrictedPicklist: "false"
232
- :updateable: "true"
233
- :scale: "0"
134
+ :name: OwnerId
135
+ :nillable: "false"
234
136
  :calculated: "false"
235
137
  :soapType: tns:ID
236
- :length: "18"
237
- :createable: "true"
238
- :type: reference
239
- :referenceTo: User
240
138
  :defaultedOnCreate: "true"
139
+ :precision: "0"
241
140
  :custom: "false"
242
- :label: Owner ID
243
- :name: OwnerId
244
- :digits: "0"
245
- :nillable: "false"
141
+ - :digits: "0"
142
+ :scale: "0"
143
+ :label: Created Date
246
144
  :filterable: "true"
145
+ :length: "0"
247
146
  :autoNumber: "false"
147
+ :type: datetime
248
148
  :nameField: "false"
249
- - :precision: "0"
149
+ :createable: "false"
150
+ :updateable: "false"
250
151
  :byteLength: "0"
251
152
  :restrictedPicklist: "false"
252
- :updateable: "false"
253
- :scale: "0"
153
+ :name: CreatedDate
154
+ :nillable: "false"
254
155
  :calculated: "false"
255
156
  :soapType: xsd:dateTime
256
- :length: "0"
257
- :createable: "false"
258
- :type: datetime
259
157
  :defaultedOnCreate: "true"
158
+ :precision: "0"
260
159
  :custom: "false"
261
- :label: Created Date
262
- :name: CreatedDate
263
- :digits: "0"
264
- :nillable: "false"
160
+ - :digits: "0"
161
+ :scale: "0"
162
+ :referenceTo: User
163
+ :label: Created By ID
265
164
  :filterable: "true"
165
+ :length: "18"
266
166
  :autoNumber: "false"
167
+ :type: reference
267
168
  :nameField: "false"
268
- - :precision: "0"
169
+ :createable: "false"
170
+ :updateable: "false"
269
171
  :byteLength: "18"
270
172
  :restrictedPicklist: "false"
271
- :updateable: "false"
272
- :scale: "0"
173
+ :name: CreatedById
174
+ :nillable: "false"
273
175
  :calculated: "false"
274
176
  :soapType: tns:ID
275
- :length: "18"
276
- :createable: "false"
277
- :type: reference
278
- :referenceTo: User
279
177
  :defaultedOnCreate: "true"
178
+ :precision: "0"
280
179
  :custom: "false"
281
- :label: Created By ID
282
- :name: CreatedById
283
- :digits: "0"
284
- :nillable: "false"
180
+ - :digits: "0"
181
+ :scale: "0"
182
+ :label: Last Modified Date
285
183
  :filterable: "true"
184
+ :length: "0"
286
185
  :autoNumber: "false"
186
+ :type: datetime
287
187
  :nameField: "false"
288
- - :precision: "0"
188
+ :createable: "false"
189
+ :updateable: "false"
289
190
  :byteLength: "0"
290
191
  :restrictedPicklist: "false"
291
- :updateable: "false"
292
- :scale: "0"
192
+ :name: LastModifiedDate
193
+ :nillable: "false"
293
194
  :calculated: "false"
294
195
  :soapType: xsd:dateTime
295
- :length: "0"
296
- :createable: "false"
297
- :type: datetime
298
196
  :defaultedOnCreate: "true"
197
+ :precision: "0"
299
198
  :custom: "false"
300
- :label: Last Modified Date
301
- :name: LastModifiedDate
302
- :digits: "0"
303
- :nillable: "false"
199
+ - :digits: "0"
200
+ :scale: "0"
201
+ :referenceTo: User
202
+ :label: Last Modified By ID
304
203
  :filterable: "true"
204
+ :length: "18"
305
205
  :autoNumber: "false"
206
+ :type: reference
306
207
  :nameField: "false"
307
- - :precision: "0"
208
+ :createable: "false"
209
+ :updateable: "false"
308
210
  :byteLength: "18"
309
211
  :restrictedPicklist: "false"
310
- :updateable: "false"
311
- :scale: "0"
212
+ :name: LastModifiedById
213
+ :nillable: "false"
312
214
  :calculated: "false"
313
215
  :soapType: tns:ID
314
- :length: "18"
315
- :createable: "false"
316
- :type: reference
317
- :referenceTo: User
318
216
  :defaultedOnCreate: "true"
217
+ :precision: "0"
319
218
  :custom: "false"
320
- :label: Last Modified By ID
321
- :name: LastModifiedById
322
- :digits: "0"
323
- :nillable: "false"
219
+ - :digits: "0"
220
+ :scale: "0"
221
+ :label: System Modstamp
324
222
  :filterable: "true"
223
+ :length: "0"
325
224
  :autoNumber: "false"
225
+ :type: datetime
326
226
  :nameField: "false"
327
- - :precision: "0"
227
+ :createable: "false"
228
+ :updateable: "false"
328
229
  :byteLength: "0"
329
230
  :restrictedPicklist: "false"
330
- :updateable: "false"
331
- :scale: "0"
231
+ :name: SystemModstamp
232
+ :nillable: "false"
332
233
  :calculated: "false"
333
234
  :soapType: xsd:dateTime
334
- :length: "0"
335
- :createable: "false"
336
- :type: datetime
337
235
  :defaultedOnCreate: "true"
236
+ :precision: "0"
338
237
  :custom: "false"
339
- :label: System Modstamp
340
- :name: SystemModstamp
341
- :digits: "0"
342
- :nillable: "false"
343
- :filterable: "true"
344
- :autoNumber: "false"
345
- :nameField: "false"
346
- delete(ids:0033000000GNoW3AAL): !ruby/object:RForce::SoapResponse
238
+ :urlNew:
239
+ :deletable: "true"
240
+ :retrieveable: "true"
241
+ :label: Note
242
+ :keyPrefix: "002"
243
+ :searchable: "true"
244
+ :createable: "true"
245
+ :updateable: "true"
246
+ :labelPlural: Notes
247
+ :undeletable: "false"
248
+ :name: Note
249
+ :layoutable: "false"
250
+ :urlDetail:
251
+ :queryable: "true"
252
+ :urlEdit:
253
+ :custom: "false"
254
+ :activateable: "false"
255
+ create(sObjects:type { :xmlns => "urn:sobject.partner.soap.sforce.com" }:Note:Body:My Body 2:Title:My Title 2:ParentId:0033000000GYsDuAAL): !ruby/object:RForce::SoapResponse
347
256
  parsed:
348
- :deleteResponse:
257
+ :createResponse:
349
258
  :result:
350
- :success: "true"
351
259
  :errors:
352
- :id: 0033000000GNoW3AAL
353
- login(username:***************************:password:********): !ruby/object:RForce::SoapResponse
260
+ :success: "true"
261
+ :id: 00230000008TJB9AAO
262
+ create(sObjects:type { :xmlns => "urn:sobject.partner.soap.sforce.com" }:Note:Body:My Body:Title:My Title:ParentId:0033000000GYsDuAAL): !ruby/object:RForce::SoapResponse
354
263
  parsed:
355
- :loginResponse:
264
+ :createResponse:
356
265
  :result:
357
- :serverUrl: https://na1-api.salesforce.com/services/Soap/u/7.0
358
- :passwordExpired: "false"
359
- :userId: 00530000000jM0DAAU
360
- :userInfo:
361
- :userEmail: pbrondum@salesforce.com
362
- :currencySymbol:
363
- :userFullName: Admin User
364
- :organizationId: 00D300000001MlZEAU
365
- :userLanguage: en_US
366
- :organizationMultiCurrency: "true"
367
- :userLocale: en_US
368
- :userId: 00530000000jM0DAAU
369
- :organizationName: Universal Containers
370
- :userTimeZone: America/Los_Angeles
371
- :userDefaultCurrencyIsoCode: USD
372
- :userUiSkin: Theme2
373
- :accessibilityMode: "false"
374
- :sessionId: xk4crmzY35eoj0L8v6ETYFMnKWhbLEDKe_MqHinRzGtK6G7SR53Qzvw7bptKBcx4gztHORiGeAFRYO2QYlpL1GpYnKO9AsNCSeX5jsUoLXQ=
266
+ :errors:
267
+ :success: "true"
268
+ :id: 00230000008TJB4AAO
375
269
  create(sObjects:type { :xmlns => "urn:sobject.partner.soap.sforce.com" }:Contact:HomePhone:555-555-1212:LastName:DutchTestLastName:FirstName:DutchTestFirstName): !ruby/object:RForce::SoapResponse
376
270
  parsed:
377
271
  :createResponse:
378
272
  :result:
379
- :success: "true"
380
273
  :errors:
381
- :id: 0033000000GNoW3AAL
382
- update(sObjects:type { :xmlns => "urn:sobject.partner.soap.sforce.com" }:Note:Id { :xmlns => "urn:sobject.partner.soap.sforce.com" }:00230000008WDp5AAG:Body:My Body 2:Title:My Title 2): !ruby/object:RForce::SoapResponse
383
- parsed:
384
- :updateResponse:
385
- :result:
386
274
  :success: "true"
387
- :errors:
388
- :id: 00230000008WDp5AAG
389
- update(sObjects:type { :xmlns => "urn:sobject.partner.soap.sforce.com" }:Note:Id { :xmlns => "urn:sobject.partner.soap.sforce.com" }:00230000008WDp0AAG:Body:My Body:Title:My Title): !ruby/object:RForce::SoapResponse
275
+ :id: 0033000000GYsDuAAL
276
+ update(sObjects:type { :xmlns => "urn:sobject.partner.soap.sforce.com" }:Note:Id { :xmlns => "urn:sobject.partner.soap.sforce.com" }:00230000008TJB4AAO:Body:My Body:Title:My Title): !ruby/object:RForce::SoapResponse
390
277
  parsed:
391
278
  :updateResponse:
392
279
  :result:
393
- :success: "true"
394
280
  :errors:
395
- :id: 00230000008WDp0AAG
396
- query(queryString:SELECT Id, ParentId, Title, IsPrivate, Body, OwnerId, CreatedDate, CreatedById, LastModifiedDate, LastModifiedById, SystemModstamp FROM Note WHERE (ParentId = '0033000000GNoW3AAL') ): !ruby/object:RForce::SoapResponse
281
+ :success: "true"
282
+ :id: 00230000008TJB4AAO
283
+ query(queryString:SELECT Id, AccountId, LastName, FirstName, Salutation, RecordTypeId, OtherStreet, OtherCity, OtherState, OtherPostalCode, OtherCountry, MailingStreet, MailingCity, MailingState, MailingPostalCode, MailingCountry, Phone, Fax, MobilePhone, HomePhone, OtherPhone, AssistantPhone, ReportsToId, Email, Title, Department, AssistantName, LeadSource, Birthdate, Description, OwnerId, CreatedDate, CreatedById, LastModifiedDate, LastModifiedById, SystemModstamp, LastCURequestDate, LastCUUpdateDate, Level__c, Languages__c, CustomUserRel__c, f2__c, f1__c FROM Contact WHERE (Id = '0033000000GYsDuAAL') ): !ruby/object:RForce::SoapResponse
397
284
  parsed:
398
285
  :queryResponse:
399
286
  :result:
400
- :size: "0"
287
+ :records:
288
+ :Languages__c:
289
+ :Birthdate:
290
+ :MailingCountry:
291
+ :Salutation:
292
+ :LastModifiedById: 00530000000hYFzAAM
293
+ :ReportsToId:
294
+ :OtherCountry:
295
+ :CustomUserRel__c:
296
+ :Description:
297
+ :Phone:
298
+ :RecordTypeId: 012300000004pYzAAI
299
+ :f2__c: "100.0"
300
+ :SystemModstamp: "2006-02-25T17:17:46.000Z"
301
+ :Department:
302
+ :Email:
303
+ :MailingStreet:
304
+ :OwnerId: 00530000000hYFzAAM
305
+ :HomePhone: 555-555-1212
306
+ :Fax:
307
+ :OtherStreet:
308
+ :type: Contact
309
+ :f1__c: "400.0"
310
+ :LastCURequestDate:
311
+ :Title:
312
+ :MailingCity:
313
+ :CreatedDate: "2006-02-25T17:17:46.000Z"
314
+ :MobilePhone:
315
+ :OtherCity:
316
+ :LastName: DutchTestLastName
317
+ :LastCUUpdateDate:
318
+ :AssistantName:
319
+ :MailingState:
320
+ :CreatedById: 00530000000hYFzAAM
321
+ :OtherPhone:
322
+ :OtherState:
323
+ :FirstName: DutchTestFirstName
324
+ :Level__c:
325
+ :LeadSource:
326
+ :MailingPostalCode:
327
+ :AccountId:
328
+ :Id:
329
+ - 0033000000GYsDuAAL
330
+ - 0033000000GYsDuAAL
331
+ :LastModifiedDate: "2006-02-25T17:17:46.000Z"
332
+ :AssistantPhone:
333
+ :OtherPostalCode:
401
334
  :done: "true"
335
+ :size: "1"
402
336
  :queryLocator:
403
337
  describeSObject(sObjectType:Contact): !ruby/object:RForce::SoapResponse
404
338
  parsed:
405
339
  :describeSObjectResponse:
406
340
  :result:
407
- :keyPrefix: "003"
408
- :childRelationships:
409
- - :childSObject: AccountContactRole
410
- :cascadeDelete: "true"
411
- :field: ContactId
412
- :relationshipName: AccountContactRoles
413
- - :childSObject: Asset
414
- :cascadeDelete: "false"
415
- :field: ContactId
416
- :relationshipName: Assets
417
- - :childSObject: Attachment
418
- :cascadeDelete: "false"
419
- :field: ParentId
420
- :relationshipName: Attachments
421
- - :childSObject: CampaignMember
422
- :cascadeDelete: "true"
423
- :field: ContactId
424
- :relationshipName: CampaignMembers
425
- - :childSObject: Case
426
- :cascadeDelete: "false"
427
- :field: ContactId
428
- :relationshipName: Cases
429
- - :childSObject: Collateral_Request_Object__c
430
- :cascadeDelete: "true"
431
- :field: FK_Contact__c
432
- - :childSObject: Contact
433
- :cascadeDelete: "false"
434
- :field: ReportsToId
435
- - :childSObject: Contract
436
- :cascadeDelete: "false"
437
- :field: CustomerSignedId
438
- - :childSObject: ContractContactRole
439
- :cascadeDelete: "true"
440
- :field: ContactId
441
- :relationshipName: ContractContactRoles
442
- - :childSObject: Distribution_Lot__c
443
- :cascadeDelete: "false"
444
- :field: Facility_Manager__c
445
- - :childSObject: Event
446
- :cascadeDelete: "true"
447
- :field: WhoId
448
- :relationshipName: Events
449
- - :childSObject: EventAttendee
450
- :cascadeDelete: "true"
451
- :field: AttendeeId
452
- - :childSObject: Lead
453
- :cascadeDelete: "false"
454
- :field: ConvertedContactId
455
- - :childSObject: MWA1_Submission__c
456
- :cascadeDelete: "false"
457
- :field: Contact__c
458
- - :childSObject: Note
459
- :cascadeDelete: "true"
460
- :field: ParentId
461
- :relationshipName: Notes
462
- - :childSObject: OpportunityContactRole
463
- :cascadeDelete: "true"
464
- :field: ContactId
465
- :relationshipName: OpportunityContactRoles
466
- - :childSObject: SFDC_Script_Lead_Association__c
467
- :cascadeDelete: "false"
468
- :field: Contact__c
469
- - :childSObject: SelfServiceUser
470
- :cascadeDelete: "false"
471
- :field: ContactId
472
- - :childSObject: Task
473
- :cascadeDelete: "true"
474
- :field: WhoId
475
- :relationshipName: Tasks
476
- :searchable: "true"
477
- :updateable: "true"
478
- :labelPlural: Contacts
479
- :undeletable: "false"
480
- :createable: "true"
481
- :layoutable: "true"
482
- :custom: "false"
483
- :urlDetail: https://na1.salesforce.com/{ID}
484
- :label: Contact
485
- :activateable: "false"
486
- :queryable: "true"
487
- :name: Contact
488
- :urlEdit: https://na1.salesforce.com/{ID}/e
489
- :deletable: "true"
490
341
  :replicateable: "true"
491
- :urlNew: https://na1.salesforce.com/003/e
492
- :retrieveable: "true"
493
342
  :fields:
494
- - :precision: "0"
343
+ - :digits: "0"
344
+ :scale: "0"
345
+ :label: Contact ID
346
+ :filterable: "true"
347
+ :length: "18"
348
+ :autoNumber: "false"
349
+ :type: id
350
+ :nameField: "false"
351
+ :createable: "false"
352
+ :updateable: "false"
495
353
  :byteLength: "18"
496
354
  :restrictedPicklist: "false"
497
- :updateable: "false"
498
- :scale: "0"
355
+ :name: Id
356
+ :nillable: "false"
499
357
  :calculated: "false"
500
358
  :soapType: tns:ID
501
- :length: "18"
502
- :createable: "false"
503
- :type: id
504
359
  :defaultedOnCreate: "true"
360
+ :precision: "0"
505
361
  :custom: "false"
506
- :label: Contact ID
507
- :name: Id
508
- :digits: "0"
509
- :nillable: "false"
362
+ - :digits: "0"
363
+ :scale: "0"
364
+ :referenceTo: Account
365
+ :label: Account ID
510
366
  :filterable: "true"
367
+ :length: "18"
511
368
  :autoNumber: "false"
369
+ :type: reference
512
370
  :nameField: "false"
513
- - :precision: "0"
371
+ :createable: "true"
372
+ :updateable: "true"
514
373
  :byteLength: "18"
515
374
  :restrictedPicklist: "false"
516
- :updateable: "true"
517
- :scale: "0"
375
+ :name: AccountId
376
+ :nillable: "true"
518
377
  :calculated: "false"
519
378
  :soapType: tns:ID
520
- :length: "18"
521
- :createable: "true"
522
- :type: reference
523
- :referenceTo: Account
524
379
  :defaultedOnCreate: "false"
380
+ :precision: "0"
525
381
  :custom: "false"
526
- :label: Account ID
527
- :name: AccountId
528
- :digits: "0"
529
- :nillable: "true"
382
+ - :digits: "0"
383
+ :scale: "0"
384
+ :label: Last Name
530
385
  :filterable: "true"
386
+ :length: "80"
531
387
  :autoNumber: "false"
532
- :nameField: "false"
533
- - :precision: "0"
388
+ :type: string
389
+ :nameField: "true"
390
+ :createable: "true"
391
+ :updateable: "true"
534
392
  :byteLength: "240"
535
393
  :restrictedPicklist: "false"
536
- :updateable: "true"
537
- :scale: "0"
394
+ :name: LastName
395
+ :nillable: "false"
538
396
  :calculated: "false"
539
397
  :soapType: xsd:string
540
- :length: "80"
541
- :createable: "true"
542
- :type: string
543
398
  :defaultedOnCreate: "false"
399
+ :precision: "0"
544
400
  :custom: "false"
545
- :label: Last Name
546
- :name: LastName
547
- :digits: "0"
548
- :nillable: "false"
401
+ - :digits: "0"
402
+ :scale: "0"
403
+ :label: First Name
549
404
  :filterable: "true"
405
+ :length: "40"
550
406
  :autoNumber: "false"
407
+ :type: string
551
408
  :nameField: "true"
552
- - :precision: "0"
409
+ :createable: "true"
410
+ :updateable: "true"
553
411
  :byteLength: "120"
554
412
  :restrictedPicklist: "false"
555
- :updateable: "true"
556
- :scale: "0"
413
+ :name: FirstName
414
+ :nillable: "true"
557
415
  :calculated: "false"
558
416
  :soapType: xsd:string
559
- :length: "40"
560
- :createable: "true"
561
- :type: string
562
417
  :defaultedOnCreate: "false"
418
+ :precision: "0"
563
419
  :custom: "false"
564
- :label: First Name
565
- :name: FirstName
566
- :digits: "0"
567
- :nillable: "true"
420
+ - :digits: "0"
421
+ :scale: "0"
422
+ :label: Salutation
568
423
  :filterable: "true"
424
+ :length: "40"
569
425
  :autoNumber: "false"
570
- :nameField: "true"
571
- - :precision: "0"
426
+ :type: picklist
427
+ :nameField: "false"
428
+ :createable: "true"
429
+ :updateable: "true"
572
430
  :byteLength: "120"
573
431
  :restrictedPicklist: "false"
574
- :updateable: "true"
575
- :scale: "0"
432
+ :name: Salutation
433
+ :nillable: "true"
576
434
  :calculated: "false"
577
435
  :soapType: xsd:string
578
- :length: "40"
579
- :createable: "true"
580
- :type: picklist
581
436
  :defaultedOnCreate: "false"
582
- :custom: "false"
437
+ :precision: "0"
583
438
  :picklistValues:
584
- - :value: Mr.
439
+ - :defaultValue: "false"
585
440
  :label: Mr.
586
- :defaultValue: "false"
441
+ :value: Mr.
587
442
  :active: "true"
588
- - :value: Ms.
443
+ - :defaultValue: "false"
589
444
  :label: Ms.
590
- :defaultValue: "false"
445
+ :value: Ms.
591
446
  :active: "true"
592
- - :value: Mrs.
447
+ - :defaultValue: "false"
593
448
  :label: Mrs.
594
- :defaultValue: "false"
449
+ :value: Mrs.
595
450
  :active: "true"
596
- - :value: Dr.
451
+ - :defaultValue: "false"
597
452
  :label: Dr.
598
- :defaultValue: "false"
453
+ :value: Dr.
599
454
  :active: "true"
600
- - :value: Prof.
455
+ - :defaultValue: "false"
601
456
  :label: Prof.
602
- :defaultValue: "false"
457
+ :value: Prof.
603
458
  :active: "true"
604
- :label: Salutation
605
- :name: Salutation
606
- :digits: "0"
607
- :nillable: "true"
459
+ :custom: "false"
460
+ - :digits: "0"
461
+ :scale: "0"
462
+ :referenceTo: RecordType
463
+ :label: Record Type ID
608
464
  :filterable: "true"
465
+ :length: "18"
609
466
  :autoNumber: "false"
467
+ :type: reference
610
468
  :nameField: "false"
611
- - :precision: "0"
612
- :byteLength: "765"
613
- :restrictedPicklist: "false"
469
+ :createable: "true"
614
470
  :updateable: "true"
615
- :scale: "0"
471
+ :byteLength: "18"
472
+ :restrictedPicklist: "false"
473
+ :name: RecordTypeId
474
+ :nillable: "true"
616
475
  :calculated: "false"
617
- :soapType: xsd:string
618
- :length: "255"
619
- :createable: "true"
620
- :type: textarea
476
+ :soapType: tns:ID
621
477
  :defaultedOnCreate: "false"
478
+ :precision: "0"
622
479
  :custom: "false"
480
+ - :digits: "0"
481
+ :scale: "0"
623
482
  :label: Other Street
624
- :name: OtherStreet
625
- :digits: "0"
626
- :nillable: "true"
627
483
  :filterable: "true"
484
+ :length: "255"
628
485
  :autoNumber: "false"
486
+ :type: textarea
629
487
  :nameField: "false"
630
- - :precision: "0"
631
- :byteLength: "120"
632
- :restrictedPicklist: "false"
488
+ :createable: "true"
633
489
  :updateable: "true"
634
- :scale: "0"
490
+ :byteLength: "765"
491
+ :restrictedPicklist: "false"
492
+ :name: OtherStreet
493
+ :nillable: "true"
635
494
  :calculated: "false"
636
495
  :soapType: xsd:string
637
- :length: "40"
638
- :createable: "true"
639
- :type: string
640
496
  :defaultedOnCreate: "false"
497
+ :precision: "0"
641
498
  :custom: "false"
499
+ - :digits: "0"
500
+ :scale: "0"
642
501
  :label: Other City
643
- :name: OtherCity
644
- :digits: "0"
645
- :nillable: "true"
646
502
  :filterable: "true"
503
+ :length: "40"
647
504
  :autoNumber: "false"
505
+ :type: string
648
506
  :nameField: "false"
649
- - :precision: "0"
650
- :byteLength: "60"
651
- :restrictedPicklist: "false"
507
+ :createable: "true"
652
508
  :updateable: "true"
653
- :scale: "0"
509
+ :byteLength: "120"
510
+ :restrictedPicklist: "false"
511
+ :name: OtherCity
512
+ :nillable: "true"
654
513
  :calculated: "false"
655
514
  :soapType: xsd:string
656
- :length: "20"
657
- :createable: "true"
658
- :type: string
659
515
  :defaultedOnCreate: "false"
516
+ :precision: "0"
660
517
  :custom: "false"
518
+ - :digits: "0"
519
+ :scale: "0"
661
520
  :label: Other State/Province
662
- :name: OtherState
663
- :digits: "0"
664
- :nillable: "true"
665
521
  :filterable: "true"
522
+ :length: "20"
666
523
  :autoNumber: "false"
524
+ :type: string
667
525
  :nameField: "false"
668
- - :precision: "0"
526
+ :createable: "true"
527
+ :updateable: "true"
669
528
  :byteLength: "60"
670
529
  :restrictedPicklist: "false"
671
- :updateable: "true"
672
- :scale: "0"
530
+ :name: OtherState
531
+ :nillable: "true"
673
532
  :calculated: "false"
674
533
  :soapType: xsd:string
675
- :length: "20"
676
- :createable: "true"
677
- :type: string
678
534
  :defaultedOnCreate: "false"
535
+ :precision: "0"
679
536
  :custom: "false"
537
+ - :digits: "0"
538
+ :scale: "0"
680
539
  :label: Other Zip/Postal Code
681
- :name: OtherPostalCode
682
- :digits: "0"
683
- :nillable: "true"
684
540
  :filterable: "true"
541
+ :length: "20"
685
542
  :autoNumber: "false"
543
+ :type: string
686
544
  :nameField: "false"
687
- - :precision: "0"
688
- :byteLength: "120"
689
- :restrictedPicklist: "false"
545
+ :createable: "true"
690
546
  :updateable: "true"
691
- :scale: "0"
547
+ :byteLength: "60"
548
+ :restrictedPicklist: "false"
549
+ :name: OtherPostalCode
550
+ :nillable: "true"
692
551
  :calculated: "false"
693
552
  :soapType: xsd:string
694
- :length: "40"
695
- :createable: "true"
696
- :type: string
697
553
  :defaultedOnCreate: "false"
554
+ :precision: "0"
698
555
  :custom: "false"
556
+ - :digits: "0"
557
+ :scale: "0"
699
558
  :label: Other Country
700
- :name: OtherCountry
701
- :digits: "0"
702
- :nillable: "true"
703
559
  :filterable: "true"
560
+ :length: "40"
704
561
  :autoNumber: "false"
562
+ :type: string
705
563
  :nameField: "false"
706
- - :precision: "0"
707
- :byteLength: "765"
708
- :restrictedPicklist: "false"
564
+ :createable: "true"
709
565
  :updateable: "true"
710
- :scale: "0"
566
+ :byteLength: "120"
567
+ :restrictedPicklist: "false"
568
+ :name: OtherCountry
569
+ :nillable: "true"
711
570
  :calculated: "false"
712
571
  :soapType: xsd:string
713
- :length: "255"
714
- :createable: "true"
715
- :type: textarea
716
572
  :defaultedOnCreate: "false"
573
+ :precision: "0"
717
574
  :custom: "false"
575
+ - :digits: "0"
576
+ :scale: "0"
718
577
  :label: Mailing Street
719
- :name: MailingStreet
720
- :digits: "0"
721
- :nillable: "true"
722
578
  :filterable: "true"
579
+ :length: "255"
723
580
  :autoNumber: "false"
581
+ :type: textarea
724
582
  :nameField: "false"
725
- - :precision: "0"
726
- :byteLength: "120"
727
- :restrictedPicklist: "false"
583
+ :createable: "true"
728
584
  :updateable: "true"
729
- :scale: "0"
585
+ :byteLength: "765"
586
+ :restrictedPicklist: "false"
587
+ :name: MailingStreet
588
+ :nillable: "true"
730
589
  :calculated: "false"
731
590
  :soapType: xsd:string
732
- :length: "40"
733
- :createable: "true"
734
- :type: string
735
591
  :defaultedOnCreate: "false"
592
+ :precision: "0"
736
593
  :custom: "false"
594
+ - :digits: "0"
595
+ :scale: "0"
737
596
  :label: Mailing City
738
- :name: MailingCity
739
- :digits: "0"
740
- :nillable: "true"
741
597
  :filterable: "true"
598
+ :length: "40"
742
599
  :autoNumber: "false"
600
+ :type: string
743
601
  :nameField: "false"
744
- - :precision: "0"
745
- :byteLength: "60"
746
- :restrictedPicklist: "false"
602
+ :createable: "true"
747
603
  :updateable: "true"
748
- :scale: "0"
604
+ :byteLength: "120"
605
+ :restrictedPicklist: "false"
606
+ :name: MailingCity
607
+ :nillable: "true"
749
608
  :calculated: "false"
750
609
  :soapType: xsd:string
751
- :length: "20"
752
- :createable: "true"
753
- :type: string
754
610
  :defaultedOnCreate: "false"
611
+ :precision: "0"
755
612
  :custom: "false"
613
+ - :digits: "0"
614
+ :scale: "0"
756
615
  :label: Mailing State/Province
757
- :name: MailingState
758
- :digits: "0"
759
- :nillable: "true"
760
616
  :filterable: "true"
617
+ :length: "20"
761
618
  :autoNumber: "false"
619
+ :type: string
762
620
  :nameField: "false"
763
- - :precision: "0"
621
+ :createable: "true"
622
+ :updateable: "true"
764
623
  :byteLength: "60"
765
624
  :restrictedPicklist: "false"
766
- :updateable: "true"
767
- :scale: "0"
625
+ :name: MailingState
626
+ :nillable: "true"
768
627
  :calculated: "false"
769
628
  :soapType: xsd:string
770
- :length: "20"
771
- :createable: "true"
772
- :type: string
773
629
  :defaultedOnCreate: "false"
630
+ :precision: "0"
774
631
  :custom: "false"
632
+ - :digits: "0"
633
+ :scale: "0"
775
634
  :label: Mailing Zip/Postal Code
776
- :name: MailingPostalCode
777
- :digits: "0"
778
- :nillable: "true"
779
635
  :filterable: "true"
636
+ :length: "20"
780
637
  :autoNumber: "false"
638
+ :type: string
781
639
  :nameField: "false"
782
- - :precision: "0"
783
- :byteLength: "120"
784
- :restrictedPicklist: "false"
640
+ :createable: "true"
785
641
  :updateable: "true"
786
- :scale: "0"
642
+ :byteLength: "60"
643
+ :restrictedPicklist: "false"
644
+ :name: MailingPostalCode
645
+ :nillable: "true"
787
646
  :calculated: "false"
788
647
  :soapType: xsd:string
789
- :length: "40"
790
- :createable: "true"
791
- :type: string
792
648
  :defaultedOnCreate: "false"
649
+ :precision: "0"
793
650
  :custom: "false"
651
+ - :digits: "0"
652
+ :scale: "0"
794
653
  :label: Mailing Country
795
- :name: MailingCountry
796
- :digits: "0"
797
- :nillable: "true"
798
654
  :filterable: "true"
655
+ :length: "40"
799
656
  :autoNumber: "false"
657
+ :type: string
800
658
  :nameField: "false"
801
- - :precision: "0"
659
+ :createable: "true"
660
+ :updateable: "true"
802
661
  :byteLength: "120"
803
662
  :restrictedPicklist: "false"
804
- :updateable: "true"
805
- :scale: "0"
663
+ :name: MailingCountry
664
+ :nillable: "true"
806
665
  :calculated: "false"
807
666
  :soapType: xsd:string
808
- :length: "40"
809
- :createable: "true"
810
- :type: phone
811
667
  :defaultedOnCreate: "false"
668
+ :precision: "0"
812
669
  :custom: "false"
670
+ - :digits: "0"
671
+ :scale: "0"
813
672
  :label: Business Phone
814
- :name: Phone
815
- :digits: "0"
816
- :nillable: "true"
817
673
  :filterable: "true"
674
+ :length: "40"
818
675
  :autoNumber: "false"
676
+ :type: phone
819
677
  :nameField: "false"
820
- - :precision: "0"
678
+ :createable: "true"
679
+ :updateable: "true"
821
680
  :byteLength: "120"
822
681
  :restrictedPicklist: "false"
823
- :updateable: "true"
824
- :scale: "0"
682
+ :name: Phone
683
+ :nillable: "true"
825
684
  :calculated: "false"
826
685
  :soapType: xsd:string
827
- :length: "40"
828
- :createable: "true"
829
- :type: phone
830
686
  :defaultedOnCreate: "false"
687
+ :precision: "0"
831
688
  :custom: "false"
689
+ - :digits: "0"
690
+ :scale: "0"
832
691
  :label: Business Fax
833
- :name: Fax
834
- :digits: "0"
835
- :nillable: "true"
836
692
  :filterable: "true"
693
+ :length: "40"
837
694
  :autoNumber: "false"
695
+ :type: phone
838
696
  :nameField: "false"
839
- - :precision: "0"
697
+ :createable: "true"
698
+ :updateable: "true"
840
699
  :byteLength: "120"
841
700
  :restrictedPicklist: "false"
842
- :updateable: "true"
843
- :scale: "0"
701
+ :name: Fax
702
+ :nillable: "true"
844
703
  :calculated: "false"
845
704
  :soapType: xsd:string
846
- :length: "40"
847
- :createable: "true"
848
- :type: phone
849
705
  :defaultedOnCreate: "false"
706
+ :precision: "0"
850
707
  :custom: "false"
708
+ - :digits: "0"
709
+ :scale: "0"
851
710
  :label: Mobile Phone
852
- :name: MobilePhone
853
- :digits: "0"
854
- :nillable: "true"
855
711
  :filterable: "true"
712
+ :length: "40"
856
713
  :autoNumber: "false"
714
+ :type: phone
857
715
  :nameField: "false"
858
- - :precision: "0"
716
+ :createable: "true"
717
+ :updateable: "true"
859
718
  :byteLength: "120"
860
719
  :restrictedPicklist: "false"
861
- :updateable: "true"
862
- :scale: "0"
720
+ :name: MobilePhone
721
+ :nillable: "true"
863
722
  :calculated: "false"
864
723
  :soapType: xsd:string
865
- :length: "40"
866
- :createable: "true"
867
- :type: phone
868
724
  :defaultedOnCreate: "false"
725
+ :precision: "0"
869
726
  :custom: "false"
727
+ - :digits: "0"
728
+ :scale: "0"
870
729
  :label: Home Phone
871
- :name: HomePhone
872
- :digits: "0"
873
- :nillable: "true"
874
730
  :filterable: "true"
731
+ :length: "40"
875
732
  :autoNumber: "false"
733
+ :type: phone
876
734
  :nameField: "false"
877
- - :precision: "0"
735
+ :createable: "true"
736
+ :updateable: "true"
878
737
  :byteLength: "120"
879
738
  :restrictedPicklist: "false"
880
- :updateable: "true"
881
- :scale: "0"
739
+ :name: HomePhone
740
+ :nillable: "true"
882
741
  :calculated: "false"
883
742
  :soapType: xsd:string
884
- :length: "40"
885
- :createable: "true"
886
- :type: phone
887
743
  :defaultedOnCreate: "false"
744
+ :precision: "0"
888
745
  :custom: "false"
746
+ - :digits: "0"
747
+ :scale: "0"
889
748
  :label: Other Phone
749
+ :filterable: "true"
750
+ :length: "40"
751
+ :autoNumber: "false"
752
+ :type: phone
753
+ :nameField: "false"
754
+ :createable: "true"
755
+ :updateable: "true"
756
+ :byteLength: "120"
757
+ :restrictedPicklist: "false"
890
758
  :name: OtherPhone
891
- :digits: "0"
892
759
  :nillable: "true"
760
+ :calculated: "false"
761
+ :soapType: xsd:string
762
+ :defaultedOnCreate: "false"
763
+ :precision: "0"
764
+ :custom: "false"
765
+ - :digits: "0"
766
+ :scale: "0"
767
+ :label: Asst. Phone
893
768
  :filterable: "true"
769
+ :length: "40"
894
770
  :autoNumber: "false"
771
+ :type: phone
895
772
  :nameField: "false"
896
- - :precision: "0"
773
+ :createable: "true"
774
+ :updateable: "true"
897
775
  :byteLength: "120"
898
776
  :restrictedPicklist: "false"
899
- :updateable: "true"
900
- :scale: "0"
777
+ :name: AssistantPhone
778
+ :nillable: "true"
901
779
  :calculated: "false"
902
780
  :soapType: xsd:string
903
- :length: "40"
904
- :createable: "true"
905
- :type: phone
906
781
  :defaultedOnCreate: "false"
782
+ :precision: "0"
907
783
  :custom: "false"
908
- :label: Asst. Phone
909
- :name: AssistantPhone
910
- :digits: "0"
911
- :nillable: "true"
784
+ - :digits: "0"
785
+ :scale: "0"
786
+ :referenceTo: Contact
787
+ :label: Reports To ID
912
788
  :filterable: "true"
789
+ :length: "18"
913
790
  :autoNumber: "false"
791
+ :type: reference
914
792
  :nameField: "false"
915
- - :precision: "0"
793
+ :createable: "true"
794
+ :updateable: "true"
916
795
  :byteLength: "18"
917
796
  :restrictedPicklist: "false"
918
- :updateable: "true"
919
- :scale: "0"
797
+ :name: ReportsToId
798
+ :nillable: "true"
920
799
  :calculated: "false"
921
800
  :soapType: tns:ID
922
- :length: "18"
923
- :createable: "true"
924
- :type: reference
925
- :referenceTo: Contact
926
801
  :defaultedOnCreate: "false"
802
+ :precision: "0"
927
803
  :custom: "false"
928
- :label: Reports To ID
929
- :name: ReportsToId
930
- :digits: "0"
931
- :nillable: "true"
804
+ - :digits: "0"
805
+ :scale: "0"
806
+ :label: Email Address
932
807
  :filterable: "true"
808
+ :length: "80"
933
809
  :autoNumber: "false"
810
+ :type: email
934
811
  :nameField: "false"
935
- - :precision: "0"
812
+ :createable: "true"
813
+ :updateable: "true"
936
814
  :byteLength: "240"
937
815
  :restrictedPicklist: "false"
938
- :updateable: "true"
939
- :scale: "0"
816
+ :name: Email
817
+ :nillable: "true"
940
818
  :calculated: "false"
941
819
  :soapType: xsd:string
942
- :length: "80"
943
- :createable: "true"
944
- :type: email
945
820
  :defaultedOnCreate: "false"
821
+ :precision: "0"
946
822
  :custom: "false"
947
- :label: Email Address
948
- :name: Email
949
- :digits: "0"
950
- :nillable: "true"
823
+ - :digits: "0"
824
+ :scale: "0"
825
+ :label: Title
951
826
  :filterable: "true"
827
+ :length: "80"
952
828
  :autoNumber: "false"
829
+ :type: string
953
830
  :nameField: "false"
954
- - :precision: "0"
831
+ :createable: "true"
832
+ :updateable: "true"
955
833
  :byteLength: "240"
956
834
  :restrictedPicklist: "false"
957
- :updateable: "true"
958
- :scale: "0"
835
+ :name: Title
836
+ :nillable: "true"
959
837
  :calculated: "false"
960
838
  :soapType: xsd:string
961
- :length: "80"
962
- :createable: "true"
963
- :type: string
964
839
  :defaultedOnCreate: "false"
840
+ :precision: "0"
965
841
  :custom: "false"
966
- :label: Title
967
- :name: Title
968
- :digits: "0"
969
- :nillable: "true"
842
+ - :digits: "0"
843
+ :scale: "0"
844
+ :label: Department
970
845
  :filterable: "true"
846
+ :length: "80"
971
847
  :autoNumber: "false"
848
+ :type: string
972
849
  :nameField: "false"
973
- - :precision: "0"
850
+ :createable: "true"
851
+ :updateable: "true"
974
852
  :byteLength: "240"
975
853
  :restrictedPicklist: "false"
976
- :updateable: "true"
977
- :scale: "0"
854
+ :name: Department
855
+ :nillable: "true"
978
856
  :calculated: "false"
979
857
  :soapType: xsd:string
980
- :length: "80"
981
- :createable: "true"
982
- :type: string
983
858
  :defaultedOnCreate: "false"
859
+ :precision: "0"
984
860
  :custom: "false"
985
- :label: Department
986
- :name: Department
987
- :digits: "0"
988
- :nillable: "true"
861
+ - :digits: "0"
862
+ :scale: "0"
863
+ :label: Assistant's Name
989
864
  :filterable: "true"
865
+ :length: "40"
990
866
  :autoNumber: "false"
867
+ :type: string
991
868
  :nameField: "false"
992
- - :precision: "0"
869
+ :createable: "true"
870
+ :updateable: "true"
993
871
  :byteLength: "120"
994
872
  :restrictedPicklist: "false"
995
- :updateable: "true"
996
- :scale: "0"
873
+ :name: AssistantName
874
+ :nillable: "true"
997
875
  :calculated: "false"
998
876
  :soapType: xsd:string
999
- :length: "40"
1000
- :createable: "true"
1001
- :type: string
1002
877
  :defaultedOnCreate: "false"
878
+ :precision: "0"
1003
879
  :custom: "false"
1004
- :label: Assistant's Name
1005
- :name: AssistantName
1006
- :digits: "0"
1007
- :nillable: "true"
880
+ - :digits: "0"
881
+ :scale: "0"
882
+ :label: Lead Source
1008
883
  :filterable: "true"
884
+ :length: "40"
1009
885
  :autoNumber: "false"
886
+ :type: picklist
1010
887
  :nameField: "false"
1011
- - :precision: "0"
888
+ :createable: "true"
889
+ :updateable: "true"
1012
890
  :byteLength: "120"
1013
891
  :restrictedPicklist: "false"
1014
- :updateable: "true"
1015
- :scale: "0"
892
+ :name: LeadSource
893
+ :nillable: "true"
1016
894
  :calculated: "false"
1017
895
  :soapType: xsd:string
1018
- :length: "40"
1019
- :createable: "true"
1020
- :type: picklist
1021
896
  :defaultedOnCreate: "false"
1022
- :custom: "false"
897
+ :precision: "0"
1023
898
  :picklistValues:
1024
- - :value: Web
899
+ - :defaultValue: "false"
1025
900
  :label: Web
1026
- :defaultValue: "false"
901
+ :value: Web
1027
902
  :active: "true"
1028
- - :value: Phone Inquiry
903
+ - :defaultValue: "false"
1029
904
  :label: Phone Inquiry
1030
- :defaultValue: "false"
905
+ :value: Phone Inquiry
1031
906
  :active: "true"
1032
- - :value: Partner Referral
907
+ - :defaultValue: "false"
1033
908
  :label: Partner Referral
1034
- :defaultValue: "false"
909
+ :value: Partner Referral
1035
910
  :active: "true"
1036
- - :value: Partner Application
1037
- :label: Partner Application
1038
- :defaultValue: "false"
1039
- :active: "true"
1040
- - :value: Purchased List
911
+ - :defaultValue: "false"
1041
912
  :label: Purchased List
1042
- :defaultValue: "false"
913
+ :value: Purchased List
1043
914
  :active: "true"
1044
- - :value: Other
915
+ - :defaultValue: "false"
1045
916
  :label: Other
1046
- :defaultValue: "false"
1047
- :active: "true"
1048
- - :value: Test Campaign
1049
- :label: Test Campaign
1050
- :defaultValue: "false"
917
+ :value: Other
1051
918
  :active: "true"
1052
- :label: Lead Source
1053
- :name: LeadSource
1054
- :digits: "0"
1055
- :nillable: "true"
919
+ :custom: "false"
920
+ - :digits: "0"
921
+ :scale: "0"
922
+ :label: Birthdate
1056
923
  :filterable: "true"
924
+ :length: "0"
1057
925
  :autoNumber: "false"
926
+ :type: date
1058
927
  :nameField: "false"
1059
- - :precision: "0"
928
+ :createable: "true"
929
+ :updateable: "true"
1060
930
  :byteLength: "0"
1061
931
  :restrictedPicklist: "false"
1062
- :updateable: "true"
1063
- :scale: "0"
1064
- :calculated: "false"
1065
- :soapType: xsd:dateTime
1066
- :length: "0"
1067
- :createable: "true"
1068
- :type: date
1069
- :defaultedOnCreate: "false"
1070
- :custom: "false"
1071
- :label: Birthdate
1072
932
  :name: Birthdate
1073
- :digits: "0"
1074
933
  :nillable: "true"
1075
- :filterable: "true"
1076
- :autoNumber: "false"
1077
- :nameField: "false"
1078
- - :precision: "0"
1079
- :byteLength: "32000"
1080
- :restrictedPicklist: "false"
1081
- :updateable: "true"
1082
- :scale: "0"
1083
934
  :calculated: "false"
1084
- :soapType: xsd:string
1085
- :length: "32000"
1086
- :createable: "true"
1087
- :type: textarea
935
+ :soapType: xsd:dateTime
1088
936
  :defaultedOnCreate: "false"
937
+ :precision: "0"
1089
938
  :custom: "false"
939
+ - :digits: "0"
940
+ :scale: "0"
1090
941
  :label: Contact Description
1091
- :name: Description
1092
- :digits: "0"
1093
- :nillable: "true"
1094
942
  :filterable: "false"
943
+ :length: "32000"
1095
944
  :autoNumber: "false"
945
+ :type: textarea
1096
946
  :nameField: "false"
1097
- - :precision: "0"
1098
- :byteLength: "9"
1099
- :restrictedPicklist: "true"
947
+ :createable: "true"
1100
948
  :updateable: "true"
1101
- :scale: "0"
949
+ :byteLength: "32000"
950
+ :restrictedPicklist: "false"
951
+ :name: Description
952
+ :nillable: "true"
1102
953
  :calculated: "false"
1103
954
  :soapType: xsd:string
1104
- :length: "3"
1105
- :createable: "true"
1106
- :type: picklist
1107
- :defaultedOnCreate: "true"
955
+ :defaultedOnCreate: "false"
956
+ :precision: "0"
1108
957
  :custom: "false"
1109
- :picklistValues:
1110
- - :value: GBP
1111
- :label: British Pound
1112
- :defaultValue: "false"
1113
- :active: "true"
1114
- - :value: EUR
1115
- :label: Euro
1116
- :defaultValue: "false"
1117
- :active: "true"
1118
- - :value: JPY
1119
- :label: Japanese Yen
1120
- :defaultValue: "false"
1121
- :active: "true"
1122
- - :value: USD
1123
- :label: U.S. Dollar
1124
- :defaultValue: "true"
1125
- :active: "true"
1126
- :label: Contact Currency
1127
- :name: CurrencyIsoCode
1128
- :digits: "0"
1129
- :nillable: "true"
1130
- :filterable: "true"
1131
- :autoNumber: "false"
1132
- :nameField: "false"
1133
- - :precision: "0"
1134
- :byteLength: "18"
1135
- :restrictedPicklist: "false"
1136
- :updateable: "true"
958
+ - :digits: "0"
1137
959
  :scale: "0"
1138
- :calculated: "false"
1139
- :soapType: tns:ID
1140
- :length: "18"
1141
- :createable: "true"
1142
- :type: reference
1143
960
  :referenceTo: User
1144
- :defaultedOnCreate: "true"
1145
- :custom: "false"
1146
961
  :label: Owner ID
1147
- :name: OwnerId
1148
- :digits: "0"
1149
- :nillable: "false"
1150
962
  :filterable: "true"
963
+ :length: "18"
1151
964
  :autoNumber: "false"
965
+ :type: reference
1152
966
  :nameField: "false"
1153
- - :precision: "0"
1154
- :byteLength: "0"
1155
- :restrictedPicklist: "false"
967
+ :createable: "true"
1156
968
  :updateable: "true"
1157
- :scale: "0"
969
+ :byteLength: "18"
970
+ :restrictedPicklist: "false"
971
+ :name: OwnerId
972
+ :nillable: "false"
1158
973
  :calculated: "false"
1159
- :soapType: xsd:boolean
1160
- :length: "0"
1161
- :createable: "true"
1162
- :type: boolean
974
+ :soapType: tns:ID
1163
975
  :defaultedOnCreate: "true"
976
+ :precision: "0"
1164
977
  :custom: "false"
1165
- :label: Email Opt Out
1166
- :name: HasOptedOutOfEmail
1167
- :digits: "0"
1168
- :nillable: "false"
978
+ - :digits: "0"
979
+ :scale: "0"
980
+ :label: Created Date
1169
981
  :filterable: "true"
982
+ :length: "0"
1170
983
  :autoNumber: "false"
984
+ :type: datetime
1171
985
  :nameField: "false"
1172
- - :precision: "0"
986
+ :createable: "false"
987
+ :updateable: "false"
1173
988
  :byteLength: "0"
1174
989
  :restrictedPicklist: "false"
1175
- :updateable: "false"
1176
- :scale: "0"
990
+ :name: CreatedDate
991
+ :nillable: "false"
1177
992
  :calculated: "false"
1178
993
  :soapType: xsd:dateTime
1179
- :length: "0"
1180
- :createable: "false"
1181
- :type: datetime
1182
994
  :defaultedOnCreate: "true"
995
+ :precision: "0"
1183
996
  :custom: "false"
1184
- :label: Created Date
1185
- :name: CreatedDate
1186
- :digits: "0"
1187
- :nillable: "false"
1188
- :filterable: "true"
1189
- :autoNumber: "false"
1190
- :nameField: "false"
1191
- - :precision: "0"
1192
- :byteLength: "18"
1193
- :restrictedPicklist: "false"
1194
- :updateable: "false"
997
+ - :digits: "0"
1195
998
  :scale: "0"
1196
- :calculated: "false"
1197
- :soapType: tns:ID
1198
- :length: "18"
1199
- :createable: "false"
1200
- :type: reference
1201
999
  :referenceTo: User
1202
- :defaultedOnCreate: "true"
1203
- :custom: "false"
1204
1000
  :label: Created By ID
1205
- :name: CreatedById
1206
- :digits: "0"
1207
- :nillable: "false"
1208
1001
  :filterable: "true"
1002
+ :length: "18"
1209
1003
  :autoNumber: "false"
1004
+ :type: reference
1210
1005
  :nameField: "false"
1211
- - :precision: "0"
1212
- :byteLength: "0"
1213
- :restrictedPicklist: "false"
1006
+ :createable: "false"
1214
1007
  :updateable: "false"
1215
- :scale: "0"
1008
+ :byteLength: "18"
1009
+ :restrictedPicklist: "false"
1010
+ :name: CreatedById
1011
+ :nillable: "false"
1216
1012
  :calculated: "false"
1217
- :soapType: xsd:dateTime
1218
- :length: "0"
1219
- :createable: "false"
1220
- :type: datetime
1013
+ :soapType: tns:ID
1221
1014
  :defaultedOnCreate: "true"
1015
+ :precision: "0"
1222
1016
  :custom: "false"
1017
+ - :digits: "0"
1018
+ :scale: "0"
1223
1019
  :label: Last Modified Date
1224
- :name: LastModifiedDate
1225
- :digits: "0"
1226
- :nillable: "false"
1227
1020
  :filterable: "true"
1021
+ :length: "0"
1228
1022
  :autoNumber: "false"
1023
+ :type: datetime
1229
1024
  :nameField: "false"
1230
- - :precision: "0"
1231
- :byteLength: "18"
1232
- :restrictedPicklist: "false"
1233
- :updateable: "false"
1234
- :scale: "0"
1235
- :calculated: "false"
1236
- :soapType: tns:ID
1237
- :length: "18"
1238
1025
  :createable: "false"
1239
- :type: reference
1240
- :referenceTo: User
1026
+ :updateable: "false"
1027
+ :byteLength: "0"
1028
+ :restrictedPicklist: "false"
1029
+ :name: LastModifiedDate
1030
+ :nillable: "false"
1031
+ :calculated: "false"
1032
+ :soapType: xsd:dateTime
1241
1033
  :defaultedOnCreate: "true"
1034
+ :precision: "0"
1242
1035
  :custom: "false"
1036
+ - :digits: "0"
1037
+ :scale: "0"
1038
+ :referenceTo: User
1243
1039
  :label: Last Modified By ID
1244
- :name: LastModifiedById
1245
- :digits: "0"
1246
- :nillable: "false"
1247
1040
  :filterable: "true"
1041
+ :length: "18"
1248
1042
  :autoNumber: "false"
1043
+ :type: reference
1249
1044
  :nameField: "false"
1250
- - :precision: "0"
1251
- :byteLength: "0"
1252
- :restrictedPicklist: "false"
1045
+ :createable: "false"
1253
1046
  :updateable: "false"
1254
- :scale: "0"
1047
+ :byteLength: "18"
1048
+ :restrictedPicklist: "false"
1049
+ :name: LastModifiedById
1050
+ :nillable: "false"
1255
1051
  :calculated: "false"
1256
- :soapType: xsd:dateTime
1257
- :length: "0"
1258
- :createable: "false"
1259
- :type: datetime
1052
+ :soapType: tns:ID
1260
1053
  :defaultedOnCreate: "true"
1054
+ :precision: "0"
1261
1055
  :custom: "false"
1056
+ - :digits: "0"
1057
+ :scale: "0"
1262
1058
  :label: System Modstamp
1263
- :name: SystemModstamp
1264
- :digits: "0"
1265
- :nillable: "false"
1266
1059
  :filterable: "true"
1060
+ :length: "0"
1267
1061
  :autoNumber: "false"
1062
+ :type: datetime
1268
1063
  :nameField: "false"
1269
- - :precision: "0"
1064
+ :createable: "false"
1065
+ :updateable: "false"
1270
1066
  :byteLength: "0"
1271
1067
  :restrictedPicklist: "false"
1272
- :updateable: "false"
1273
- :scale: "0"
1068
+ :name: SystemModstamp
1069
+ :nillable: "false"
1274
1070
  :calculated: "false"
1275
1071
  :soapType: xsd:dateTime
1276
- :length: "0"
1277
- :createable: "false"
1278
- :type: datetime
1279
- :defaultedOnCreate: "false"
1072
+ :defaultedOnCreate: "true"
1073
+ :precision: "0"
1280
1074
  :custom: "false"
1075
+ - :digits: "0"
1076
+ :scale: "0"
1281
1077
  :label: Last Stay-in-Touch Request Date
1282
- :name: LastCURequestDate
1283
- :digits: "0"
1284
- :nillable: "true"
1285
1078
  :filterable: "true"
1079
+ :length: "0"
1286
1080
  :autoNumber: "false"
1081
+ :type: datetime
1287
1082
  :nameField: "false"
1288
- - :precision: "0"
1083
+ :createable: "false"
1084
+ :updateable: "false"
1289
1085
  :byteLength: "0"
1290
1086
  :restrictedPicklist: "false"
1291
- :updateable: "false"
1292
- :scale: "0"
1087
+ :name: LastCURequestDate
1088
+ :nillable: "true"
1293
1089
  :calculated: "false"
1294
1090
  :soapType: xsd:dateTime
1295
- :length: "0"
1296
- :createable: "false"
1297
- :type: datetime
1298
1091
  :defaultedOnCreate: "false"
1092
+ :precision: "0"
1299
1093
  :custom: "false"
1094
+ - :digits: "0"
1095
+ :scale: "0"
1300
1096
  :label: Last Stay-in-Touch Save Date
1301
- :name: LastCUUpdateDate
1302
- :digits: "0"
1303
- :nillable: "true"
1304
1097
  :filterable: "true"
1098
+ :length: "0"
1305
1099
  :autoNumber: "false"
1100
+ :type: datetime
1306
1101
  :nameField: "false"
1307
- - :precision: "0"
1102
+ :createable: "false"
1103
+ :updateable: "false"
1308
1104
  :byteLength: "0"
1309
1105
  :restrictedPicklist: "false"
1310
- :updateable: "true"
1311
- :scale: "0"
1106
+ :name: LastCUUpdateDate
1107
+ :nillable: "true"
1312
1108
  :calculated: "false"
1313
- :soapType: xsd:boolean
1314
- :length: "0"
1315
- :createable: "true"
1316
- :type: boolean
1317
- :defaultedOnCreate: "true"
1109
+ :soapType: xsd:dateTime
1110
+ :defaultedOnCreate: "false"
1111
+ :precision: "0"
1318
1112
  :custom: "false"
1319
- :label: Do Not Call
1320
- :name: DoNotCall
1321
- :digits: "0"
1322
- :nillable: "false"
1113
+ - :digits: "0"
1114
+ :scale: "0"
1115
+ :label: Level
1323
1116
  :filterable: "true"
1117
+ :length: "255"
1324
1118
  :autoNumber: "false"
1119
+ :type: picklist
1325
1120
  :nameField: "false"
1326
- - :precision: "0"
1327
- :byteLength: "4099"
1328
- :restrictedPicklist: "false"
1121
+ :createable: "true"
1329
1122
  :updateable: "true"
1330
- :scale: "0"
1123
+ :byteLength: "765"
1124
+ :restrictedPicklist: "false"
1125
+ :name: Level__c
1126
+ :nillable: "true"
1331
1127
  :calculated: "false"
1332
1128
  :soapType: xsd:string
1333
- :length: "4099"
1334
- :createable: "true"
1335
- :type: multipicklist
1336
1129
  :defaultedOnCreate: "false"
1337
- :custom: "true"
1130
+ :precision: "0"
1338
1131
  :picklistValues:
1339
- - :value: Market Positioning
1340
- :label: Market Positioning
1341
- :defaultValue: "false"
1342
- :active: "true"
1343
- - :value: Order Processing
1344
- :label: Order Processing
1345
- :defaultValue: "false"
1132
+ - :defaultValue: "false"
1133
+ :label: Primary
1134
+ :value: Primary
1346
1135
  :active: "true"
1347
- - :value: Product Details
1348
- :label: Product Details
1349
- :defaultValue: "false"
1136
+ - :defaultValue: "false"
1137
+ :label: Tertiary
1138
+ :value: Tertiary
1350
1139
  :active: "true"
1351
- :label: Training Completed
1352
- :name: Training_Completed__c
1353
- :digits: "0"
1354
- :nillable: "true"
1140
+ :custom: "true"
1141
+ - :digits: "0"
1142
+ :scale: "0"
1143
+ :label: Languages
1355
1144
  :filterable: "true"
1145
+ :length: "100"
1356
1146
  :autoNumber: "false"
1147
+ :type: string
1357
1148
  :nameField: "false"
1358
- - :precision: "0"
1149
+ :createable: "true"
1150
+ :updateable: "true"
1359
1151
  :byteLength: "300"
1360
1152
  :restrictedPicklist: "false"
1361
- :updateable: "true"
1362
- :scale: "0"
1153
+ :name: Languages__c
1154
+ :nillable: "true"
1363
1155
  :calculated: "false"
1364
1156
  :soapType: xsd:string
1365
- :length: "100"
1366
- :createable: "true"
1367
- :type: string
1368
1157
  :defaultedOnCreate: "false"
1158
+ :precision: "0"
1369
1159
  :custom: "true"
1370
- :label: Languages
1371
- :name: Languages__c
1372
- :digits: "0"
1373
- :nillable: "true"
1160
+ - :digits: "0"
1161
+ :scale: "0"
1162
+ :referenceTo: User
1163
+ :label: CustomUserRel
1374
1164
  :filterable: "true"
1165
+ :length: "18"
1375
1166
  :autoNumber: "false"
1167
+ :type: reference
1376
1168
  :nameField: "false"
1377
- - :precision: "0"
1378
- :byteLength: "765"
1379
- :restrictedPicklist: "false"
1169
+ :createable: "true"
1380
1170
  :updateable: "true"
1381
- :scale: "0"
1171
+ :byteLength: "18"
1172
+ :restrictedPicklist: "false"
1173
+ :name: CustomUserRel__c
1174
+ :nillable: "true"
1382
1175
  :calculated: "false"
1383
- :soapType: xsd:string
1384
- :length: "255"
1385
- :createable: "true"
1386
- :type: picklist
1176
+ :soapType: tns:ID
1387
1177
  :defaultedOnCreate: "false"
1178
+ :precision: "0"
1388
1179
  :custom: "true"
1389
- :picklistValues:
1390
- - :value: Primary
1391
- :label: Primary
1392
- :defaultValue: "false"
1393
- :active: "true"
1394
- - :value: Tertiary
1395
- :label: Tertiary
1396
- :defaultValue: "false"
1397
- :active: "true"
1398
- :label: Level
1399
- :name: Level__c
1400
- :digits: "0"
1401
- :nillable: "true"
1180
+ - :digits: "0"
1181
+ :scale: "2"
1182
+ :label: f2
1402
1183
  :filterable: "true"
1184
+ :length: "0"
1403
1185
  :autoNumber: "false"
1186
+ :type: double
1404
1187
  :nameField: "false"
1405
- - :precision: "0"
1406
- :byteLength: "3900"
1407
- :restrictedPicklist: "false"
1188
+ :createable: "false"
1408
1189
  :updateable: "false"
1409
- :scale: "0"
1190
+ :byteLength: "0"
1191
+ :restrictedPicklist: "false"
1192
+ :name: f2__c
1193
+ :nillable: "true"
1410
1194
  :calculated: "true"
1411
- :soapType: xsd:string
1412
- :length: "1300"
1413
- :createable: "false"
1414
- :type: string
1195
+ :soapType: xsd:double
1415
1196
  :defaultedOnCreate: "false"
1197
+ :precision: "18"
1416
1198
  :custom: "true"
1417
- :label: Call contact using Skype
1418
- :name: Call_contact_using_Skype__c
1419
- :digits: "0"
1420
- :nillable: "true"
1199
+ - :digits: "0"
1200
+ :scale: "2"
1201
+ :label: f1
1421
1202
  :filterable: "true"
1422
- :htmlFormatted: "true"
1203
+ :length: "0"
1423
1204
  :autoNumber: "false"
1205
+ :type: double
1424
1206
  :nameField: "false"
1425
- - :precision: "0"
1207
+ :createable: "false"
1208
+ :updateable: "false"
1426
1209
  :byteLength: "0"
1427
1210
  :restrictedPicklist: "false"
1428
- :updateable: "true"
1429
- :scale: "0"
1430
- :calculated: "false"
1431
- :soapType: xsd:boolean
1432
- :length: "0"
1433
- :createable: "true"
1434
- :type: boolean
1435
- :defaultedOnCreate: "true"
1211
+ :name: f1__c
1212
+ :nillable: "true"
1213
+ :calculated: "true"
1214
+ :soapType: xsd:double
1215
+ :defaultedOnCreate: "false"
1216
+ :precision: "18"
1436
1217
  :custom: "true"
1437
- :label: Call_today
1438
- :name: Call_today__c
1439
- :digits: "0"
1440
- :nillable: "false"
1441
- :filterable: "true"
1442
- :autoNumber: "false"
1443
- :nameField: "false"
1444
- create(sObjects:type { :xmlns => "urn:sobject.partner.soap.sforce.com" }:Note:Body:My Body 2:Title:My Title 2:ParentId:0033000000GNoW3AAL): !ruby/object:RForce::SoapResponse
1218
+ :childRelationships:
1219
+ - :childSObject: AccountContactRole
1220
+ :relationshipName: AccountContactRoles
1221
+ :cascadeDelete: "true"
1222
+ :field: ContactId
1223
+ - :childSObject: Asset
1224
+ :relationshipName: Assets
1225
+ :cascadeDelete: "false"
1226
+ :field: ContactId
1227
+ - :childSObject: Attachment
1228
+ :relationshipName: Attachments
1229
+ :cascadeDelete: "false"
1230
+ :field: ParentId
1231
+ - :childSObject: CampaignMember
1232
+ :relationshipName: CampaignMembers
1233
+ :cascadeDelete: "true"
1234
+ :field: ContactId
1235
+ - :childSObject: Case
1236
+ :relationshipName: Cases
1237
+ :cascadeDelete: "false"
1238
+ :field: ContactId
1239
+ - :childSObject: Contact
1240
+ :cascadeDelete: "false"
1241
+ :field: ReportsToId
1242
+ - :childSObject: Contract
1243
+ :cascadeDelete: "false"
1244
+ :field: CustomerSignedId
1245
+ - :childSObject: ContractContactRole
1246
+ :relationshipName: ContractContactRoles
1247
+ :cascadeDelete: "true"
1248
+ :field: ContactId
1249
+ - :childSObject: Event
1250
+ :relationshipName: Events
1251
+ :cascadeDelete: "true"
1252
+ :field: WhoId
1253
+ - :childSObject: EventAttendee
1254
+ :cascadeDelete: "true"
1255
+ :field: AttendeeId
1256
+ - :childSObject: Lead
1257
+ :cascadeDelete: "false"
1258
+ :field: ConvertedContactId
1259
+ - :childSObject: Note
1260
+ :relationshipName: Notes
1261
+ :cascadeDelete: "true"
1262
+ :field: ParentId
1263
+ - :childSObject: OpportunityContactRole
1264
+ :relationshipName: OpportunityContactRoles
1265
+ :cascadeDelete: "true"
1266
+ :field: ContactId
1267
+ - :childSObject: SelfServiceUser
1268
+ :cascadeDelete: "false"
1269
+ :field: ContactId
1270
+ - :childSObject: Task
1271
+ :relationshipName: Tasks
1272
+ :cascadeDelete: "true"
1273
+ :field: WhoId
1274
+ :urlNew: https://na1.salesforce.com/003/e
1275
+ :deletable: "true"
1276
+ :retrieveable: "true"
1277
+ :label: Contact
1278
+ :keyPrefix: "003"
1279
+ :searchable: "true"
1280
+ :createable: "true"
1281
+ :updateable: "true"
1282
+ :labelPlural: Contacts
1283
+ :undeletable: "false"
1284
+ :name: Contact
1285
+ :layoutable: "true"
1286
+ :urlDetail: https://na1.salesforce.com/{ID}
1287
+ :queryable: "true"
1288
+ :urlEdit: https://na1.salesforce.com/{ID}/e
1289
+ :custom: "false"
1290
+ :activateable: "false"
1291
+ delete(ids:0033000000GYsDuAAL): !ruby/object:RForce::SoapResponse
1445
1292
  parsed:
1446
- :createResponse:
1293
+ :deleteResponse:
1447
1294
  :result:
1448
- :success: "true"
1449
1295
  :errors:
1450
- :id: 00230000008WDp5AAG
1451
- create(sObjects:type { :xmlns => "urn:sobject.partner.soap.sforce.com" }:Note:Body:My Body:Title:My Title:ParentId:0033000000GNoW3AAL): !ruby/object:RForce::SoapResponse
1296
+ :success: "true"
1297
+ :id: 0033000000GYsDuAAL
1298
+ update(sObjects:type { :xmlns => "urn:sobject.partner.soap.sforce.com" }:Note:Id { :xmlns => "urn:sobject.partner.soap.sforce.com" }:00230000008TJB9AAO:Body:My Body 2:Title:My Title 2): !ruby/object:RForce::SoapResponse
1452
1299
  parsed:
1453
- :createResponse:
1300
+ :updateResponse:
1454
1301
  :result:
1455
- :success: "true"
1456
1302
  :errors:
1457
- :id: 00230000008WDp0AAG
1303
+ :success: "true"
1304
+ :id: 00230000008TJB9AAO
1305
+ query(queryString:SELECT Id, ParentId, Title, IsPrivate, Body, OwnerId, CreatedDate, CreatedById, LastModifiedDate, LastModifiedById, SystemModstamp FROM Note WHERE (ParentId = '0033000000GYsDuAAL') ): !ruby/object:RForce::SoapResponse
1306
+ parsed:
1307
+ :queryResponse:
1308
+ :result:
1309
+ :done: "true"
1310
+ :size: "0"
1311
+ :queryLocator:
1312
+ login(username::password:): !ruby/object:RForce::SoapResponse
1313
+ parsed:
1314
+ :loginResponse:
1315
+ :result:
1316
+ :userId: 00530000000hYFzAAM
1317
+ :userInfo:
1318
+ :userLocale: en_US
1319
+ :userId: 00530000000hYFzAAM
1320
+ :organizationName: dutchforce.com
1321
+ :userTimeZone: America/Los_Angeles
1322
+ :userDefaultCurrencyIsoCode:
1323
+ :userUiSkin: Theme2
1324
+ :accessibilityMode: "false"
1325
+ :userEmail: dchasman@salesforce.com
1326
+ :currencySymbol: $
1327
+ :userFullName: Doug Chasmanii
1328
+ :organizationId: 00D3000000010YJEAY
1329
+ :userLanguage: en_US
1330
+ :organizationMultiCurrency: "false"
1331
+ :sessionId: xUNbyH9Rs48qOJGw.n0EqQlvHFS5AeI7XYc9iGVWDv4Z4Yv5DlXtCHIv0PDRZolJlvUZL4Pa6jmoqd0ZwBrV42pYnKO9AsNCSeX5jsUoLXQ=
1332
+ :serverUrl: https://na1-api.salesforce.com/services/Soap/u/7.0
1333
+ :passwordExpired: "false"