restforce-db 2.5.0 → 2.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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