restforce-db 2.5.0 → 2.6.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (19) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +16 -0
  3. data/lib/restforce/db/associator.rb +21 -9
  4. data/lib/restforce/db/initializer.rb +4 -4
  5. data/lib/restforce/db/model.rb +52 -0
  6. data/lib/restforce/db/synchronizer.rb +12 -12
  7. data/lib/restforce/db/timestamp_cache.rb +1 -1
  8. data/lib/restforce/db/version.rb +1 -1
  9. data/lib/restforce/db/worker.rb +21 -22
  10. data/test/cassettes/Restforce_DB_Associator/_run/given_a_BelongsTo_association/given_another_record_for_association/when_the_Salesforce_association_is_out_of_date/updates_the_association_ID_in_Salesforce.yml +188 -112
  11. data/test/cassettes/Restforce_DB_Associator/_run/given_a_BelongsTo_association/given_another_record_for_association/when_the_database_association_is_out_of_date/updates_the_associated_record_in_the_database.yml +175 -99
  12. data/test/cassettes/Restforce_DB_Model/given_a_database_model_which_includes_the_module/_force_sync_/given_a_previously-synchronized_record_for_a_mapped_model/force-updates_both_synchronized_records.yml +288 -0
  13. data/test/cassettes/Restforce_DB_Model/given_a_database_model_which_includes_the_module/_force_sync_/given_an_unsynchronized_record_for_a_mapped_model/creates_a_matching_record_in_Salesforce.yml +251 -0
  14. data/test/cassettes/Restforce_DB_Worker/a_race_condition_during_synchronization/does_not_change_the_user-entered_name_on_the_database_record.yml +512 -0
  15. data/test/cassettes/Restforce_DB_Worker/a_race_condition_during_synchronization/overrides_the_stale-but-more-recent_name_on_the_Salesforce.yml +551 -0
  16. data/test/lib/restforce/db/model_test.rb +86 -14
  17. data/test/lib/restforce/db/timestamp_cache_test.rb +5 -4
  18. data/test/lib/restforce/db/worker_test.rb +63 -0
  19. metadata +7 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 776100229186286c8c26c55b04ecd47ede80603c
4
- data.tar.gz: 9e4478c44aff6fd877c35506212cc67db1901d50
3
+ metadata.gz: 32070b017ebc49e12627f8c133e3f43a57e169f7
4
+ data.tar.gz: 8c7acd0b14bd4c4163b642eebafc5a366f67d2a5
5
5
  SHA512:
6
- metadata.gz: e7a6f574ba1b60141c3764c48cebb481fe62abe1050168b2e29a01bed4bc271c62c3fede9f86f807a19a2b89780d887338eda0c98d2e2062ec0541648cc70d5a
7
- data.tar.gz: 1ae95cb2a150d27f49eccb35f843177e84dd91ef2f8672e602adbb99894e05139ca51406a96357310dfc0573b9ed52bc3fb94ddd213029438e7dd8379cf1eb2f
6
+ metadata.gz: 0999d0e8dd788636befc0110aa2545da6eead4715a5c002393ab31f566906335a19547fa568f008d41d44a754a9b851461c682e8812cf1b430c604717a1ef9c9
7
+ data.tar.gz: f26d6f55ecdf463f96467f1e137d028e3eabe3a7e13fcded11fa5c566199e17e74f58d215e0d5eab74385093565f9381140fc6c24ea46859d4c3d087bbbb7124
data/README.md CHANGED
@@ -266,6 +266,20 @@ end
266
266
 
267
267
  The example above would disable the default ActiveRecord logging specifically for activity triggered by the Restforce::DB daemon.
268
268
 
269
+ ### Force-synchronizing records in your application code
270
+
271
+ If you desire to force-synchronize records from within your code (for example, if you need to ensure that changes to certain records are acknowledged synchronously), `Restforce::DB::Model` exposes a `#force_sync!` method to do so.
272
+
273
+ ```ruby
274
+ restaurant = Restaurant.create!(
275
+ name: "Chez Baloo-ey",
276
+ style: "Molecular Gastronomy",
277
+ )
278
+ restaurant.force_sync!
279
+ ```
280
+
281
+ You'll need to ensure that Restforce::DB is properly configured for your application (an initializer is recommended).
282
+
269
283
  ## System Caveats
270
284
 
271
285
  - **API Usage.**
@@ -274,6 +288,8 @@ The example above would disable the default ActiveRecord logging specifically fo
274
288
  - **Update Prioritization.**
275
289
  When synchronization occurs, the most recently updated record, Salesforce or database, gets to make the final call about the values of _all_ of the fields it observes. This means that race conditions can and probably will happen if both systems are updated within the same polling interval.
276
290
 
291
+ Restforce::DB attempts to mitigate this effect by tracking change timestamps for internal updates.
292
+
277
293
  ## Development
278
294
 
279
295
  After checking out the repo, run `bin/setup` to install dependencies. Then, run `bin/console` for an interactive prompt that will allow you to experiment.
@@ -34,26 +34,38 @@ module Restforce
34
34
  private
35
35
 
36
36
  # Internal: Ensure integrity between the lookup columns in Salesforce and
37
- # the synchronized records in the database.
37
+ # the synchronized records in the database. Skips records which have only
38
+ # been updated by Restforce::DB itself.
38
39
  #
39
40
  # instance - A Restforce::DB::Instances::Base.
40
41
  #
41
42
  # Returns nothing.
42
43
  def verify_associations(instance)
43
44
  return unless instance.synced?
45
+ return if instance.updated_internally?
44
46
 
45
- database_instance, salesforce_instance =
46
- case instance
47
- when Restforce::DB::Instances::Salesforce
48
- [@mapping.database_record_type.find(instance.id), instance]
49
- when Restforce::DB::Instances::ActiveRecord
50
- [instance, @mapping.salesforce_record_type.find(instance.id)]
51
- end
52
-
47
+ database_instance, salesforce_instance = synchronized_instances(instance)
53
48
  return unless database_instance && salesforce_instance
49
+
54
50
  sync_associations(database_instance, salesforce_instance)
55
51
  end
56
52
 
53
+ # Internal: Given an instance for one system, find its synchronized pair
54
+ # in the other system.
55
+ #
56
+ # instance - A Restforce::DB::Instances::Base.
57
+ #
58
+ # Returns an Array containing one Restforce::DB::Instances::ActiveRecord
59
+ # and one Restforce::DB::Instances::Salesforce, in that order.
60
+ def synchronized_instances(instance)
61
+ case instance
62
+ when Restforce::DB::Instances::Salesforce
63
+ [@mapping.database_record_type.find(instance.id), instance]
64
+ when Restforce::DB::Instances::ActiveRecord
65
+ [instance, @mapping.salesforce_record_type.find(instance.id)]
66
+ end
67
+ end
68
+
57
69
  # Internal: Given a database record and corresponding Salesforce data,
58
70
  # synchronize the record associations in whichever system has the least
59
71
  # recent data.
@@ -41,8 +41,8 @@ module Restforce
41
41
  # Returns nothing.
42
42
  def create_in_database(instance)
43
43
  return unless @strategy.build?(instance)
44
- @mapping.database_record_type.create!(instance)
45
- @runner.cache_timestamp instance
44
+ created = @mapping.database_record_type.create!(instance)
45
+ @runner.cache_timestamp created
46
46
  rescue ActiveRecord::ActiveRecordError => e
47
47
  DB.logger.error(SynchronizationError.new(e, instance))
48
48
  end
@@ -56,8 +56,8 @@ module Restforce
56
56
  # Returns nothing.
57
57
  def create_in_salesforce(instance)
58
58
  return if instance.synced?
59
- @mapping.salesforce_record_type.create!(instance)
60
- @runner.cache_timestamp instance
59
+ created = @mapping.salesforce_record_type.create!(instance)
60
+ @runner.cache_timestamp created
61
61
  rescue Faraday::Error::ClientError => e
62
62
  DB.logger.error(SynchronizationError.new(e, instance))
63
63
  end
@@ -31,6 +31,58 @@ module Restforce
31
31
 
32
32
  end
33
33
 
34
+ # Public: Force a synchronization to run for this specific record. If the
35
+ # record has not yet been pushed up to Salesforce, create it. In the event
36
+ # that the record has already been synchronized, force the data to be re-
37
+ # synchronized.
38
+ #
39
+ # NOTE: To ensure that we aren't attempting to synchronize data which has
40
+ # not actually been committed to the database, this method no-ops for
41
+ # unpersisted records, and discards all local changes to the record prior
42
+ # to syncing.
43
+ #
44
+ # Returns a Boolean.
45
+ def force_sync!
46
+ return false unless persisted?
47
+ reload
48
+
49
+ sync_instances.each do |instance|
50
+ salesforce_record_type = instance.mapping.salesforce_record_type
51
+
52
+ if instance.synced?
53
+ salesforce_instance = salesforce_record_type.find(instance.id)
54
+
55
+ accumulator = Restforce::DB::Accumulator.new
56
+ accumulator.store(instance.last_update, instance.attributes)
57
+ accumulator.store(salesforce_instance.last_update, salesforce_instance.attributes)
58
+
59
+ synchronizer = Restforce::DB::Synchronizer.new(instance.mapping)
60
+ synchronizer.update(instance, accumulator)
61
+ synchronizer.update(salesforce_instance, accumulator)
62
+ else
63
+ salesforce_record_type.create!(instance)
64
+ end
65
+ end
66
+
67
+ true
68
+ end
69
+
70
+ private
71
+
72
+ # Internal: Get a collection of instances for each mapping set up on this
73
+ # record's model, for use in custom synchronization code.
74
+ #
75
+ # Returns an Array of Restforce::DB::Instances::ActiveRecord objects.
76
+ def sync_instances
77
+ Restforce::DB::Registry[self.class].map do |mapping|
78
+ Restforce::DB::Instances::ActiveRecord.new(
79
+ mapping.database_model,
80
+ self,
81
+ mapping,
82
+ )
83
+ end
84
+ end
85
+
34
86
  end
35
87
 
36
88
  end
@@ -43,18 +43,7 @@ module Restforce
43
43
  end
44
44
  end
45
45
 
46
- private
47
-
48
- # Internal: Is the passed instance up-to-date with the passed accumulator?
49
- # Defaults to true if the most recent change to the instance was by the
50
- # Restforce::DB worker.
51
- #
52
- # Returns a Boolean.
53
- def up_to_date?(instance, accumulator)
54
- instance.updated_internally? || accumulator.up_to_date_for?(instance.last_update)
55
- end
56
-
57
- # Internal: Update the passed instance with the accumulated attributes
46
+ # Public: Update the passed instance with the accumulated attributes
58
47
  # from a synchronization run.
59
48
  #
60
49
  # instance - An instance of Restforce::DB::Instances::Base.
@@ -73,6 +62,17 @@ module Restforce
73
62
  DB.logger.error(SynchronizationError.new(e, instance))
74
63
  end
75
64
 
65
+ private
66
+
67
+ # Internal: Is the passed instance up-to-date with the passed accumulator?
68
+ # Defaults to true if the most recent change to the instance was by the
69
+ # Restforce::DB worker.
70
+ #
71
+ # Returns a Boolean.
72
+ def up_to_date?(instance, accumulator)
73
+ instance.updated_internally? || accumulator.up_to_date_for?(instance.last_update)
74
+ end
75
+
76
76
  end
77
77
 
78
78
  end
@@ -79,7 +79,7 @@ module Restforce
79
79
  #
80
80
  # Returns an Object.
81
81
  def key_for(instance)
82
- [instance.class, instance.id]
82
+ [instance.record_type, instance.id]
83
83
  end
84
84
 
85
85
  end
@@ -3,7 +3,7 @@ module Restforce
3
3
  # :nodoc:
4
4
  module DB
5
5
 
6
- VERSION = "2.5.0"
6
+ VERSION = "2.6.0"
7
7
 
8
8
  end
9
9
 
@@ -20,15 +20,12 @@ module Restforce
20
20
  # options - A Hash of options to configure the worker's run. Currently
21
21
  # supported options are:
22
22
  # interval - The maximum polling loop rest time.
23
+ # delay - The amount of time by which to offset queries.
23
24
  # config - The path to a client configuration file.
24
25
  # verbose - Display command line output? Defaults to false.
25
26
  def initialize(options = {})
26
- @verbose = options.fetch(:verbose) { false }
27
- @interval = options.fetch(:interval) { DEFAULT_INTERVAL }
28
- @delay = options.fetch(:delay) { DEFAULT_DELAY }
29
-
30
- DB.reset
31
- DB.configure { |config| config.parse(options[:config]) }
27
+ @options = options
28
+ @interval = @options.fetch(:interval) { DEFAULT_INTERVAL }
32
29
  end
33
30
 
34
31
  # Public: Start the polling loop for this Worker. Synchronizes all
@@ -37,9 +34,13 @@ module Restforce
37
34
  #
38
35
  # Returns nothing.
39
36
  def start
40
- DB.configure { |config| config.logger = logger }
37
+ DB.reset
38
+ DB.configure do |config|
39
+ config.parse(@options[:config])
40
+ config.logger = logger
41
+ end
41
42
 
42
- trap_signals
43
+ %w(TERM INT).each { |signal| trap(signal) { stop } }
43
44
 
44
45
  loop do
45
46
  runtime = Benchmark.realtime { perform }
@@ -60,16 +61,6 @@ module Restforce
60
61
 
61
62
  private
62
63
 
63
- # Internal: Configure the main loop to trap specific signals, triggering
64
- # an exit once the loop completes.
65
- #
66
- # Return nothing.
67
- def trap_signals
68
- %w(TERM INT).each do |signal|
69
- trap(signal) { stop }
70
- end
71
- end
72
-
73
64
  # Internal: Perform the synchronization loop, recording the time that the
74
65
  # run is performed so that future runs can pick up where the last run
75
66
  # left off.
@@ -77,8 +68,7 @@ module Restforce
77
68
  # Returns nothing.
78
69
  def perform
79
70
  track do
80
- runner.tick!
81
- @changes = Hash.new { |h, k| h[k] = Accumulator.new }
71
+ reset!
82
72
 
83
73
  Restforce::DB::Registry.each do |mapping|
84
74
  task("CLEANING RECORDS", mapping) { clean mapping }
@@ -95,6 +85,15 @@ module Restforce
95
85
  end
96
86
  end
97
87
 
88
+ # Internal: Reset the internal state of the Worker in preparation for
89
+ # a new synchronization loop.
90
+ #
91
+ # Returns nothing.
92
+ def reset!
93
+ runner.tick!
94
+ @changes = Hash.new { |h, k| h[k] = Accumulator.new }
95
+ end
96
+
98
97
  # Internal: Run the passed block, updating the tracker with the time at
99
98
  # which the run was initiated.
100
99
  #
@@ -124,7 +123,7 @@ module Restforce
124
123
  #
125
124
  # Returns a Restforce::DB::Runner.
126
125
  def runner
127
- @runner ||= Runner.new(@delay)
126
+ @runner ||= Runner.new(@options.fetch(:delay) { DEFAULT_DELAY })
128
127
  end
129
128
 
130
129
  # Internal: Propagate unsynchronized records between the two systems for
@@ -209,7 +208,7 @@ module Restforce
209
208
  #
210
209
  # Returns nothing.
211
210
  def log(text, level = :info)
212
- puts text if @verbose
211
+ puts text if @options[:verbose]
213
212
 
214
213
  return unless logger
215
214
  logger.send(level, text)
@@ -21,10 +21,10 @@ http_interactions:
21
21
  message: OK
22
22
  headers:
23
23
  Date:
24
- - Mon, 08 Jun 2015 22:13:07 GMT
24
+ - Thu, 18 Jun 2015 19:50:49 GMT
25
25
  Set-Cookie:
26
- - BrowserId=HTTFWFu3QNqv9izGIEXZOQ;Path=/;Domain=.salesforce.com;Expires=Fri,
27
- 07-Aug-2015 22:13:07 GMT
26
+ - BrowserId=kK6KNQ0qRzKqGvOobgiXQA;Path=/;Domain=.salesforce.com;Expires=Mon,
27
+ 17-Aug-2015 19:50:49 GMT
28
28
  Expires:
29
29
  - Thu, 01 Jan 1970 00:00:00 GMT
30
30
  Pragma:
@@ -37,9 +37,9 @@ http_interactions:
37
37
  - chunked
38
38
  body:
39
39
  encoding: ASCII-8BIT
40
- string: '{"id":"https://login.salesforce.com/id/00D1a000000H3O9EAK/0051a000000UGT8AAO","issued_at":"1433801587122","token_type":"Bearer","instance_url":"https://<host>","signature":"S7xaagp0TWcAwoMAJaxNDmNvj2nWbkZRablpSEZuQCM=","access_token":"00D1a000000H3O9!AQ4AQH0rZGqBVji7vO4sB8J1_YW.g5S2vIbe9IaUgwHpwLPEdpfIcj9Ngpc2CndFvJZMwVIIp15.yQQOil19Qc2MuedbnlQz"}'
40
+ string: '{"id":"https://login.salesforce.com/id/00D1a000000H3O9EAK/0051a000000UGT8AAO","issued_at":"1434657049182","token_type":"Bearer","instance_url":"https://<host>","signature":"YA2jJPm3402a4n8bWLG96OctE5nnNL/iH7UxUoRp8kA=","access_token":"00D1a000000H3O9!AQ4AQMIiowitx1OZ30nT1yLacEm4Ugw4j582Bro6xJOU7OOWfOJISGrWfdN.JIWTCleDrkoRt21t3bXGaSDTPfiqhjk5JS3n"}'
41
41
  http_version:
42
- recorded_at: Mon, 08 Jun 2015 22:13:08 GMT
42
+ recorded_at: Thu, 18 Jun 2015 19:50:49 GMT
43
43
  - request:
44
44
  method: post
45
45
  uri: https://<host>/services/data/<api_version>/sobjects/Contact
@@ -52,7 +52,7 @@ http_interactions:
52
52
  Content-Type:
53
53
  - application/json
54
54
  Authorization:
55
- - OAuth 00D1a000000H3O9!AQ4AQH0rZGqBVji7vO4sB8J1_YW.g5S2vIbe9IaUgwHpwLPEdpfIcj9Ngpc2CndFvJZMwVIIp15.yQQOil19Qc2MuedbnlQz
55
+ - OAuth 00D1a000000H3O9!AQ4AQMIiowitx1OZ30nT1yLacEm4Ugw4j582Bro6xJOU7OOWfOJISGrWfdN.JIWTCleDrkoRt21t3bXGaSDTPfiqhjk5JS3n
56
56
  Accept-Encoding:
57
57
  - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
58
58
  Accept:
@@ -63,38 +63,38 @@ http_interactions:
63
63
  message: Created
64
64
  headers:
65
65
  Date:
66
- - Mon, 08 Jun 2015 22:13:07 GMT
66
+ - Thu, 18 Jun 2015 19:50:50 GMT
67
67
  Set-Cookie:
68
- - BrowserId=QzeOvpjcT2OorA7HjT2rpg;Path=/;Domain=.salesforce.com;Expires=Fri,
69
- 07-Aug-2015 22:13:07 GMT
68
+ - BrowserId=2bWdXNkZRx6EzP839gFK_A;Path=/;Domain=.salesforce.com;Expires=Mon,
69
+ 17-Aug-2015 19:50:50 GMT
70
70
  Expires:
71
71
  - Thu, 01 Jan 1970 00:00:00 GMT
72
72
  Sforce-Limit-Info:
73
- - api-usage=53/15000
73
+ - api-usage=67/15000
74
74
  Location:
75
- - "/services/data/<api_version>/sobjects/Contact/0031a000004cfNNAAY"
75
+ - "/services/data/<api_version>/sobjects/Contact/0031a000005FbEGAA0"
76
76
  Content-Type:
77
77
  - application/json;charset=UTF-8
78
78
  Transfer-Encoding:
79
79
  - chunked
80
80
  body:
81
81
  encoding: ASCII-8BIT
82
- string: '{"id":"0031a000004cfNNAAY","success":true,"errors":[]}'
82
+ string: '{"id":"0031a000005FbEGAA0","success":true,"errors":[]}'
83
83
  http_version:
84
- recorded_at: Mon, 08 Jun 2015 22:13:08 GMT
84
+ recorded_at: Thu, 18 Jun 2015 19:50:50 GMT
85
85
  - request:
86
86
  method: post
87
87
  uri: https://<host>/services/data/<api_version>/sobjects/CustomObject__c
88
88
  body:
89
89
  encoding: UTF-8
90
- string: '{"Friend__c":"0031a000004cfNNAAY"}'
90
+ string: '{"Friend__c":"0031a000005FbEGAA0"}'
91
91
  headers:
92
92
  User-Agent:
93
93
  - Faraday v0.9.1
94
94
  Content-Type:
95
95
  - application/json
96
96
  Authorization:
97
- - OAuth 00D1a000000H3O9!AQ4AQH0rZGqBVji7vO4sB8J1_YW.g5S2vIbe9IaUgwHpwLPEdpfIcj9Ngpc2CndFvJZMwVIIp15.yQQOil19Qc2MuedbnlQz
97
+ - OAuth 00D1a000000H3O9!AQ4AQMIiowitx1OZ30nT1yLacEm4Ugw4j582Bro6xJOU7OOWfOJISGrWfdN.JIWTCleDrkoRt21t3bXGaSDTPfiqhjk5JS3n
98
98
  Accept-Encoding:
99
99
  - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
100
100
  Accept:
@@ -105,25 +105,25 @@ http_interactions:
105
105
  message: Created
106
106
  headers:
107
107
  Date:
108
- - Mon, 08 Jun 2015 22:13:07 GMT
108
+ - Thu, 18 Jun 2015 19:50:51 GMT
109
109
  Set-Cookie:
110
- - BrowserId=ku0REZqmSOWOqHK3SwOMmA;Path=/;Domain=.salesforce.com;Expires=Fri,
111
- 07-Aug-2015 22:13:07 GMT
110
+ - BrowserId=MN9ACZjfQaikBu7oILJo6Q;Path=/;Domain=.salesforce.com;Expires=Mon,
111
+ 17-Aug-2015 19:50:51 GMT
112
112
  Expires:
113
113
  - Thu, 01 Jan 1970 00:00:00 GMT
114
114
  Sforce-Limit-Info:
115
- - api-usage=51/15000
115
+ - api-usage=68/15000
116
116
  Location:
117
- - "/services/data/<api_version>/sobjects/CustomObject__c/a001a000001cF6wAAE"
117
+ - "/services/data/<api_version>/sobjects/CustomObject__c/a001a000002z7BgAAI"
118
118
  Content-Type:
119
119
  - application/json;charset=UTF-8
120
120
  Transfer-Encoding:
121
121
  - chunked
122
122
  body:
123
123
  encoding: ASCII-8BIT
124
- string: '{"id":"a001a000001cF6wAAE","success":true,"errors":[]}'
124
+ string: '{"id":"a001a000002z7BgAAI","success":true,"errors":[]}'
125
125
  http_version:
126
- recorded_at: Mon, 08 Jun 2015 22:13:09 GMT
126
+ recorded_at: Thu, 18 Jun 2015 19:50:51 GMT
127
127
  - request:
128
128
  method: post
129
129
  uri: https://<host>/services/data/<api_version>/sobjects/Contact
@@ -136,7 +136,7 @@ http_interactions:
136
136
  Content-Type:
137
137
  - application/json
138
138
  Authorization:
139
- - OAuth 00D1a000000H3O9!AQ4AQH0rZGqBVji7vO4sB8J1_YW.g5S2vIbe9IaUgwHpwLPEdpfIcj9Ngpc2CndFvJZMwVIIp15.yQQOil19Qc2MuedbnlQz
139
+ - OAuth 00D1a000000H3O9!AQ4AQMIiowitx1OZ30nT1yLacEm4Ugw4j582Bro6xJOU7OOWfOJISGrWfdN.JIWTCleDrkoRt21t3bXGaSDTPfiqhjk5JS3n
140
140
  Accept-Encoding:
141
141
  - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
142
142
  Accept:
@@ -147,25 +147,25 @@ http_interactions:
147
147
  message: Created
148
148
  headers:
149
149
  Date:
150
- - Mon, 08 Jun 2015 22:13:07 GMT
150
+ - Thu, 18 Jun 2015 19:50:52 GMT
151
151
  Set-Cookie:
152
- - BrowserId=idpJ_z_UTSSCEbkzeekDPg;Path=/;Domain=.salesforce.com;Expires=Fri,
153
- 07-Aug-2015 22:13:07 GMT
152
+ - BrowserId=btoNGcZQTjauPNxQZPLyzA;Path=/;Domain=.salesforce.com;Expires=Mon,
153
+ 17-Aug-2015 19:50:52 GMT
154
154
  Expires:
155
155
  - Thu, 01 Jan 1970 00:00:00 GMT
156
156
  Sforce-Limit-Info:
157
- - api-usage=60/15000
157
+ - api-usage=67/15000
158
158
  Location:
159
- - "/services/data/<api_version>/sobjects/Contact/0031a000004cfNSAAY"
159
+ - "/services/data/<api_version>/sobjects/Contact/0031a000005FbELAA0"
160
160
  Content-Type:
161
161
  - application/json;charset=UTF-8
162
162
  Transfer-Encoding:
163
163
  - chunked
164
164
  body:
165
165
  encoding: ASCII-8BIT
166
- string: '{"id":"0031a000004cfNSAAY","success":true,"errors":[]}'
166
+ string: '{"id":"0031a000005FbELAA0","success":true,"errors":[]}'
167
167
  http_version:
168
- recorded_at: Mon, 08 Jun 2015 22:13:09 GMT
168
+ recorded_at: Thu, 18 Jun 2015 19:50:52 GMT
169
169
  - request:
170
170
  method: get
171
171
  uri: https://<host>/services/data/<api_version>/query?q=select%20Id,%20SystemModstamp,%20LastModifiedById,%20Name,%20Example_Field__c,%20Friend__c%20from%20CustomObject__c
@@ -176,7 +176,7 @@ http_interactions:
176
176
  User-Agent:
177
177
  - Faraday v0.9.1
178
178
  Authorization:
179
- - OAuth 00D1a000000H3O9!AQ4AQH0rZGqBVji7vO4sB8J1_YW.g5S2vIbe9IaUgwHpwLPEdpfIcj9Ngpc2CndFvJZMwVIIp15.yQQOil19Qc2MuedbnlQz
179
+ - OAuth 00D1a000000H3O9!AQ4AQMIiowitx1OZ30nT1yLacEm4Ugw4j582Bro6xJOU7OOWfOJISGrWfdN.JIWTCleDrkoRt21t3bXGaSDTPfiqhjk5JS3n
180
180
  Accept-Encoding:
181
181
  - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
182
182
  Accept:
@@ -187,26 +187,26 @@ http_interactions:
187
187
  message: OK
188
188
  headers:
189
189
  Date:
190
- - Mon, 08 Jun 2015 22:13:07 GMT
190
+ - Thu, 18 Jun 2015 19:50:53 GMT
191
191
  Set-Cookie:
192
- - BrowserId=tgaku49mTPOynEqcmgYnSA;Path=/;Domain=.salesforce.com;Expires=Fri,
193
- 07-Aug-2015 22:13:07 GMT
192
+ - BrowserId=xug0lqyjTJy5Mui9LDuJiA;Path=/;Domain=.salesforce.com;Expires=Mon,
193
+ 17-Aug-2015 19:50:53 GMT
194
194
  Expires:
195
195
  - Thu, 01 Jan 1970 00:00:00 GMT
196
196
  Sforce-Limit-Info:
197
- - api-usage=56/15000
197
+ - api-usage=67/15000
198
198
  Content-Type:
199
199
  - application/json;charset=UTF-8
200
200
  Transfer-Encoding:
201
201
  - chunked
202
202
  body:
203
203
  encoding: ASCII-8BIT
204
- string: '{"totalSize":2,"done":true,"records":[{"attributes":{"type":"CustomObject__c","url":"/services/data/<api_version>/sobjects/CustomObject__c/a001a000001a60JAAQ"},"Id":"a001a000001a60JAAQ","SystemModstamp":"2015-05-18T22:46:05.000+0000","LastModifiedById":"0051a000000UGT8AAO","Name":"SAMPLE","Example_Field__c":null,"Friend__c":null},{"attributes":{"type":"CustomObject__c","url":"/services/data/<api_version>/sobjects/CustomObject__c/a001a000001cF6wAAE"},"Id":"a001a000001cF6wAAE","SystemModstamp":"2015-06-08T22:13:07.000+0000","LastModifiedById":"0051a000000UGT8AAO","Name":"a001a000001cF6w","Example_Field__c":null,"Friend__c":"0031a000004cfNNAAY"}]}'
204
+ string: '{"totalSize":1,"done":true,"records":[{"attributes":{"type":"CustomObject__c","url":"/services/data/<api_version>/sobjects/CustomObject__c/a001a000002z7BgAAI"},"Id":"a001a000002z7BgAAI","SystemModstamp":"2015-06-18T19:50:51.000+0000","LastModifiedById":"0051a000000UGT8AAO","Name":"a001a000002z7Bg","Example_Field__c":null,"Friend__c":"0031a000005FbEGAA0"}]}'
205
205
  http_version:
206
- recorded_at: Mon, 08 Jun 2015 22:13:09 GMT
206
+ recorded_at: Thu, 18 Jun 2015 19:50:53 GMT
207
207
  - request:
208
208
  method: get
209
- uri: https://<host>/services/data/<api_version>/sobjects/CustomObject__c/describe
209
+ uri: https://<host>/services/data/<api_version>/
210
210
  body:
211
211
  encoding: US-ASCII
212
212
  string: ''
@@ -214,7 +214,7 @@ http_interactions:
214
214
  User-Agent:
215
215
  - Faraday v0.9.1
216
216
  Authorization:
217
- - OAuth 00D1a000000H3O9!AQ4AQH0rZGqBVji7vO4sB8J1_YW.g5S2vIbe9IaUgwHpwLPEdpfIcj9Ngpc2CndFvJZMwVIIp15.yQQOil19Qc2MuedbnlQz
217
+ - OAuth 00D1a000000H3O9!AQ4AQMIiowitx1OZ30nT1yLacEm4Ugw4j582Bro6xJOU7OOWfOJISGrWfdN.JIWTCleDrkoRt21t3bXGaSDTPfiqhjk5JS3n
218
218
  Accept-Encoding:
219
219
  - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
220
220
  Accept:
@@ -225,77 +225,102 @@ http_interactions:
225
225
  message: OK
226
226
  headers:
227
227
  Date:
228
- - Mon, 08 Jun 2015 22:13:08 GMT
228
+ - Thu, 18 Jun 2015 19:50:55 GMT
229
229
  Set-Cookie:
230
- - BrowserId=_nhj_IeAQ9O67Cdiy_0ZTQ;Path=/;Domain=.salesforce.com;Expires=Fri,
231
- 07-Aug-2015 22:13:08 GMT
230
+ - BrowserId=gDO4BcpXStKA2dt7O--jAw;Path=/;Domain=.salesforce.com;Expires=Mon,
231
+ 17-Aug-2015 19:50:55 GMT
232
232
  Expires:
233
233
  - Thu, 01 Jan 1970 00:00:00 GMT
234
234
  Sforce-Limit-Info:
235
- - api-usage=50/15000
236
- Org.eclipse.jetty.server.include.etag:
237
- - 7057c783
238
- Last-Modified:
239
- - Wed, 01 Apr 2015 17:47:03 GMT
235
+ - api-usage=67/15000
240
236
  Content-Type:
241
237
  - application/json;charset=UTF-8
242
- Etag:
243
- - 7057c78-gzip"
244
238
  Transfer-Encoding:
245
239
  - chunked
246
240
  body:
247
241
  encoding: ASCII-8BIT
248
- string: '{"activateable":false,"childRelationships":[{"cascadeDelete":true,"childSObject":"AttachedContentDocument","deprecatedAndHidden":false,"field":"LinkedEntityId","relationshipName":"AttachedContentDocuments","restrictedDelete":false},{"cascadeDelete":true,"childSObject":"Attachment","deprecatedAndHidden":false,"field":"ParentId","relationshipName":"Attachments","restrictedDelete":false},{"cascadeDelete":true,"childSObject":"CollaborationGroupRecord","deprecatedAndHidden":false,"field":"RecordId","relationshipName":"RecordAssociatedGroups","restrictedDelete":false},{"cascadeDelete":true,"childSObject":"CombinedAttachment","deprecatedAndHidden":false,"field":"ParentId","relationshipName":"CombinedAttachments","restrictedDelete":false},{"cascadeDelete":true,"childSObject":"ContentDocumentLink","deprecatedAndHidden":false,"field":"LinkedEntityId","relationshipName":null,"restrictedDelete":false},{"cascadeDelete":false,"childSObject":"ContentVersion","deprecatedAndHidden":false,"field":"FirstPublishLocationId","relationshipName":null,"restrictedDelete":false},{"cascadeDelete":true,"childSObject":"CustomObjectDetail__c","deprecatedAndHidden":false,"field":"CustomObject__c","relationshipName":"CustomObjectDetails__r","restrictedDelete":false},{"cascadeDelete":true,"childSObject":"EntitySubscription","deprecatedAndHidden":false,"field":"ParentId","relationshipName":"FeedSubscriptionsForEntity","restrictedDelete":false},{"cascadeDelete":false,"childSObject":"FeedComment","deprecatedAndHidden":false,"field":"ParentId","relationshipName":null,"restrictedDelete":false},{"cascadeDelete":true,"childSObject":"FeedItem","deprecatedAndHidden":false,"field":"ParentId","relationshipName":null,"restrictedDelete":false},{"cascadeDelete":true,"childSObject":"Note","deprecatedAndHidden":false,"field":"ParentId","relationshipName":"Notes","restrictedDelete":false},{"cascadeDelete":true,"childSObject":"NoteAndAttachment","deprecatedAndHidden":false,"field":"ParentId","relationshipName":"NotesAndAttachments","restrictedDelete":false},{"cascadeDelete":true,"childSObject":"ProcessInstance","deprecatedAndHidden":false,"field":"TargetObjectId","relationshipName":"ProcessInstances","restrictedDelete":false},{"cascadeDelete":false,"childSObject":"ProcessInstanceHistory","deprecatedAndHidden":false,"field":"TargetObjectId","relationshipName":"ProcessSteps","restrictedDelete":false},{"cascadeDelete":true,"childSObject":"TopicAssignment","deprecatedAndHidden":false,"field":"EntityId","relationshipName":"TopicAssignments","restrictedDelete":false}],"compactLayoutable":true,"createable":true,"custom":true,"customSetting":false,"deletable":true,"deprecatedAndHidden":false,"feedEnabled":false,"fields":[{"autoNumber":false,"byteLength":18,"calculated":false,"calculatedFormula":null,"cascadeDelete":false,"caseSensitive":false,"controllerName":null,"createable":false,"custom":false,"defaultValue":null,"defaultValueFormula":null,"defaultedOnCreate":true,"dependentPicklist":false,"deprecatedAndHidden":false,"digits":0,"displayLocationInDecimal":false,"externalId":false,"filterable":true,"groupable":true,"htmlFormatted":false,"idLookup":true,"inlineHelpText":null,"label":"Record
249
- ID","length":18,"name":"Id","nameField":false,"namePointing":false,"nillable":false,"permissionable":false,"picklistValues":[],"precision":0,"referenceTo":[],"relationshipName":null,"relationshipOrder":null,"restrictedDelete":false,"restrictedPicklist":false,"scale":0,"soapType":"tns:ID","sortable":true,"type":"id","unique":false,"updateable":false,"writeRequiresMasterRead":false},{"autoNumber":false,"byteLength":18,"calculated":false,"calculatedFormula":null,"cascadeDelete":false,"caseSensitive":false,"controllerName":null,"createable":true,"custom":false,"defaultValue":null,"defaultValueFormula":null,"defaultedOnCreate":true,"dependentPicklist":false,"deprecatedAndHidden":false,"digits":0,"displayLocationInDecimal":false,"externalId":false,"filterable":true,"groupable":true,"htmlFormatted":false,"idLookup":false,"inlineHelpText":null,"label":"Owner
250
- ID","length":18,"name":"OwnerId","nameField":false,"namePointing":true,"nillable":false,"permissionable":false,"picklistValues":[],"precision":0,"referenceTo":["Group","User"],"relationshipName":"Owner","relationshipOrder":null,"restrictedDelete":false,"restrictedPicklist":false,"scale":0,"soapType":"tns:ID","sortable":true,"type":"reference","unique":false,"updateable":true,"writeRequiresMasterRead":false},{"autoNumber":false,"byteLength":0,"calculated":false,"calculatedFormula":null,"cascadeDelete":false,"caseSensitive":false,"controllerName":null,"createable":false,"custom":false,"defaultValue":null,"defaultValueFormula":null,"defaultedOnCreate":true,"dependentPicklist":false,"deprecatedAndHidden":false,"digits":0,"displayLocationInDecimal":false,"externalId":false,"filterable":true,"groupable":true,"htmlFormatted":false,"idLookup":false,"inlineHelpText":null,"label":"Deleted","length":0,"name":"IsDeleted","nameField":false,"namePointing":false,"nillable":false,"permissionable":false,"picklistValues":[],"precision":0,"referenceTo":[],"relationshipName":null,"relationshipOrder":null,"restrictedDelete":false,"restrictedPicklist":false,"scale":0,"soapType":"xsd:boolean","sortable":true,"type":"boolean","unique":false,"updateable":false,"writeRequiresMasterRead":false},{"autoNumber":false,"byteLength":240,"calculated":false,"calculatedFormula":null,"cascadeDelete":false,"caseSensitive":false,"controllerName":null,"createable":true,"custom":false,"defaultValue":null,"defaultValueFormula":null,"defaultedOnCreate":true,"dependentPicklist":false,"deprecatedAndHidden":false,"digits":0,"displayLocationInDecimal":false,"externalId":false,"filterable":true,"groupable":true,"htmlFormatted":false,"idLookup":true,"inlineHelpText":null,"label":"CustomObject
251
- Name","length":80,"name":"Name","nameField":true,"namePointing":false,"nillable":true,"permissionable":false,"picklistValues":[],"precision":0,"referenceTo":[],"relationshipName":null,"relationshipOrder":null,"restrictedDelete":false,"restrictedPicklist":false,"scale":0,"soapType":"xsd:string","sortable":true,"type":"string","unique":false,"updateable":true,"writeRequiresMasterRead":false},{"autoNumber":false,"byteLength":0,"calculated":false,"calculatedFormula":null,"cascadeDelete":false,"caseSensitive":false,"controllerName":null,"createable":false,"custom":false,"defaultValue":null,"defaultValueFormula":null,"defaultedOnCreate":true,"dependentPicklist":false,"deprecatedAndHidden":false,"digits":0,"displayLocationInDecimal":false,"externalId":false,"filterable":true,"groupable":false,"htmlFormatted":false,"idLookup":false,"inlineHelpText":null,"label":"Created
252
- Date","length":0,"name":"CreatedDate","nameField":false,"namePointing":false,"nillable":false,"permissionable":false,"picklistValues":[],"precision":0,"referenceTo":[],"relationshipName":null,"relationshipOrder":null,"restrictedDelete":false,"restrictedPicklist":false,"scale":0,"soapType":"xsd:dateTime","sortable":true,"type":"datetime","unique":false,"updateable":false,"writeRequiresMasterRead":false},{"autoNumber":false,"byteLength":18,"calculated":false,"calculatedFormula":null,"cascadeDelete":false,"caseSensitive":false,"controllerName":null,"createable":false,"custom":false,"defaultValue":null,"defaultValueFormula":null,"defaultedOnCreate":true,"dependentPicklist":false,"deprecatedAndHidden":false,"digits":0,"displayLocationInDecimal":false,"externalId":false,"filterable":true,"groupable":true,"htmlFormatted":false,"idLookup":false,"inlineHelpText":null,"label":"Created
253
- By ID","length":18,"name":"CreatedById","nameField":false,"namePointing":false,"nillable":false,"permissionable":false,"picklistValues":[],"precision":0,"referenceTo":["User"],"relationshipName":"CreatedBy","relationshipOrder":null,"restrictedDelete":false,"restrictedPicklist":false,"scale":0,"soapType":"tns:ID","sortable":true,"type":"reference","unique":false,"updateable":false,"writeRequiresMasterRead":false},{"autoNumber":false,"byteLength":0,"calculated":false,"calculatedFormula":null,"cascadeDelete":false,"caseSensitive":false,"controllerName":null,"createable":false,"custom":false,"defaultValue":null,"defaultValueFormula":null,"defaultedOnCreate":true,"dependentPicklist":false,"deprecatedAndHidden":false,"digits":0,"displayLocationInDecimal":false,"externalId":false,"filterable":true,"groupable":false,"htmlFormatted":false,"idLookup":false,"inlineHelpText":null,"label":"Last
254
- Modified Date","length":0,"name":"LastModifiedDate","nameField":false,"namePointing":false,"nillable":false,"permissionable":false,"picklistValues":[],"precision":0,"referenceTo":[],"relationshipName":null,"relationshipOrder":null,"restrictedDelete":false,"restrictedPicklist":false,"scale":0,"soapType":"xsd:dateTime","sortable":true,"type":"datetime","unique":false,"updateable":false,"writeRequiresMasterRead":false},{"autoNumber":false,"byteLength":18,"calculated":false,"calculatedFormula":null,"cascadeDelete":false,"caseSensitive":false,"controllerName":null,"createable":false,"custom":false,"defaultValue":null,"defaultValueFormula":null,"defaultedOnCreate":true,"dependentPicklist":false,"deprecatedAndHidden":false,"digits":0,"displayLocationInDecimal":false,"externalId":false,"filterable":true,"groupable":true,"htmlFormatted":false,"idLookup":false,"inlineHelpText":null,"label":"Last
255
- Modified By ID","length":18,"name":"LastModifiedById","nameField":false,"namePointing":false,"nillable":false,"permissionable":false,"picklistValues":[],"precision":0,"referenceTo":["User"],"relationshipName":"LastModifiedBy","relationshipOrder":null,"restrictedDelete":false,"restrictedPicklist":false,"scale":0,"soapType":"tns:ID","sortable":true,"type":"reference","unique":false,"updateable":false,"writeRequiresMasterRead":false},{"autoNumber":false,"byteLength":0,"calculated":false,"calculatedFormula":null,"cascadeDelete":false,"caseSensitive":false,"controllerName":null,"createable":false,"custom":false,"defaultValue":null,"defaultValueFormula":null,"defaultedOnCreate":true,"dependentPicklist":false,"deprecatedAndHidden":false,"digits":0,"displayLocationInDecimal":false,"externalId":false,"filterable":true,"groupable":false,"htmlFormatted":false,"idLookup":false,"inlineHelpText":null,"label":"System
256
- Modstamp","length":0,"name":"SystemModstamp","nameField":false,"namePointing":false,"nillable":false,"permissionable":false,"picklistValues":[],"precision":0,"referenceTo":[],"relationshipName":null,"relationshipOrder":null,"restrictedDelete":false,"restrictedPicklist":false,"scale":0,"soapType":"xsd:dateTime","sortable":true,"type":"datetime","unique":false,"updateable":false,"writeRequiresMasterRead":false},{"autoNumber":false,"byteLength":765,"calculated":false,"calculatedFormula":null,"cascadeDelete":false,"caseSensitive":false,"controllerName":null,"createable":true,"custom":true,"defaultValue":null,"defaultValueFormula":null,"defaultedOnCreate":false,"dependentPicklist":false,"deprecatedAndHidden":false,"digits":0,"displayLocationInDecimal":false,"externalId":false,"filterable":true,"groupable":true,"htmlFormatted":false,"idLookup":false,"inlineHelpText":null,"label":"Example
257
- Field","length":255,"name":"Example_Field__c","nameField":false,"namePointing":false,"nillable":true,"permissionable":true,"picklistValues":[],"precision":0,"referenceTo":[],"relationshipName":null,"relationshipOrder":null,"restrictedDelete":false,"restrictedPicklist":false,"scale":0,"soapType":"xsd:string","sortable":true,"type":"string","unique":false,"updateable":true,"writeRequiresMasterRead":false},{"autoNumber":false,"byteLength":18,"calculated":false,"calculatedFormula":null,"cascadeDelete":false,"caseSensitive":false,"controllerName":null,"createable":true,"custom":true,"defaultValue":null,"defaultValueFormula":null,"defaultedOnCreate":false,"dependentPicklist":false,"deprecatedAndHidden":false,"digits":0,"displayLocationInDecimal":false,"externalId":false,"filterable":true,"groupable":true,"htmlFormatted":false,"idLookup":false,"inlineHelpText":null,"label":"Friend","length":18,"name":"Friend__c","nameField":false,"namePointing":false,"nillable":true,"permissionable":true,"picklistValues":[],"precision":0,"referenceTo":["Contact"],"relationshipName":"Friend__r","relationshipOrder":null,"restrictedDelete":false,"restrictedPicklist":false,"scale":0,"soapType":"tns:ID","sortable":true,"type":"reference","unique":false,"updateable":true,"writeRequiresMasterRead":false},{"autoNumber":false,"byteLength":0,"calculated":false,"calculatedFormula":null,"cascadeDelete":false,"caseSensitive":false,"controllerName":null,"createable":true,"custom":true,"defaultValue":null,"defaultValueFormula":null,"defaultedOnCreate":true,"dependentPicklist":false,"deprecatedAndHidden":false,"digits":0,"displayLocationInDecimal":false,"externalId":false,"filterable":true,"groupable":true,"htmlFormatted":false,"idLookup":false,"inlineHelpText":null,"label":"Visible","length":0,"name":"Visible__c","nameField":false,"namePointing":false,"nillable":false,"permissionable":true,"picklistValues":[],"precision":0,"referenceTo":[],"relationshipName":null,"relationshipOrder":null,"restrictedDelete":false,"restrictedPicklist":false,"scale":0,"soapType":"xsd:boolean","sortable":true,"type":"boolean","unique":false,"updateable":true,"writeRequiresMasterRead":false}],"keyPrefix":"a00","label":"CustomObject","labelPlural":"CustomObjects","layoutable":true,"listviewable":null,"lookupLayoutable":null,"mergeable":false,"name":"CustomObject__c","queryable":true,"recordTypeInfos":[{"available":true,"defaultRecordTypeMapping":true,"name":"Master","recordTypeId":"012000000000000AAA","urls":{"layout":"/services/data/<api_version>/sobjects/CustomObject__c/describe/layouts/012000000000000AAA"}}],"replicateable":true,"retrieveable":true,"searchLayoutable":true,"searchable":true,"triggerable":true,"undeletable":true,"updateable":true,"urls":{"uiEditTemplate":"https://<host>/{ID}/e","sobject":"/services/data/<api_version>/sobjects/CustomObject__c","quickActions":"/services/data/<api_version>/sobjects/CustomObject__c/quickActions","uiDetailTemplate":"https://<host>/{ID}","describe":"/services/data/<api_version>/sobjects/CustomObject__c/describe","rowTemplate":"/services/data/<api_version>/sobjects/CustomObject__c/{ID}","layouts":"/services/data/<api_version>/sobjects/CustomObject__c/describe/layouts","compactLayouts":"/services/data/<api_version>/sobjects/CustomObject__c/describe/compactLayouts","uiNewRecord":"https://<host>/a00/e"}}'
242
+ string: '{"limits":"/services/data/<api_version>/limits","sobjects":"/services/data/<api_version>/sobjects","connect":"/services/data/<api_version>/connect","query":"/services/data/<api_version>/query","theme":"/services/data/<api_version>/theme","queryAll":"/services/data/<api_version>/queryAll","tooling":"/services/data/<api_version>/tooling","chatter":"/services/data/<api_version>/chatter","analytics":"/services/data/<api_version>/analytics","recent":"/services/data/<api_version>/recent","commerce":"/services/data/<api_version>/commerce","licensing":"/services/data/<api_version>/licensing","identity":"https://login.salesforce.com/id/00D1a000000H3O9EAK/0051a000000UGT8AAO","flexiPage":"/services/data/<api_version>/flexiPage","search":"/services/data/<api_version>/search","quickActions":"/services/data/<api_version>/quickActions","wave":"/services/data/<api_version>/wave","appMenu":"/services/data/<api_version>/appMenu"}'
258
243
  http_version:
259
- recorded_at: Mon, 08 Jun 2015 22:13:09 GMT
244
+ recorded_at: Thu, 18 Jun 2015 19:50:55 GMT
260
245
  - request:
261
- method: patch
262
- uri: https://<host>/services/data/<api_version>/sobjects/CustomObject__c/a001a000001cF6wAAE
246
+ method: get
247
+ uri: https://login.salesforce.com/id/00D1a000000H3O9EAK/0051a000000UGT8AAO
263
248
  body:
264
- encoding: UTF-8
265
- string: '{"Friend__c":"0031a000004cfNSAAY"}'
249
+ encoding: US-ASCII
250
+ string: ''
266
251
  headers:
267
252
  User-Agent:
268
253
  - Faraday v0.9.1
254
+ Authorization:
255
+ - OAuth 00D1a000000H3O9!AQ4AQMIiowitx1OZ30nT1yLacEm4Ugw4j582Bro6xJOU7OOWfOJISGrWfdN.JIWTCleDrkoRt21t3bXGaSDTPfiqhjk5JS3n
256
+ Accept-Encoding:
257
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
258
+ Accept:
259
+ - "*/*"
260
+ response:
261
+ status:
262
+ code: 200
263
+ message: OK
264
+ headers:
265
+ Date:
266
+ - Thu, 18 Jun 2015 19:50:55 GMT
267
+ - Thu, 18 Jun 2015 19:50:55 GMT
268
+ Set-Cookie:
269
+ - BrowserId=ZGsOSyVdQvasIdezSnDvOw;Path=/;Domain=.salesforce.com;Expires=Mon,
270
+ 17-Aug-2015 19:50:55 GMT
271
+ Expires:
272
+ - Thu, 01 Jan 1970 00:00:00 GMT
269
273
  Content-Type:
270
- - application/json
274
+ - application/json;charset=UTF-8
275
+ Transfer-Encoding:
276
+ - chunked
277
+ body:
278
+ encoding: ASCII-8BIT
279
+ string: '{"id":"https://login.salesforce.com/id/00D1a000000H3O9EAK/0051a000000UGT8AAO","asserted_user":true,"user_id":"0051a000000UGT8AAO","organization_id":"00D1a000000H3O9EAK","username":"andrew+salesforce@tablexi.com","nick_name":"andrew+salesforce1.42656567106328E12","display_name":"Andrew
280
+ Horner","email":"andrew@tablexi.com","email_verified":true,"first_name":"Andrew","last_name":"Horner","timezone":"America/Los_Angeles","photos":{"picture":"https://c.na24.content.force.com/profilephoto/005/F","thumbnail":"https://c.na24.content.force.com/profilephoto/005/T"},"addr_street":null,"addr_city":null,"addr_state":null,"addr_country":"US","addr_zip":"60661","mobile_phone":null,"mobile_phone_verified":false,"status":{"created_date":null,"body":null},"urls":{"enterprise":"https://<host>/services/Soap/c/{version}/00D1a000000H3O9","metadata":"https://<host>/services/Soap/m/{version}/00D1a000000H3O9","partner":"https://<host>/services/Soap/u/{version}/00D1a000000H3O9","rest":"https://<host>/services/data/v{version}/","sobjects":"https://<host>/services/data/v{version}/sobjects/","search":"https://<host>/services/data/v{version}/search/","query":"https://<host>/services/data/v{version}/query/","recent":"https://<host>/services/data/v{version}/recent/","profile":"https://<host>/0051a000000UGT8AAO","feeds":"https://<host>/services/data/v{version}/chatter/feeds","groups":"https://<host>/services/data/v{version}/chatter/groups","users":"https://<host>/services/data/v{version}/chatter/users","feed_items":"https://<host>/services/data/v{version}/chatter/feed-items"},"active":true,"user_type":"STANDARD","language":"en_US","locale":"en_US","utcOffset":-28800000,"last_modified_date":"2015-03-17T04:14:23.000+0000","is_app_installed":true}'
281
+ http_version:
282
+ recorded_at: Thu, 18 Jun 2015 19:50:55 GMT
283
+ - request:
284
+ method: get
285
+ uri: https://<host>/services/data/<api_version>/query?q=select%20Id,%20SystemModstamp,%20LastModifiedById,%20Name,%20Example_Field__c,%20Friend__c%20from%20CustomObject__c%20where%20Id%20=%20%27a001a000002z7BgAAI%27
286
+ body:
287
+ encoding: US-ASCII
288
+ string: ''
289
+ headers:
290
+ User-Agent:
291
+ - Faraday v0.9.1
271
292
  Authorization:
272
- - OAuth 00D1a000000H3O9!AQ4AQH0rZGqBVji7vO4sB8J1_YW.g5S2vIbe9IaUgwHpwLPEdpfIcj9Ngpc2CndFvJZMwVIIp15.yQQOil19Qc2MuedbnlQz
293
+ - OAuth 00D1a000000H3O9!AQ4AQMIiowitx1OZ30nT1yLacEm4Ugw4j582Bro6xJOU7OOWfOJISGrWfdN.JIWTCleDrkoRt21t3bXGaSDTPfiqhjk5JS3n
273
294
  Accept-Encoding:
274
295
  - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
275
296
  Accept:
276
297
  - "*/*"
277
298
  response:
278
299
  status:
279
- code: 204
280
- message: No Content
300
+ code: 200
301
+ message: OK
281
302
  headers:
282
303
  Date:
283
- - Mon, 08 Jun 2015 22:13:08 GMT
304
+ - Thu, 18 Jun 2015 19:50:56 GMT
284
305
  Set-Cookie:
285
- - BrowserId=PUVIlpRHSIeKFjkxe4SeLw;Path=/;Domain=.salesforce.com;Expires=Fri,
286
- 07-Aug-2015 22:13:08 GMT
306
+ - BrowserId=qoT51fEeSKGt51u6FQhtTA;Path=/;Domain=.salesforce.com;Expires=Mon,
307
+ 17-Aug-2015 19:50:56 GMT
287
308
  Expires:
288
309
  - Thu, 01 Jan 1970 00:00:00 GMT
289
310
  Sforce-Limit-Info:
290
- - api-usage=56/15000
311
+ - api-usage=67/15000
312
+ Content-Type:
313
+ - application/json;charset=UTF-8
314
+ Transfer-Encoding:
315
+ - chunked
291
316
  body:
292
- encoding: UTF-8
293
- string: ''
317
+ encoding: ASCII-8BIT
318
+ string: '{"totalSize":1,"done":true,"records":[{"attributes":{"type":"CustomObject__c","url":"/services/data/<api_version>/sobjects/CustomObject__c/a001a000002z7BgAAI"},"Id":"a001a000002z7BgAAI","SystemModstamp":"2015-06-18T19:50:51.000+0000","LastModifiedById":"0051a000000UGT8AAO","Name":"a001a000002z7Bg","Example_Field__c":null,"Friend__c":"0031a000005FbEGAA0"}]}'
294
319
  http_version:
295
- recorded_at: Mon, 08 Jun 2015 22:13:09 GMT
320
+ recorded_at: Thu, 18 Jun 2015 19:50:56 GMT
296
321
  - request:
297
322
  method: get
298
- uri: https://<host>/services/data/<api_version>/query?q=select%20Id,%20SystemModstamp,%20LastModifiedById,%20Name,%20Example_Field__c,%20Friend__c%20from%20CustomObject__c%20where%20Id%20=%20%27a001a000001cF6wAAE%27
323
+ uri: https://<host>/services/data/<api_version>/sobjects/CustomObject__c/describe
299
324
  body:
300
325
  encoding: US-ASCII
301
326
  string: ''
@@ -303,7 +328,7 @@ http_interactions:
303
328
  User-Agent:
304
329
  - Faraday v0.9.1
305
330
  Authorization:
306
- - OAuth 00D1a000000H3O9!AQ4AQH0rZGqBVji7vO4sB8J1_YW.g5S2vIbe9IaUgwHpwLPEdpfIcj9Ngpc2CndFvJZMwVIIp15.yQQOil19Qc2MuedbnlQz
331
+ - OAuth 00D1a000000H3O9!AQ4AQMIiowitx1OZ30nT1yLacEm4Ugw4j582Bro6xJOU7OOWfOJISGrWfdN.JIWTCleDrkoRt21t3bXGaSDTPfiqhjk5JS3n
307
332
  Accept-Encoding:
308
333
  - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
309
334
  Accept:
@@ -314,26 +339,77 @@ http_interactions:
314
339
  message: OK
315
340
  headers:
316
341
  Date:
317
- - Mon, 08 Jun 2015 22:13:08 GMT
342
+ - Thu, 18 Jun 2015 19:50:57 GMT
318
343
  Set-Cookie:
319
- - BrowserId=WoWrTUxuTk2y6nXxhyTNxQ;Path=/;Domain=.salesforce.com;Expires=Fri,
320
- 07-Aug-2015 22:13:08 GMT
344
+ - BrowserId=6zbZM57QRjG5mKKWZFOHoA;Path=/;Domain=.salesforce.com;Expires=Mon,
345
+ 17-Aug-2015 19:50:57 GMT
321
346
  Expires:
322
347
  - Thu, 01 Jan 1970 00:00:00 GMT
323
348
  Sforce-Limit-Info:
324
- - api-usage=57/15000
349
+ - api-usage=68/15000
350
+ Org.eclipse.jetty.server.include.etag:
351
+ - cdc3a566
352
+ Last-Modified:
353
+ - Sat, 13 Jun 2015 07:59:59 GMT
325
354
  Content-Type:
326
355
  - application/json;charset=UTF-8
356
+ Etag:
357
+ - cdc3a56-gzip"
327
358
  Transfer-Encoding:
328
359
  - chunked
329
360
  body:
330
361
  encoding: ASCII-8BIT
331
- string: '{"totalSize":1,"done":true,"records":[{"attributes":{"type":"CustomObject__c","url":"/services/data/<api_version>/sobjects/CustomObject__c/a001a000001cF6wAAE"},"Id":"a001a000001cF6wAAE","SystemModstamp":"2015-06-08T22:13:08.000+0000","LastModifiedById":"0051a000000UGT8AAO","Name":"a001a000001cF6w","Example_Field__c":null,"Friend__c":"0031a000004cfNSAAY"}]}'
362
+ string: '{"activateable":false,"childRelationships":[{"cascadeDelete":true,"childSObject":"AttachedContentDocument","deprecatedAndHidden":false,"field":"LinkedEntityId","relationshipName":"AttachedContentDocuments","restrictedDelete":false},{"cascadeDelete":true,"childSObject":"Attachment","deprecatedAndHidden":false,"field":"ParentId","relationshipName":"Attachments","restrictedDelete":false},{"cascadeDelete":true,"childSObject":"CollaborationGroupRecord","deprecatedAndHidden":false,"field":"RecordId","relationshipName":"RecordAssociatedGroups","restrictedDelete":false},{"cascadeDelete":true,"childSObject":"CombinedAttachment","deprecatedAndHidden":false,"field":"ParentId","relationshipName":"CombinedAttachments","restrictedDelete":false},{"cascadeDelete":true,"childSObject":"ContentDocumentLink","deprecatedAndHidden":false,"field":"LinkedEntityId","relationshipName":null,"restrictedDelete":false},{"cascadeDelete":false,"childSObject":"ContentVersion","deprecatedAndHidden":false,"field":"FirstPublishLocationId","relationshipName":null,"restrictedDelete":false},{"cascadeDelete":true,"childSObject":"CustomObjectDetail__c","deprecatedAndHidden":false,"field":"CustomObject__c","relationshipName":"CustomObjectDetails__r","restrictedDelete":false},{"cascadeDelete":true,"childSObject":"EntitySubscription","deprecatedAndHidden":false,"field":"ParentId","relationshipName":"FeedSubscriptionsForEntity","restrictedDelete":false},{"cascadeDelete":false,"childSObject":"FeedComment","deprecatedAndHidden":false,"field":"ParentId","relationshipName":null,"restrictedDelete":false},{"cascadeDelete":true,"childSObject":"FeedItem","deprecatedAndHidden":false,"field":"ParentId","relationshipName":null,"restrictedDelete":false},{"cascadeDelete":true,"childSObject":"Note","deprecatedAndHidden":false,"field":"ParentId","relationshipName":"Notes","restrictedDelete":false},{"cascadeDelete":true,"childSObject":"NoteAndAttachment","deprecatedAndHidden":false,"field":"ParentId","relationshipName":"NotesAndAttachments","restrictedDelete":false},{"cascadeDelete":true,"childSObject":"ProcessInstance","deprecatedAndHidden":false,"field":"TargetObjectId","relationshipName":"ProcessInstances","restrictedDelete":false},{"cascadeDelete":false,"childSObject":"ProcessInstanceHistory","deprecatedAndHidden":false,"field":"TargetObjectId","relationshipName":"ProcessSteps","restrictedDelete":false},{"cascadeDelete":true,"childSObject":"TopicAssignment","deprecatedAndHidden":false,"field":"EntityId","relationshipName":"TopicAssignments","restrictedDelete":false}],"compactLayoutable":true,"createable":true,"custom":true,"customSetting":false,"deletable":true,"deprecatedAndHidden":false,"feedEnabled":false,"fields":[{"autoNumber":false,"byteLength":18,"calculated":false,"calculatedFormula":null,"cascadeDelete":false,"caseSensitive":false,"controllerName":null,"createable":false,"custom":false,"defaultValue":null,"defaultValueFormula":null,"defaultedOnCreate":true,"dependentPicklist":false,"deprecatedAndHidden":false,"digits":0,"displayLocationInDecimal":false,"externalId":false,"filterable":true,"groupable":true,"htmlFormatted":false,"idLookup":true,"inlineHelpText":null,"label":"Record
363
+ ID","length":18,"name":"Id","nameField":false,"namePointing":false,"nillable":false,"permissionable":false,"picklistValues":[],"precision":0,"referenceTo":[],"relationshipName":null,"relationshipOrder":null,"restrictedDelete":false,"restrictedPicklist":false,"scale":0,"soapType":"tns:ID","sortable":true,"type":"id","unique":false,"updateable":false,"writeRequiresMasterRead":false},{"autoNumber":false,"byteLength":18,"calculated":false,"calculatedFormula":null,"cascadeDelete":false,"caseSensitive":false,"controllerName":null,"createable":true,"custom":false,"defaultValue":null,"defaultValueFormula":null,"defaultedOnCreate":true,"dependentPicklist":false,"deprecatedAndHidden":false,"digits":0,"displayLocationInDecimal":false,"externalId":false,"filterable":true,"groupable":true,"htmlFormatted":false,"idLookup":false,"inlineHelpText":null,"label":"Owner
364
+ ID","length":18,"name":"OwnerId","nameField":false,"namePointing":true,"nillable":false,"permissionable":false,"picklistValues":[],"precision":0,"referenceTo":["Group","User"],"relationshipName":"Owner","relationshipOrder":null,"restrictedDelete":false,"restrictedPicklist":false,"scale":0,"soapType":"tns:ID","sortable":true,"type":"reference","unique":false,"updateable":true,"writeRequiresMasterRead":false},{"autoNumber":false,"byteLength":0,"calculated":false,"calculatedFormula":null,"cascadeDelete":false,"caseSensitive":false,"controllerName":null,"createable":false,"custom":false,"defaultValue":null,"defaultValueFormula":null,"defaultedOnCreate":true,"dependentPicklist":false,"deprecatedAndHidden":false,"digits":0,"displayLocationInDecimal":false,"externalId":false,"filterable":true,"groupable":true,"htmlFormatted":false,"idLookup":false,"inlineHelpText":null,"label":"Deleted","length":0,"name":"IsDeleted","nameField":false,"namePointing":false,"nillable":false,"permissionable":false,"picklistValues":[],"precision":0,"referenceTo":[],"relationshipName":null,"relationshipOrder":null,"restrictedDelete":false,"restrictedPicklist":false,"scale":0,"soapType":"xsd:boolean","sortable":true,"type":"boolean","unique":false,"updateable":false,"writeRequiresMasterRead":false},{"autoNumber":false,"byteLength":240,"calculated":false,"calculatedFormula":null,"cascadeDelete":false,"caseSensitive":false,"controllerName":null,"createable":true,"custom":false,"defaultValue":null,"defaultValueFormula":null,"defaultedOnCreate":true,"dependentPicklist":false,"deprecatedAndHidden":false,"digits":0,"displayLocationInDecimal":false,"externalId":false,"filterable":true,"groupable":true,"htmlFormatted":false,"idLookup":true,"inlineHelpText":null,"label":"CustomObject
365
+ Name","length":80,"name":"Name","nameField":true,"namePointing":false,"nillable":true,"permissionable":false,"picklistValues":[],"precision":0,"referenceTo":[],"relationshipName":null,"relationshipOrder":null,"restrictedDelete":false,"restrictedPicklist":false,"scale":0,"soapType":"xsd:string","sortable":true,"type":"string","unique":false,"updateable":true,"writeRequiresMasterRead":false},{"autoNumber":false,"byteLength":0,"calculated":false,"calculatedFormula":null,"cascadeDelete":false,"caseSensitive":false,"controllerName":null,"createable":false,"custom":false,"defaultValue":null,"defaultValueFormula":null,"defaultedOnCreate":true,"dependentPicklist":false,"deprecatedAndHidden":false,"digits":0,"displayLocationInDecimal":false,"externalId":false,"filterable":true,"groupable":false,"htmlFormatted":false,"idLookup":false,"inlineHelpText":null,"label":"Created
366
+ Date","length":0,"name":"CreatedDate","nameField":false,"namePointing":false,"nillable":false,"permissionable":false,"picklistValues":[],"precision":0,"referenceTo":[],"relationshipName":null,"relationshipOrder":null,"restrictedDelete":false,"restrictedPicklist":false,"scale":0,"soapType":"xsd:dateTime","sortable":true,"type":"datetime","unique":false,"updateable":false,"writeRequiresMasterRead":false},{"autoNumber":false,"byteLength":18,"calculated":false,"calculatedFormula":null,"cascadeDelete":false,"caseSensitive":false,"controllerName":null,"createable":false,"custom":false,"defaultValue":null,"defaultValueFormula":null,"defaultedOnCreate":true,"dependentPicklist":false,"deprecatedAndHidden":false,"digits":0,"displayLocationInDecimal":false,"externalId":false,"filterable":true,"groupable":true,"htmlFormatted":false,"idLookup":false,"inlineHelpText":null,"label":"Created
367
+ By ID","length":18,"name":"CreatedById","nameField":false,"namePointing":false,"nillable":false,"permissionable":false,"picklistValues":[],"precision":0,"referenceTo":["User"],"relationshipName":"CreatedBy","relationshipOrder":null,"restrictedDelete":false,"restrictedPicklist":false,"scale":0,"soapType":"tns:ID","sortable":true,"type":"reference","unique":false,"updateable":false,"writeRequiresMasterRead":false},{"autoNumber":false,"byteLength":0,"calculated":false,"calculatedFormula":null,"cascadeDelete":false,"caseSensitive":false,"controllerName":null,"createable":false,"custom":false,"defaultValue":null,"defaultValueFormula":null,"defaultedOnCreate":true,"dependentPicklist":false,"deprecatedAndHidden":false,"digits":0,"displayLocationInDecimal":false,"externalId":false,"filterable":true,"groupable":false,"htmlFormatted":false,"idLookup":false,"inlineHelpText":null,"label":"Last
368
+ Modified Date","length":0,"name":"LastModifiedDate","nameField":false,"namePointing":false,"nillable":false,"permissionable":false,"picklistValues":[],"precision":0,"referenceTo":[],"relationshipName":null,"relationshipOrder":null,"restrictedDelete":false,"restrictedPicklist":false,"scale":0,"soapType":"xsd:dateTime","sortable":true,"type":"datetime","unique":false,"updateable":false,"writeRequiresMasterRead":false},{"autoNumber":false,"byteLength":18,"calculated":false,"calculatedFormula":null,"cascadeDelete":false,"caseSensitive":false,"controllerName":null,"createable":false,"custom":false,"defaultValue":null,"defaultValueFormula":null,"defaultedOnCreate":true,"dependentPicklist":false,"deprecatedAndHidden":false,"digits":0,"displayLocationInDecimal":false,"externalId":false,"filterable":true,"groupable":true,"htmlFormatted":false,"idLookup":false,"inlineHelpText":null,"label":"Last
369
+ Modified By ID","length":18,"name":"LastModifiedById","nameField":false,"namePointing":false,"nillable":false,"permissionable":false,"picklistValues":[],"precision":0,"referenceTo":["User"],"relationshipName":"LastModifiedBy","relationshipOrder":null,"restrictedDelete":false,"restrictedPicklist":false,"scale":0,"soapType":"tns:ID","sortable":true,"type":"reference","unique":false,"updateable":false,"writeRequiresMasterRead":false},{"autoNumber":false,"byteLength":0,"calculated":false,"calculatedFormula":null,"cascadeDelete":false,"caseSensitive":false,"controllerName":null,"createable":false,"custom":false,"defaultValue":null,"defaultValueFormula":null,"defaultedOnCreate":true,"dependentPicklist":false,"deprecatedAndHidden":false,"digits":0,"displayLocationInDecimal":false,"externalId":false,"filterable":true,"groupable":false,"htmlFormatted":false,"idLookup":false,"inlineHelpText":null,"label":"System
370
+ Modstamp","length":0,"name":"SystemModstamp","nameField":false,"namePointing":false,"nillable":false,"permissionable":false,"picklistValues":[],"precision":0,"referenceTo":[],"relationshipName":null,"relationshipOrder":null,"restrictedDelete":false,"restrictedPicklist":false,"scale":0,"soapType":"xsd:dateTime","sortable":true,"type":"datetime","unique":false,"updateable":false,"writeRequiresMasterRead":false},{"autoNumber":false,"byteLength":765,"calculated":false,"calculatedFormula":null,"cascadeDelete":false,"caseSensitive":false,"controllerName":null,"createable":true,"custom":true,"defaultValue":null,"defaultValueFormula":null,"defaultedOnCreate":false,"dependentPicklist":false,"deprecatedAndHidden":false,"digits":0,"displayLocationInDecimal":false,"externalId":false,"filterable":true,"groupable":true,"htmlFormatted":false,"idLookup":false,"inlineHelpText":null,"label":"Example
371
+ Field","length":255,"name":"Example_Field__c","nameField":false,"namePointing":false,"nillable":true,"permissionable":true,"picklistValues":[],"precision":0,"referenceTo":[],"relationshipName":null,"relationshipOrder":null,"restrictedDelete":false,"restrictedPicklist":false,"scale":0,"soapType":"xsd:string","sortable":true,"type":"string","unique":false,"updateable":true,"writeRequiresMasterRead":false},{"autoNumber":false,"byteLength":18,"calculated":false,"calculatedFormula":null,"cascadeDelete":false,"caseSensitive":false,"controllerName":null,"createable":true,"custom":true,"defaultValue":null,"defaultValueFormula":null,"defaultedOnCreate":false,"dependentPicklist":false,"deprecatedAndHidden":false,"digits":0,"displayLocationInDecimal":false,"externalId":false,"filterable":true,"groupable":true,"htmlFormatted":false,"idLookup":false,"inlineHelpText":null,"label":"Friend","length":18,"name":"Friend__c","nameField":false,"namePointing":false,"nillable":true,"permissionable":true,"picklistValues":[],"precision":0,"referenceTo":["Contact"],"relationshipName":"Friend__r","relationshipOrder":null,"restrictedDelete":false,"restrictedPicklist":false,"scale":0,"soapType":"tns:ID","sortable":true,"type":"reference","unique":false,"updateable":true,"writeRequiresMasterRead":false},{"autoNumber":false,"byteLength":0,"calculated":false,"calculatedFormula":null,"cascadeDelete":false,"caseSensitive":false,"controllerName":null,"createable":true,"custom":true,"defaultValue":null,"defaultValueFormula":null,"defaultedOnCreate":true,"dependentPicklist":false,"deprecatedAndHidden":false,"digits":0,"displayLocationInDecimal":false,"externalId":false,"filterable":true,"groupable":true,"htmlFormatted":false,"idLookup":false,"inlineHelpText":null,"label":"Visible","length":0,"name":"Visible__c","nameField":false,"namePointing":false,"nillable":false,"permissionable":true,"picklistValues":[],"precision":0,"referenceTo":[],"relationshipName":null,"relationshipOrder":null,"restrictedDelete":false,"restrictedPicklist":false,"scale":0,"soapType":"xsd:boolean","sortable":true,"type":"boolean","unique":false,"updateable":true,"writeRequiresMasterRead":false}],"keyPrefix":"a00","label":"CustomObject","labelPlural":"CustomObjects","layoutable":true,"listviewable":null,"lookupLayoutable":null,"mergeable":false,"name":"CustomObject__c","queryable":true,"recordTypeInfos":[{"available":true,"defaultRecordTypeMapping":true,"name":"Master","recordTypeId":"012000000000000AAA","urls":{"layout":"/services/data/<api_version>/sobjects/CustomObject__c/describe/layouts/012000000000000AAA"}}],"replicateable":true,"retrieveable":true,"searchLayoutable":true,"searchable":true,"triggerable":true,"undeletable":true,"updateable":true,"urls":{"uiEditTemplate":"https://<host>/{ID}/e","sobject":"/services/data/<api_version>/sobjects/CustomObject__c","quickActions":"/services/data/<api_version>/sobjects/CustomObject__c/quickActions","uiDetailTemplate":"https://<host>/{ID}","describe":"/services/data/<api_version>/sobjects/CustomObject__c/describe","rowTemplate":"/services/data/<api_version>/sobjects/CustomObject__c/{ID}","layouts":"/services/data/<api_version>/sobjects/CustomObject__c/describe/layouts","compactLayouts":"/services/data/<api_version>/sobjects/CustomObject__c/describe/compactLayouts","uiNewRecord":"https://<host>/a00/e"}}'
372
+ http_version:
373
+ recorded_at: Thu, 18 Jun 2015 19:50:57 GMT
374
+ - request:
375
+ method: patch
376
+ uri: https://<host>/services/data/<api_version>/sobjects/CustomObject__c/a001a000002z7BgAAI
377
+ body:
378
+ encoding: UTF-8
379
+ string: '{"Friend__c":"0031a000005FbELAA0"}'
380
+ headers:
381
+ User-Agent:
382
+ - Faraday v0.9.1
383
+ Content-Type:
384
+ - application/json
385
+ Authorization:
386
+ - OAuth 00D1a000000H3O9!AQ4AQMIiowitx1OZ30nT1yLacEm4Ugw4j582Bro6xJOU7OOWfOJISGrWfdN.JIWTCleDrkoRt21t3bXGaSDTPfiqhjk5JS3n
387
+ Accept-Encoding:
388
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
389
+ Accept:
390
+ - "*/*"
391
+ response:
392
+ status:
393
+ code: 204
394
+ message: No Content
395
+ headers:
396
+ Date:
397
+ - Thu, 18 Jun 2015 19:50:58 GMT
398
+ Set-Cookie:
399
+ - BrowserId=JlsbS6iYSGq9blzU6PotgA;Path=/;Domain=.salesforce.com;Expires=Mon,
400
+ 17-Aug-2015 19:50:58 GMT
401
+ Expires:
402
+ - Thu, 01 Jan 1970 00:00:00 GMT
403
+ Sforce-Limit-Info:
404
+ - api-usage=68/15000
405
+ body:
406
+ encoding: UTF-8
407
+ string: ''
332
408
  http_version:
333
- recorded_at: Mon, 08 Jun 2015 22:13:10 GMT
409
+ recorded_at: Thu, 18 Jun 2015 19:50:59 GMT
334
410
  - request:
335
411
  method: get
336
- uri: https://<host>/services/data/<api_version>/query?q=select%20Id,%20SystemModstamp,%20LastModifiedById,%20Name,%20Example_Field__c,%20Friend__c%20from%20CustomObject__c%20where%20Id%20=%20%27a001a000001cF6wAAE%27
412
+ uri: https://<host>/services/data/<api_version>/query?q=select%20Id,%20SystemModstamp,%20LastModifiedById,%20Name,%20Example_Field__c,%20Friend__c%20from%20CustomObject__c%20where%20Id%20=%20%27a001a000002z7BgAAI%27
337
413
  body:
338
414
  encoding: US-ASCII
339
415
  string: ''
@@ -341,7 +417,7 @@ http_interactions:
341
417
  User-Agent:
342
418
  - Faraday v0.9.1
343
419
  Authorization:
344
- - OAuth 00D1a000000H3O9!AQ4AQH0rZGqBVji7vO4sB8J1_YW.g5S2vIbe9IaUgwHpwLPEdpfIcj9Ngpc2CndFvJZMwVIIp15.yQQOil19Qc2MuedbnlQz
420
+ - OAuth 00D1a000000H3O9!AQ4AQMIiowitx1OZ30nT1yLacEm4Ugw4j582Bro6xJOU7OOWfOJISGrWfdN.JIWTCleDrkoRt21t3bXGaSDTPfiqhjk5JS3n
345
421
  Accept-Encoding:
346
422
  - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
347
423
  Accept:
@@ -352,26 +428,26 @@ http_interactions:
352
428
  message: OK
353
429
  headers:
354
430
  Date:
355
- - Mon, 08 Jun 2015 22:13:08 GMT
431
+ - Thu, 18 Jun 2015 19:51:00 GMT
356
432
  Set-Cookie:
357
- - BrowserId=Oj8Rxq44Q-K-Q_ApzYYaVA;Path=/;Domain=.salesforce.com;Expires=Fri,
358
- 07-Aug-2015 22:13:08 GMT
433
+ - BrowserId=N83RsdD5TuO84iBOrpdrUA;Path=/;Domain=.salesforce.com;Expires=Mon,
434
+ 17-Aug-2015 19:51:00 GMT
359
435
  Expires:
360
436
  - Thu, 01 Jan 1970 00:00:00 GMT
361
437
  Sforce-Limit-Info:
362
- - api-usage=54/15000
438
+ - api-usage=69/15000
363
439
  Content-Type:
364
440
  - application/json;charset=UTF-8
365
441
  Transfer-Encoding:
366
442
  - chunked
367
443
  body:
368
444
  encoding: ASCII-8BIT
369
- string: '{"totalSize":1,"done":true,"records":[{"attributes":{"type":"CustomObject__c","url":"/services/data/<api_version>/sobjects/CustomObject__c/a001a000001cF6wAAE"},"Id":"a001a000001cF6wAAE","SystemModstamp":"2015-06-08T22:13:08.000+0000","LastModifiedById":"0051a000000UGT8AAO","Name":"a001a000001cF6w","Example_Field__c":null,"Friend__c":"0031a000004cfNSAAY"}]}'
445
+ string: '{"totalSize":1,"done":true,"records":[{"attributes":{"type":"CustomObject__c","url":"/services/data/<api_version>/sobjects/CustomObject__c/a001a000002z7BgAAI"},"Id":"a001a000002z7BgAAI","SystemModstamp":"2015-06-18T19:50:58.000+0000","LastModifiedById":"0051a000000UGT8AAO","Name":"a001a000002z7Bg","Example_Field__c":null,"Friend__c":"0031a000005FbELAA0"}]}'
370
446
  http_version:
371
- recorded_at: Mon, 08 Jun 2015 22:13:10 GMT
447
+ recorded_at: Thu, 18 Jun 2015 19:51:00 GMT
372
448
  - request:
373
449
  method: delete
374
- uri: https://<host>/services/data/<api_version>/sobjects/Contact/0031a000004cfNNAAY
450
+ uri: https://<host>/services/data/<api_version>/sobjects/Contact/0031a000005FbEGAA0
375
451
  body:
376
452
  encoding: US-ASCII
377
453
  string: ''
@@ -379,7 +455,7 @@ http_interactions:
379
455
  User-Agent:
380
456
  - Faraday v0.9.1
381
457
  Authorization:
382
- - OAuth 00D1a000000H3O9!AQ4AQH0rZGqBVji7vO4sB8J1_YW.g5S2vIbe9IaUgwHpwLPEdpfIcj9Ngpc2CndFvJZMwVIIp15.yQQOil19Qc2MuedbnlQz
458
+ - OAuth 00D1a000000H3O9!AQ4AQMIiowitx1OZ30nT1yLacEm4Ugw4j582Bro6xJOU7OOWfOJISGrWfdN.JIWTCleDrkoRt21t3bXGaSDTPfiqhjk5JS3n
383
459
  Accept-Encoding:
384
460
  - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
385
461
  Accept:
@@ -390,22 +466,22 @@ http_interactions:
390
466
  message: No Content
391
467
  headers:
392
468
  Date:
393
- - Mon, 08 Jun 2015 22:13:08 GMT
469
+ - Thu, 18 Jun 2015 19:51:01 GMT
394
470
  Set-Cookie:
395
- - BrowserId=gmdGO5ujQ9SMVlX0inMsGw;Path=/;Domain=.salesforce.com;Expires=Fri,
396
- 07-Aug-2015 22:13:08 GMT
471
+ - BrowserId=TD4sqr3qQlGIMfjuUMbf4A;Path=/;Domain=.salesforce.com;Expires=Mon,
472
+ 17-Aug-2015 19:51:01 GMT
397
473
  Expires:
398
474
  - Thu, 01 Jan 1970 00:00:00 GMT
399
475
  Sforce-Limit-Info:
400
- - api-usage=60/15000
476
+ - api-usage=68/15000
401
477
  body:
402
478
  encoding: UTF-8
403
479
  string: ''
404
480
  http_version:
405
- recorded_at: Mon, 08 Jun 2015 22:13:10 GMT
481
+ recorded_at: Thu, 18 Jun 2015 19:51:01 GMT
406
482
  - request:
407
483
  method: delete
408
- uri: https://<host>/services/data/<api_version>/sobjects/CustomObject__c/a001a000001cF6wAAE
484
+ uri: https://<host>/services/data/<api_version>/sobjects/CustomObject__c/a001a000002z7BgAAI
409
485
  body:
410
486
  encoding: US-ASCII
411
487
  string: ''
@@ -413,7 +489,7 @@ http_interactions:
413
489
  User-Agent:
414
490
  - Faraday v0.9.1
415
491
  Authorization:
416
- - OAuth 00D1a000000H3O9!AQ4AQH0rZGqBVji7vO4sB8J1_YW.g5S2vIbe9IaUgwHpwLPEdpfIcj9Ngpc2CndFvJZMwVIIp15.yQQOil19Qc2MuedbnlQz
492
+ - OAuth 00D1a000000H3O9!AQ4AQMIiowitx1OZ30nT1yLacEm4Ugw4j582Bro6xJOU7OOWfOJISGrWfdN.JIWTCleDrkoRt21t3bXGaSDTPfiqhjk5JS3n
417
493
  Accept-Encoding:
418
494
  - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
419
495
  Accept:
@@ -424,22 +500,22 @@ http_interactions:
424
500
  message: No Content
425
501
  headers:
426
502
  Date:
427
- - Mon, 08 Jun 2015 22:13:09 GMT
503
+ - Thu, 18 Jun 2015 19:51:02 GMT
428
504
  Set-Cookie:
429
- - BrowserId=f3opiVn6TLCSiBep8Uoc1g;Path=/;Domain=.salesforce.com;Expires=Fri,
430
- 07-Aug-2015 22:13:09 GMT
505
+ - BrowserId=MR5kFCIPTv-BPWEtTGc0rw;Path=/;Domain=.salesforce.com;Expires=Mon,
506
+ 17-Aug-2015 19:51:02 GMT
431
507
  Expires:
432
508
  - Thu, 01 Jan 1970 00:00:00 GMT
433
509
  Sforce-Limit-Info:
434
- - api-usage=63/15000
510
+ - api-usage=67/15000
435
511
  body:
436
512
  encoding: UTF-8
437
513
  string: ''
438
514
  http_version:
439
- recorded_at: Mon, 08 Jun 2015 22:13:10 GMT
515
+ recorded_at: Thu, 18 Jun 2015 19:51:02 GMT
440
516
  - request:
441
517
  method: delete
442
- uri: https://<host>/services/data/<api_version>/sobjects/Contact/0031a000004cfNSAAY
518
+ uri: https://<host>/services/data/<api_version>/sobjects/Contact/0031a000005FbELAA0
443
519
  body:
444
520
  encoding: US-ASCII
445
521
  string: ''
@@ -447,7 +523,7 @@ http_interactions:
447
523
  User-Agent:
448
524
  - Faraday v0.9.1
449
525
  Authorization:
450
- - OAuth 00D1a000000H3O9!AQ4AQH0rZGqBVji7vO4sB8J1_YW.g5S2vIbe9IaUgwHpwLPEdpfIcj9Ngpc2CndFvJZMwVIIp15.yQQOil19Qc2MuedbnlQz
526
+ - OAuth 00D1a000000H3O9!AQ4AQMIiowitx1OZ30nT1yLacEm4Ugw4j582Bro6xJOU7OOWfOJISGrWfdN.JIWTCleDrkoRt21t3bXGaSDTPfiqhjk5JS3n
451
527
  Accept-Encoding:
452
528
  - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
453
529
  Accept:
@@ -458,17 +534,17 @@ http_interactions:
458
534
  message: No Content
459
535
  headers:
460
536
  Date:
461
- - Mon, 08 Jun 2015 22:13:09 GMT
537
+ - Thu, 18 Jun 2015 19:51:03 GMT
462
538
  Set-Cookie:
463
- - BrowserId=24E8FeCtTkOdVzSUlbiRJw;Path=/;Domain=.salesforce.com;Expires=Fri,
464
- 07-Aug-2015 22:13:09 GMT
539
+ - BrowserId=gWzFzvUNTY2hMvZgSM9sqw;Path=/;Domain=.salesforce.com;Expires=Mon,
540
+ 17-Aug-2015 19:51:03 GMT
465
541
  Expires:
466
542
  - Thu, 01 Jan 1970 00:00:00 GMT
467
543
  Sforce-Limit-Info:
468
- - api-usage=56/15000
544
+ - api-usage=70/15000
469
545
  body:
470
546
  encoding: UTF-8
471
547
  string: ''
472
548
  http_version:
473
- recorded_at: Mon, 08 Jun 2015 22:13:11 GMT
549
+ recorded_at: Thu, 18 Jun 2015 19:51:03 GMT
474
550
  recorded_with: VCR 2.9.3