adf_builder 0.0.6 → 0.2.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +22 -11
- data/Gemfile.lock +1 -1
- data/README.md +195 -7
- data/lib/adf_builder/base/prospect.rb +5 -0
- data/lib/adf_builder/data/iso-4217-currency-codes.json +1 -0
- data/lib/adf_builder/provider/provider.rb +55 -0
- data/lib/adf_builder/shared/contact.rb +25 -38
- data/lib/adf_builder/vehicles/colorcombinations.rb +31 -0
- data/lib/adf_builder/vehicles/price.rb +42 -0
- data/lib/adf_builder/vehicles/vehicles.rb +90 -36
- data/lib/adf_builder/version.rb +1 -1
- data/lib/adf_builder.rb +45 -1
- metadata +6 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 1a0aaeb6ecf4e9ee4c73a74b6e74051ee56d53cf75dcba5939fc8349c374a810
|
4
|
+
data.tar.gz: feb8b40fd25eb88c1284ae30ad9d8f098296181722bbcec9078850303e61671e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 2050252ed990af7a9f4a2d42005f018d5b20a3a05a911c80a40cd4f44499ad28c710826c5a109af80063b332e05d9e1d0e05972880ba67e2bf87afb1b4738e0f
|
7
|
+
data.tar.gz: 47eb36b0fe511153cf8ffdaebfc58a642b37e58966081a1069d2b0eb88e632f1adc1f8a76e8c3d3c2888ce50c7c9289541e37b95aed34813dcc063656686f6e4
|
data/CHANGELOG.md
CHANGED
@@ -1,21 +1,32 @@
|
|
1
1
|
## [Unreleased]
|
2
|
-
- Vehicle Structure
|
3
|
-
- Remaining Optional Tags that are not free text
|
4
|
-
- odometer
|
5
|
-
- condition
|
6
|
-
- colorcombination
|
7
|
-
- imagetag
|
8
|
-
- price
|
2
|
+
- Vehicle Structure - Remaining Optional Tags that are not free text
|
9
3
|
- option
|
10
4
|
- finance
|
11
5
|
- Expand Structures for all parameters
|
12
6
|
- Customer
|
13
|
-
- Vehicle
|
14
7
|
- Contact
|
8
|
+
- Vehicle
|
9
|
+
|
10
|
+
## [0.2.1] - 2021-11-02
|
11
|
+
- Add comments to the Vehicle nodes
|
12
|
+
|
13
|
+
## [0.1.0] - 2021-08-13
|
14
|
+
- Figured out versioning I think
|
15
|
+
- Add Price structure to vehicles
|
16
|
+
- Added JSON file for all 3 code currencies to validate entry
|
17
|
+
- Color Combinations uses function instead of giving raw array so it's
|
18
|
+
```ruby
|
19
|
+
item.color_combination(0) # new
|
20
|
+
item.color_combinations[0] # old
|
21
|
+
```
|
22
|
+
|
23
|
+
## [0.0.8] - 2021-08-12
|
24
|
+
- Added all of Provider structure
|
25
|
+
|
26
|
+
## [0.0.7] - 2021-08-08
|
27
|
+
- Much refactoring so that we can reuse functions
|
28
|
+
- Added more functionality to the Vehicle structure including all free text, all same level tags with params, and Color Combination and ImageTag
|
15
29
|
|
16
|
-
### In many moons
|
17
|
-
- Add Provider structure
|
18
|
-
- Add Price structure
|
19
30
|
|
20
31
|
## [0.0.6] - 2021-08-08
|
21
32
|
- minimal_lead function will remove all previous adf nodes
|
data/Gemfile.lock
CHANGED
data/README.md
CHANGED
@@ -108,15 +108,28 @@ Outputs
|
|
108
108
|
</prospect>
|
109
109
|
</adf>
|
110
110
|
```
|
111
|
-
|
111
|
+
|
112
|
+
Vehicle with different operations
|
112
113
|
|
113
114
|
```ruby
|
114
115
|
builder = AdfBuilder::Builder.new
|
115
116
|
builder.prospect.vehicles.add(2021, 'Toyota', 'Prius', {
|
116
|
-
interest: :sell,
|
117
117
|
status: :used,
|
118
|
-
vin: 'XXXXXXXXXX',
|
119
118
|
})
|
119
|
+
builder.prospect.vehicles.update_tags_with_free_text(0, {
|
120
|
+
bodystyle: 'howdy',
|
121
|
+
year: '2000'
|
122
|
+
})
|
123
|
+
builder.prospect.vehicles.update_odometer(0, 9000, {
|
124
|
+
units: 'km'
|
125
|
+
})
|
126
|
+
builder.prospect.vehicles.update_condition(0, 'ffff')
|
127
|
+
builder.prospect.vehicles.update_imagetag(0, 'http://adfxml.info/adf_spec.pdf', {
|
128
|
+
width: 400,
|
129
|
+
height: 500,
|
130
|
+
alttext: 'Howdy'
|
131
|
+
})
|
132
|
+
puts builder.to_xml
|
120
133
|
```
|
121
134
|
|
122
135
|
Outputs
|
@@ -127,16 +140,55 @@ Outputs
|
|
127
140
|
<?xml version="1.0"?>
|
128
141
|
<adf>
|
129
142
|
<prospect status="new">
|
130
|
-
<requestdate>2021-08-
|
131
|
-
<
|
132
|
-
|
143
|
+
<requestdate>2021-08-09T00:53:59+04:00</requestdate>
|
144
|
+
<customer/>
|
145
|
+
<vendor/>
|
146
|
+
<vehicle status="used">
|
147
|
+
<year>2000</year>
|
133
148
|
<make>Toyota</make>
|
134
149
|
<model>Prius</model>
|
135
|
-
<
|
150
|
+
<bodystyle>howdy</bodystyle>
|
151
|
+
<odometer units="km">9000</odometer>
|
152
|
+
<imagetag width="400" height="500" alttext="Howdy">http://adfxml.info/adf_spec.pdf</imagetag>
|
136
153
|
</vehicle>
|
137
154
|
</prospect>
|
138
155
|
</adf>
|
156
|
+
```
|
157
|
+
|
158
|
+
Color Combination
|
159
|
+
|
160
|
+
```ruby
|
161
|
+
builder = AdfBuilder::Builder.new
|
162
|
+
builder.prospect.vehicles.add(2021, 'Toyota', 'Prius', {
|
163
|
+
status: :used,
|
164
|
+
})
|
165
|
+
builder.prospect.vehicles.add_color_combination(0, 'black', 'yellow', 1)
|
166
|
+
puts builder.to_xml
|
167
|
+
```
|
139
168
|
|
169
|
+
Outputs
|
170
|
+
|
171
|
+
```xml
|
172
|
+
<?ADF version="1.0"?>
|
173
|
+
|
174
|
+
<?xml version="1.0"?>
|
175
|
+
<adf>
|
176
|
+
<prospect status="new">
|
177
|
+
<requestdate>2021-08-09T00:56:07+04:00</requestdate>
|
178
|
+
<customer/>
|
179
|
+
<vendor/>
|
180
|
+
<vehicle status="used">
|
181
|
+
<year>2021</year>
|
182
|
+
<make>Toyota</make>
|
183
|
+
<model>Prius</model>
|
184
|
+
<colorcombination>
|
185
|
+
<interiorcolor>black</interiorcolor>
|
186
|
+
<exteriorcolor>yellow</exteriorcolor>
|
187
|
+
<preference>1</preference>
|
188
|
+
</colorcombination>
|
189
|
+
</vehicle>
|
190
|
+
</prospect>
|
191
|
+
</adf>
|
140
192
|
```
|
141
193
|
|
142
194
|
Add Vendor
|
@@ -199,6 +251,142 @@ Outputs
|
|
199
251
|
</prospect>
|
200
252
|
</adf>
|
201
253
|
```
|
254
|
+
A complex Provider
|
255
|
+
|
256
|
+
```ruby
|
257
|
+
builder = AdfBuilder::Builder.new
|
258
|
+
provider = builder.prospect.provider
|
259
|
+
provider.add('Testing', {part: 'full', type: 'business'})
|
260
|
+
provider.update_tags_with_free_text({
|
261
|
+
url: 'howdy',
|
262
|
+
service: "Nice"
|
263
|
+
})
|
264
|
+
provider.add_email("test@test.com", {preferredcontact: 0})
|
265
|
+
provider.add_phone("+14445556666", {
|
266
|
+
type: 'fax',
|
267
|
+
time: 'day'
|
268
|
+
})
|
269
|
+
provider.add_contact("Mr Sir")
|
270
|
+
provider.contact.add_phone("+132435523424")
|
271
|
+
```
|
272
|
+
|
273
|
+
```xml
|
274
|
+
<?ADF version="1.0"?>
|
275
|
+
|
276
|
+
<?xml version="1.0"?>
|
277
|
+
<adf>
|
278
|
+
<prospect status="new">
|
279
|
+
<requestdate>2021-08-12T18:56:41+04:00</requestdate>
|
280
|
+
<customer/>
|
281
|
+
<vendor/>
|
282
|
+
<provider>
|
283
|
+
<name part="full" type="business">Testing</name>
|
284
|
+
<url>howdy</url>
|
285
|
+
<service>Nice</service>
|
286
|
+
<email preferredcontact="0">test@test.com</email>
|
287
|
+
<phone type="fax" time="day">+14445556666</phone>
|
288
|
+
<contact>
|
289
|
+
<name>Mr Sir</name>
|
290
|
+
<phone>+132435523424</phone>
|
291
|
+
</contact>
|
292
|
+
</provider>
|
293
|
+
</prospect>
|
294
|
+
</adf>
|
295
|
+
```
|
296
|
+
|
297
|
+
Adding and Updating Price of Vehicle
|
298
|
+
```ruby
|
299
|
+
builder = AdfBuilder::Builder.new
|
300
|
+
builder.prospect.vehicles.add(2021, 'Toyota', 'Prius', {
|
301
|
+
status: :used,
|
302
|
+
})
|
303
|
+
|
304
|
+
builder.prospect.vehicles.add_price(0,23400, {
|
305
|
+
type: 'quote',
|
306
|
+
currency: 'blah',
|
307
|
+
source: "YES"
|
308
|
+
})
|
309
|
+
|
310
|
+
puts builder.to_xml
|
311
|
+
|
312
|
+
builder.prospect.vehicles.price(0).update(3444, {
|
313
|
+
currency: 'USD'
|
314
|
+
})
|
315
|
+
|
316
|
+
puts builder.to_xml
|
317
|
+
```
|
318
|
+
|
319
|
+
Outputs
|
320
|
+
```xml
|
321
|
+
<?ADF version="1.0"?>
|
322
|
+
|
323
|
+
<?xml version="1.0"?>
|
324
|
+
<adf>
|
325
|
+
<prospect status="new">
|
326
|
+
<requestdate>2021-08-13T13:28:50+04:00</requestdate>
|
327
|
+
<customer/>
|
328
|
+
<vendor/>
|
329
|
+
<vehicle status="used">
|
330
|
+
<year>2021</year>
|
331
|
+
<make>Toyota</make>
|
332
|
+
<model>Prius</model>
|
333
|
+
<price type="quote" source="YES">23400</price>
|
334
|
+
</vehicle>
|
335
|
+
</prospect>
|
336
|
+
</adf>
|
337
|
+
```
|
338
|
+
|
339
|
+
```xml
|
340
|
+
<?ADF version="1.0"?>
|
341
|
+
|
342
|
+
<?xml version="1.0"?>
|
343
|
+
|
344
|
+
<adf>
|
345
|
+
<prospect status="new">
|
346
|
+
<requestdate>2021-08-13T13:28:50+04:00</requestdate>
|
347
|
+
<customer/>
|
348
|
+
<vendor/>
|
349
|
+
<vehicle status="used">
|
350
|
+
<year>2021</year>
|
351
|
+
<make>Toyota</make>
|
352
|
+
<model>Prius</model>
|
353
|
+
<price type="quote" source="YES" currency="USD">3444</price>
|
354
|
+
</vehicle>
|
355
|
+
</prospect>
|
356
|
+
</adf>
|
357
|
+
```
|
358
|
+
|
359
|
+
Adding comments to Vehicle
|
360
|
+
```ruby
|
361
|
+
builder = AdfBuilder::Builder.new
|
362
|
+
builder.prospect.vehicles.add(2021, 'Toyota', 'Prius', {
|
363
|
+
status: :used,
|
364
|
+
})
|
365
|
+
|
366
|
+
builder.prospect.vehicles.add_comments(0, "This is a comment")
|
367
|
+
|
368
|
+
puts builder.to_xml
|
369
|
+
```
|
370
|
+
|
371
|
+
Outputs
|
372
|
+
```xml
|
373
|
+
<?ADF version="1.0"?>
|
374
|
+
|
375
|
+
<?xml version="1.0"?>
|
376
|
+
<adf>
|
377
|
+
<prospect status="new">
|
378
|
+
<requestdate>2021-11-02T16:35:43+04:00</requestdate>
|
379
|
+
<customer/>
|
380
|
+
<vendor/>
|
381
|
+
<vehicle status="used">
|
382
|
+
<year>2021</year>
|
383
|
+
<make>Toyota</make>
|
384
|
+
<model>Prius</model>
|
385
|
+
<comments>This is a comment</comments>
|
386
|
+
</vehicle>
|
387
|
+
</prospect>
|
388
|
+
</adf>
|
389
|
+
```
|
202
390
|
## Development
|
203
391
|
|
204
392
|
After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake spec` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment.
|
@@ -16,6 +16,7 @@ module AdfBuilder
|
|
16
16
|
@vehicles = Vehicles.new(@prospect)
|
17
17
|
@customer = Customer.new(@prospect)
|
18
18
|
@vendor = Vendor.new(@prospect)
|
19
|
+
@provider = Provider.new(@prospect)
|
19
20
|
end
|
20
21
|
|
21
22
|
def request_date
|
@@ -34,6 +35,10 @@ module AdfBuilder
|
|
34
35
|
@vendor
|
35
36
|
end
|
36
37
|
|
38
|
+
def provider
|
39
|
+
@provider
|
40
|
+
end
|
41
|
+
|
37
42
|
# set status to renew
|
38
43
|
def set_renew
|
39
44
|
@prospect[:status] = STATUSES[:resend]
|
@@ -0,0 +1 @@
|
|
1
|
+
[{"Alphabetic_Code": "AFN", "Currency": "Afghani", "Entity": "AFGHANISTAN", "Minor_Unit": 2, "Numeric_Code": "971", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "EUR", "Currency": "Euro", "Entity": "\u00c5LAND ISLANDS", "Minor_Unit": 2, "Numeric_Code": "978", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "ALL", "Currency": "Lek", "Entity": "ALBANIA", "Minor_Unit": 2, "Numeric_Code": "008", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "DZD", "Currency": "Algerian Dinar", "Entity": "ALGERIA", "Minor_Unit": 2, "Numeric_Code": "012", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "USD", "Currency": "US Dollar", "Entity": "AMERICAN SAMOA", "Minor_Unit": 2, "Numeric_Code": "840", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "EUR", "Currency": "Euro", "Entity": "ANDORRA", "Minor_Unit": 2, "Numeric_Code": "978", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "AOA", "Currency": "Kwanza", "Entity": "ANGOLA", "Minor_Unit": 2, "Numeric_Code": "973", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "XCD", "Currency": "East Caribbean Dollar", "Entity": "ANGUILLA", "Minor_Unit": 2, "Numeric_Code": "951", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": null, "Currency": "No universal currency", "Entity": "ANTARCTICA", "Minor_Unit": null, "Numeric_Code": null, "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "XCD", "Currency": "East Caribbean Dollar", "Entity": "ANTIGUA AND BARBUDA", "Minor_Unit": 2, "Numeric_Code": "951", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "ARS", "Currency": "Argentine Peso", "Entity": "ARGENTINA", "Minor_Unit": 2, "Numeric_Code": "032", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "AMD", "Currency": "Armenian Dram", "Entity": "ARMENIA", "Minor_Unit": 2, "Numeric_Code": "051", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "AWG", "Currency": "Aruban Florin", "Entity": "ARUBA", "Minor_Unit": 2, "Numeric_Code": "533", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "AUD", "Currency": "Australian Dollar", "Entity": "AUSTRALIA", "Minor_Unit": 2, "Numeric_Code": "036", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "EUR", "Currency": "Euro", "Entity": "AUSTRIA", "Minor_Unit": 2, "Numeric_Code": "978", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "AZN", "Currency": "Azerbaijan Manat", "Entity": "AZERBAIJAN", "Minor_Unit": 2, "Numeric_Code": "944", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "BSD", "Currency": "Bahamian Dollar", "Entity": "BAHAMAS (THE)", "Minor_Unit": 2, "Numeric_Code": "044", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "BHD", "Currency": "Bahraini Dinar", "Entity": "BAHRAIN", "Minor_Unit": 3, "Numeric_Code": "048", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "BDT", "Currency": "Taka", "Entity": "BANGLADESH", "Minor_Unit": 2, "Numeric_Code": "050", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "BBD", "Currency": "Barbados Dollar", "Entity": "BARBADOS", "Minor_Unit": 2, "Numeric_Code": "052", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "BYN", "Currency": "Belarusian Ruble", "Entity": "BELARUS", "Minor_Unit": 2, "Numeric_Code": "933", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "EUR", "Currency": "Euro", "Entity": "BELGIUM", "Minor_Unit": 2, "Numeric_Code": "978", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "BZD", "Currency": "Belize Dollar", "Entity": "BELIZE", "Minor_Unit": 2, "Numeric_Code": "084", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "XOF", "Currency": "CFA Franc BCEAO", "Entity": "BENIN", "Minor_Unit": 0, "Numeric_Code": "952", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "BMD", "Currency": "Bermudian Dollar", "Entity": "BERMUDA", "Minor_Unit": 2, "Numeric_Code": "060", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "INR", "Currency": "Indian Rupee", "Entity": "BHUTAN", "Minor_Unit": 2, "Numeric_Code": "356", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "BTN", "Currency": "Ngultrum", "Entity": "BHUTAN", "Minor_Unit": 2, "Numeric_Code": "064", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "BOB", "Currency": "Boliviano", "Entity": "BOLIVIA (PLURINATIONAL STATE OF)", "Minor_Unit": 2, "Numeric_Code": "068", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "BOV", "Currency": "Mvdol", "Entity": "BOLIVIA (PLURINATIONAL STATE OF)", "Minor_Unit": 2, "Numeric_Code": "984", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "USD", "Currency": "US Dollar", "Entity": "BONAIRE, SINT EUSTATIUS AND SABA", "Minor_Unit": 2, "Numeric_Code": "840", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "BAM", "Currency": "Convertible Mark", "Entity": "BOSNIA AND HERZEGOVINA", "Minor_Unit": 2, "Numeric_Code": "977", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "BWP", "Currency": "Pula", "Entity": "BOTSWANA", "Minor_Unit": 2, "Numeric_Code": "072", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "NOK", "Currency": "Norwegian Krone", "Entity": "BOUVET ISLAND", "Minor_Unit": 2, "Numeric_Code": "578", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "BRL", "Currency": "Brazilian Real", "Entity": "BRAZIL", "Minor_Unit": 2, "Numeric_Code": "986", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "USD", "Currency": "US Dollar", "Entity": "BRITISH INDIAN OCEAN TERRITORY (THE)", "Minor_Unit": 2, "Numeric_Code": "840", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "BND", "Currency": "Brunei Dollar", "Entity": "BRUNEI DARUSSALAM", "Minor_Unit": 2, "Numeric_Code": "096", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "BGN", "Currency": "Bulgarian Lev", "Entity": "BULGARIA", "Minor_Unit": 2, "Numeric_Code": "975", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "XOF", "Currency": "CFA Franc BCEAO", "Entity": "BURKINA FASO", "Minor_Unit": 0, "Numeric_Code": "952", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "BIF", "Currency": "Burundi Franc", "Entity": "BURUNDI", "Minor_Unit": 0, "Numeric_Code": "108", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "CVE", "Currency": "Cabo Verde Escudo", "Entity": "CABO VERDE", "Minor_Unit": 2, "Numeric_Code": "132", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "KHR", "Currency": "Riel", "Entity": "CAMBODIA", "Minor_Unit": 2, "Numeric_Code": "116", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "XAF", "Currency": "CFA Franc BEAC", "Entity": "CAMEROON", "Minor_Unit": 0, "Numeric_Code": "950", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "CAD", "Currency": "Canadian Dollar", "Entity": "CANADA", "Minor_Unit": 2, "Numeric_Code": "124", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "KYD", "Currency": "Cayman Islands Dollar", "Entity": "CAYMAN ISLANDS (THE)", "Minor_Unit": 2, "Numeric_Code": "136", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "XAF", "Currency": "CFA Franc BEAC", "Entity": "CENTRAL AFRICAN REPUBLIC (THE)", "Minor_Unit": 0, "Numeric_Code": "950", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "XAF", "Currency": "CFA Franc BEAC", "Entity": "CHAD", "Minor_Unit": 0, "Numeric_Code": "950", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "CLP", "Currency": "Chilean Peso", "Entity": "CHILE", "Minor_Unit": 0, "Numeric_Code": "152", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "CLF", "Currency": "Unidad de Fomento", "Entity": "CHILE", "Minor_Unit": 4, "Numeric_Code": "990", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "CNY", "Currency": "Yuan Renminbi", "Entity": "CHINA", "Minor_Unit": 2, "Numeric_Code": "156", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "AUD", "Currency": "Australian Dollar", "Entity": "CHRISTMAS ISLAND", "Minor_Unit": 2, "Numeric_Code": "036", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "AUD", "Currency": "Australian Dollar", "Entity": "COCOS (KEELING) ISLANDS (THE)", "Minor_Unit": 2, "Numeric_Code": "036", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "COP", "Currency": "Colombian Peso", "Entity": "COLOMBIA", "Minor_Unit": 2, "Numeric_Code": "170", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "COU", "Currency": "Unidad de Valor Real", "Entity": "COLOMBIA", "Minor_Unit": 2, "Numeric_Code": "970", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "KMF", "Currency": "Comorian Franc", "Entity": "COMOROS (THE)", "Minor_Unit": 0, "Numeric_Code": "174", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "CDF", "Currency": "Congolese Franc", "Entity": "CONGO (THE DEMOCRATIC REPUBLIC OF THE)", "Minor_Unit": 2, "Numeric_Code": "976", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "XAF", "Currency": "CFA Franc BEAC", "Entity": "CONGO (THE)", "Minor_Unit": 0, "Numeric_Code": "950", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "NZD", "Currency": "New Zealand Dollar", "Entity": "COOK ISLANDS (THE)", "Minor_Unit": 2, "Numeric_Code": "554", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "CRC", "Currency": "Costa Rican Colon", "Entity": "COSTA RICA", "Minor_Unit": 2, "Numeric_Code": "188", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "XOF", "Currency": "CFA Franc BCEAO", "Entity": "C\u00d4TE D'IVOIRE", "Minor_Unit": 0, "Numeric_Code": "952", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "HRK", "Currency": "Kuna", "Entity": "CROATIA", "Minor_Unit": 2, "Numeric_Code": "191", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "CUP", "Currency": "Cuban Peso", "Entity": "CUBA", "Minor_Unit": 2, "Numeric_Code": "192", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "CUC", "Currency": "Peso Convertible", "Entity": "CUBA", "Minor_Unit": 2, "Numeric_Code": "931", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "ANG", "Currency": "Netherlands Antillean Guilder", "Entity": "CURA\u00c7AO", "Minor_Unit": 2, "Numeric_Code": "532", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "EUR", "Currency": "Euro", "Entity": "CYPRUS", "Minor_Unit": 2, "Numeric_Code": "978", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "CZK", "Currency": "Czech Koruna", "Entity": "CZECHIA", "Minor_Unit": 2, "Numeric_Code": "203", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "DKK", "Currency": "Danish Krone", "Entity": "DENMARK", "Minor_Unit": 2, "Numeric_Code": "208", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "DJF", "Currency": "Djibouti Franc", "Entity": "DJIBOUTI", "Minor_Unit": 0, "Numeric_Code": "262", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "XCD", "Currency": "East Caribbean Dollar", "Entity": "DOMINICA", "Minor_Unit": 2, "Numeric_Code": "951", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "DOP", "Currency": "Dominican Peso", "Entity": "DOMINICAN REPUBLIC (THE)", "Minor_Unit": 2, "Numeric_Code": "214", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "USD", "Currency": "US Dollar", "Entity": "ECUADOR", "Minor_Unit": 2, "Numeric_Code": "840", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "EGP", "Currency": "Egyptian Pound", "Entity": "EGYPT", "Minor_Unit": 2, "Numeric_Code": "818", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "SVC", "Currency": "El Salvador Colon", "Entity": "EL SALVADOR", "Minor_Unit": 2, "Numeric_Code": "222", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "USD", "Currency": "US Dollar", "Entity": "EL SALVADOR", "Minor_Unit": 2, "Numeric_Code": "840", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "XAF", "Currency": "CFA Franc BEAC", "Entity": "EQUATORIAL GUINEA", "Minor_Unit": 0, "Numeric_Code": "950", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "ERN", "Currency": "Nakfa", "Entity": "ERITREA", "Minor_Unit": 2, "Numeric_Code": "232", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "EUR", "Currency": "Euro", "Entity": "ESTONIA", "Minor_Unit": 2, "Numeric_Code": "978", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "ETB", "Currency": "Ethiopian Birr", "Entity": "ETHIOPIA", "Minor_Unit": 2, "Numeric_Code": "230", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "EUR", "Currency": "Euro", "Entity": "EUROPEAN UNION", "Minor_Unit": 2, "Numeric_Code": "978", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "FKP", "Currency": "Falkland Islands Pound", "Entity": "FALKLAND ISLANDS (THE) [MALVINAS]", "Minor_Unit": 2, "Numeric_Code": "238", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "DKK", "Currency": "Danish Krone", "Entity": "FAROE ISLANDS (THE)", "Minor_Unit": 2, "Numeric_Code": "208", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "FJD", "Currency": "Fiji Dollar", "Entity": "FIJI", "Minor_Unit": 2, "Numeric_Code": "242", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "EUR", "Currency": "Euro", "Entity": "FINLAND", "Minor_Unit": 2, "Numeric_Code": "978", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "EUR", "Currency": "Euro", "Entity": "FRANCE", "Minor_Unit": 2, "Numeric_Code": "978", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "EUR", "Currency": "Euro", "Entity": "FRENCH GUIANA", "Minor_Unit": 2, "Numeric_Code": "978", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "XPF", "Currency": "CFP Franc", "Entity": "FRENCH POLYNESIA", "Minor_Unit": 0, "Numeric_Code": "953", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "EUR", "Currency": "Euro", "Entity": "FRENCH SOUTHERN TERRITORIES (THE)", "Minor_Unit": 2, "Numeric_Code": "978", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "XAF", "Currency": "CFA Franc BEAC", "Entity": "GABON", "Minor_Unit": 0, "Numeric_Code": "950", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "GMD", "Currency": "Dalasi", "Entity": "GAMBIA (THE)", "Minor_Unit": 2, "Numeric_Code": "270", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "GEL", "Currency": "Lari", "Entity": "GEORGIA", "Minor_Unit": 2, "Numeric_Code": "981", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "EUR", "Currency": "Euro", "Entity": "GERMANY", "Minor_Unit": 2, "Numeric_Code": "978", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "GHS", "Currency": "Ghana Cedi", "Entity": "GHANA", "Minor_Unit": 2, "Numeric_Code": "936", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "GIP", "Currency": "Gibraltar Pound", "Entity": "GIBRALTAR", "Minor_Unit": 2, "Numeric_Code": "292", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "EUR", "Currency": "Euro", "Entity": "GREECE", "Minor_Unit": 2, "Numeric_Code": "978", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "DKK", "Currency": "Danish Krone", "Entity": "GREENLAND", "Minor_Unit": 2, "Numeric_Code": "208", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "XCD", "Currency": "East Caribbean Dollar", "Entity": "GRENADA", "Minor_Unit": 2, "Numeric_Code": "951", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "EUR", "Currency": "Euro", "Entity": "GUADELOUPE", "Minor_Unit": 2, "Numeric_Code": "978", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "USD", "Currency": "US Dollar", "Entity": "GUAM", "Minor_Unit": 2, "Numeric_Code": "840", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "GTQ", "Currency": "Quetzal", "Entity": "GUATEMALA", "Minor_Unit": 2, "Numeric_Code": "320", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "GBP", "Currency": "Pound Sterling", "Entity": "GUERNSEY", "Minor_Unit": 2, "Numeric_Code": "826", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "GNF", "Currency": "Guinean Franc", "Entity": "GUINEA", "Minor_Unit": 0, "Numeric_Code": "324", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "XOF", "Currency": "CFA Franc BCEAO", "Entity": "GUINEA-BISSAU", "Minor_Unit": 0, "Numeric_Code": "952", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "GYD", "Currency": "Guyana Dollar", "Entity": "GUYANA", "Minor_Unit": 2, "Numeric_Code": "328", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "HTG", "Currency": "Gourde", "Entity": "HAITI", "Minor_Unit": 2, "Numeric_Code": "332", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "USD", "Currency": "US Dollar", "Entity": "HAITI", "Minor_Unit": 2, "Numeric_Code": "840", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "AUD", "Currency": "Australian Dollar", "Entity": "HEARD ISLAND AND McDONALD ISLANDS", "Minor_Unit": 2, "Numeric_Code": "036", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "EUR", "Currency": "Euro", "Entity": "HOLY SEE (THE)", "Minor_Unit": 2, "Numeric_Code": "978", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "HNL", "Currency": "Lempira", "Entity": "HONDURAS", "Minor_Unit": 2, "Numeric_Code": "340", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "HKD", "Currency": "Hong Kong Dollar", "Entity": "HONG KONG", "Minor_Unit": 2, "Numeric_Code": "344", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "HUF", "Currency": "Forint", "Entity": "HUNGARY", "Minor_Unit": 2, "Numeric_Code": "348", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "ISK", "Currency": "Iceland Krona", "Entity": "ICELAND", "Minor_Unit": 0, "Numeric_Code": "352", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "INR", "Currency": "Indian Rupee", "Entity": "INDIA", "Minor_Unit": 2, "Numeric_Code": "356", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "IDR", "Currency": "Rupiah", "Entity": "INDONESIA", "Minor_Unit": 2, "Numeric_Code": "360", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "XDR", "Currency": "SDR (Special Drawing Right)", "Entity": "INTERNATIONAL MONETARY FUND (IMF)", "Minor_Unit": null, "Numeric_Code": "960", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "IRR", "Currency": "Iranian Rial", "Entity": "IRAN (ISLAMIC REPUBLIC OF)", "Minor_Unit": 2, "Numeric_Code": "364", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "IQD", "Currency": "Iraqi Dinar", "Entity": "IRAQ", "Minor_Unit": 3, "Numeric_Code": "368", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "EUR", "Currency": "Euro", "Entity": "IRELAND", "Minor_Unit": 2, "Numeric_Code": "978", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "GBP", "Currency": "Pound Sterling", "Entity": "ISLE OF MAN", "Minor_Unit": 2, "Numeric_Code": "826", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "ILS", "Currency": "New Israeli Sheqel", "Entity": "ISRAEL", "Minor_Unit": 2, "Numeric_Code": "376", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "EUR", "Currency": "Euro", "Entity": "ITALY", "Minor_Unit": 2, "Numeric_Code": "978", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "JMD", "Currency": "Jamaican Dollar", "Entity": "JAMAICA", "Minor_Unit": 2, "Numeric_Code": "388", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "JPY", "Currency": "Yen", "Entity": "JAPAN", "Minor_Unit": 0, "Numeric_Code": "392", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "GBP", "Currency": "Pound Sterling", "Entity": "JERSEY", "Minor_Unit": 2, "Numeric_Code": "826", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "JOD", "Currency": "Jordanian Dinar", "Entity": "JORDAN", "Minor_Unit": 3, "Numeric_Code": "400", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "KZT", "Currency": "Tenge", "Entity": "KAZAKHSTAN", "Minor_Unit": 2, "Numeric_Code": "398", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "KES", "Currency": "Kenyan Shilling", "Entity": "KENYA", "Minor_Unit": 2, "Numeric_Code": "404", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "AUD", "Currency": "Australian Dollar", "Entity": "KIRIBATI", "Minor_Unit": 2, "Numeric_Code": "036", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "KPW", "Currency": "North Korean Won", "Entity": "KOREA (THE DEMOCRATIC PEOPLE\u2019S REPUBLIC OF)", "Minor_Unit": 2, "Numeric_Code": "408", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "KRW", "Currency": "Won", "Entity": "KOREA (THE REPUBLIC OF)", "Minor_Unit": 0, "Numeric_Code": "410", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "KWD", "Currency": "Kuwaiti Dinar", "Entity": "KUWAIT", "Minor_Unit": 3, "Numeric_Code": "414", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "KGS", "Currency": "Som", "Entity": "KYRGYZSTAN", "Minor_Unit": 2, "Numeric_Code": "417", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "LAK", "Currency": "Lao Kip", "Entity": "LAO PEOPLE\u2019S DEMOCRATIC REPUBLIC (THE)", "Minor_Unit": 2, "Numeric_Code": "418", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "EUR", "Currency": "Euro", "Entity": "LATVIA", "Minor_Unit": 2, "Numeric_Code": "978", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "LBP", "Currency": "Lebanese Pound", "Entity": "LEBANON", "Minor_Unit": 2, "Numeric_Code": "422", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "LSL", "Currency": "Loti", "Entity": "LESOTHO", "Minor_Unit": 2, "Numeric_Code": "426", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "ZAR", "Currency": "Rand", "Entity": "LESOTHO", "Minor_Unit": 2, "Numeric_Code": "710", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "LRD", "Currency": "Liberian Dollar", "Entity": "LIBERIA", "Minor_Unit": 2, "Numeric_Code": "430", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "LYD", "Currency": "Libyan Dinar", "Entity": "LIBYA", "Minor_Unit": 3, "Numeric_Code": "434", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "CHF", "Currency": "Swiss Franc", "Entity": "LIECHTENSTEIN", "Minor_Unit": 2, "Numeric_Code": "756", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "EUR", "Currency": "Euro", "Entity": "LITHUANIA", "Minor_Unit": 2, "Numeric_Code": "978", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "EUR", "Currency": "Euro", "Entity": "LUXEMBOURG", "Minor_Unit": 2, "Numeric_Code": "978", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "MOP", "Currency": "Pataca", "Entity": "MACAO", "Minor_Unit": 2, "Numeric_Code": "446", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "MKD", "Currency": "Denar", "Entity": "MACEDONIA (THE FORMER YUGOSLAV REPUBLIC OF)", "Minor_Unit": 2, "Numeric_Code": "807", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "MGA", "Currency": "Malagasy Ariary", "Entity": "MADAGASCAR", "Minor_Unit": 2, "Numeric_Code": "969", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "MWK", "Currency": "Malawi Kwacha", "Entity": "MALAWI", "Minor_Unit": 2, "Numeric_Code": "454", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "MYR", "Currency": "Malaysian Ringgit", "Entity": "MALAYSIA", "Minor_Unit": 2, "Numeric_Code": "458", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "MVR", "Currency": "Rufiyaa", "Entity": "MALDIVES", "Minor_Unit": 2, "Numeric_Code": "462", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "XOF", "Currency": "CFA Franc BCEAO", "Entity": "MALI", "Minor_Unit": 0, "Numeric_Code": "952", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "EUR", "Currency": "Euro", "Entity": "MALTA", "Minor_Unit": 2, "Numeric_Code": "978", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "USD", "Currency": "US Dollar", "Entity": "MARSHALL ISLANDS (THE)", "Minor_Unit": 2, "Numeric_Code": "840", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "EUR", "Currency": "Euro", "Entity": "MARTINIQUE", "Minor_Unit": 2, "Numeric_Code": "978", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "MRO", "Currency": "Ouguiya", "Entity": "MAURITANIA", "Minor_Unit": 2, "Numeric_Code": "478", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "MUR", "Currency": "Mauritius Rupee", "Entity": "MAURITIUS", "Minor_Unit": 2, "Numeric_Code": "480", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "EUR", "Currency": "Euro", "Entity": "MAYOTTE", "Minor_Unit": 2, "Numeric_Code": "978", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "XUA", "Currency": "ADB Unit of Account", "Entity": "MEMBER COUNTRIES OF THE AFRICAN DEVELOPMENT BANK GROUP", "Minor_Unit": null, "Numeric_Code": "965", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "MXN", "Currency": "Mexican Peso", "Entity": "MEXICO", "Minor_Unit": 2, "Numeric_Code": "484", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "MXV", "Currency": "Mexican Unidad de Inversion (UDI)", "Entity": "MEXICO", "Minor_Unit": 2, "Numeric_Code": "979", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "USD", "Currency": "US Dollar", "Entity": "MICRONESIA (FEDERATED STATES OF)", "Minor_Unit": 2, "Numeric_Code": "840", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "MDL", "Currency": "Moldovan Leu", "Entity": "MOLDOVA (THE REPUBLIC OF)", "Minor_Unit": 2, "Numeric_Code": "498", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "EUR", "Currency": "Euro", "Entity": "MONACO", "Minor_Unit": 2, "Numeric_Code": "978", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "MNT", "Currency": "Tugrik", "Entity": "MONGOLIA", "Minor_Unit": 2, "Numeric_Code": "496", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "EUR", "Currency": "Euro", "Entity": "MONTENEGRO", "Minor_Unit": 2, "Numeric_Code": "978", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "XCD", "Currency": "East Caribbean Dollar", "Entity": "MONTSERRAT", "Minor_Unit": 2, "Numeric_Code": "951", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "MAD", "Currency": "Moroccan Dirham", "Entity": "MOROCCO", "Minor_Unit": 2, "Numeric_Code": "504", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "MZN", "Currency": "Mozambique Metical", "Entity": "MOZAMBIQUE", "Minor_Unit": 2, "Numeric_Code": "943", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "MMK", "Currency": "Kyat", "Entity": "MYANMAR", "Minor_Unit": 2, "Numeric_Code": "104", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "NAD", "Currency": "Namibia Dollar", "Entity": "NAMIBIA", "Minor_Unit": 2, "Numeric_Code": "516", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "ZAR", "Currency": "Rand", "Entity": "NAMIBIA", "Minor_Unit": 2, "Numeric_Code": "710", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "AUD", "Currency": "Australian Dollar", "Entity": "NAURU", "Minor_Unit": 2, "Numeric_Code": "036", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "NPR", "Currency": "Nepalese Rupee", "Entity": "NEPAL", "Minor_Unit": 2, "Numeric_Code": "524", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "EUR", "Currency": "Euro", "Entity": "NETHERLANDS (THE)", "Minor_Unit": 2, "Numeric_Code": "978", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "XPF", "Currency": "CFP Franc", "Entity": "NEW CALEDONIA", "Minor_Unit": 0, "Numeric_Code": "953", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "NZD", "Currency": "New Zealand Dollar", "Entity": "NEW ZEALAND", "Minor_Unit": 2, "Numeric_Code": "554", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "NIO", "Currency": "Cordoba Oro", "Entity": "NICARAGUA", "Minor_Unit": 2, "Numeric_Code": "558", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "XOF", "Currency": "CFA Franc BCEAO", "Entity": "NIGER (THE)", "Minor_Unit": 0, "Numeric_Code": "952", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "NGN", "Currency": "Naira", "Entity": "NIGERIA", "Minor_Unit": 2, "Numeric_Code": "566", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "NZD", "Currency": "New Zealand Dollar", "Entity": "NIUE", "Minor_Unit": 2, "Numeric_Code": "554", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "AUD", "Currency": "Australian Dollar", "Entity": "NORFOLK ISLAND", "Minor_Unit": 2, "Numeric_Code": "036", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "USD", "Currency": "US Dollar", "Entity": "NORTHERN MARIANA ISLANDS (THE)", "Minor_Unit": 2, "Numeric_Code": "840", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "NOK", "Currency": "Norwegian Krone", "Entity": "NORWAY", "Minor_Unit": 2, "Numeric_Code": "578", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "OMR", "Currency": "Rial Omani", "Entity": "OMAN", "Minor_Unit": 3, "Numeric_Code": "512", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "PKR", "Currency": "Pakistan Rupee", "Entity": "PAKISTAN", "Minor_Unit": 2, "Numeric_Code": "586", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "USD", "Currency": "US Dollar", "Entity": "PALAU", "Minor_Unit": 2, "Numeric_Code": "840", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": null, "Currency": "No universal currency", "Entity": "PALESTINE, STATE OF", "Minor_Unit": null, "Numeric_Code": null, "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "PAB", "Currency": "Balboa", "Entity": "PANAMA", "Minor_Unit": 2, "Numeric_Code": "590", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "USD", "Currency": "US Dollar", "Entity": "PANAMA", "Minor_Unit": 2, "Numeric_Code": "840", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "PGK", "Currency": "Kina", "Entity": "PAPUA NEW GUINEA", "Minor_Unit": 2, "Numeric_Code": "598", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "PYG", "Currency": "Guarani", "Entity": "PARAGUAY", "Minor_Unit": 0, "Numeric_Code": "600", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "PEN", "Currency": "Sol", "Entity": "PERU", "Minor_Unit": 2, "Numeric_Code": "604", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "PHP", "Currency": "Philippine Piso", "Entity": "PHILIPPINES (THE)", "Minor_Unit": 2, "Numeric_Code": "608", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "NZD", "Currency": "New Zealand Dollar", "Entity": "PITCAIRN", "Minor_Unit": 2, "Numeric_Code": "554", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "PLN", "Currency": "Zloty", "Entity": "POLAND", "Minor_Unit": 2, "Numeric_Code": "985", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "EUR", "Currency": "Euro", "Entity": "PORTUGAL", "Minor_Unit": 2, "Numeric_Code": "978", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "USD", "Currency": "US Dollar", "Entity": "PUERTO RICO", "Minor_Unit": 2, "Numeric_Code": "840", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "QAR", "Currency": "Qatari Rial", "Entity": "QATAR", "Minor_Unit": 2, "Numeric_Code": "634", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "EUR", "Currency": "Euro", "Entity": "R\u00c9UNION", "Minor_Unit": 2, "Numeric_Code": "978", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "RON", "Currency": "Romanian Leu", "Entity": "ROMANIA", "Minor_Unit": 2, "Numeric_Code": "946", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "RUB", "Currency": "Russian Ruble", "Entity": "RUSSIAN FEDERATION (THE)", "Minor_Unit": 2, "Numeric_Code": "643", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "RWF", "Currency": "Rwanda Franc", "Entity": "RWANDA", "Minor_Unit": 0, "Numeric_Code": "646", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "EUR", "Currency": "Euro", "Entity": "SAINT BARTH\u00c9LEMY", "Minor_Unit": 2, "Numeric_Code": "978", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "SHP", "Currency": "Saint Helena Pound", "Entity": "SAINT HELENA, ASCENSION AND TRISTAN DA CUNHA", "Minor_Unit": 2, "Numeric_Code": "654", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "XCD", "Currency": "East Caribbean Dollar", "Entity": "SAINT KITTS AND NEVIS", "Minor_Unit": 2, "Numeric_Code": "951", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "XCD", "Currency": "East Caribbean Dollar", "Entity": "SAINT LUCIA", "Minor_Unit": 2, "Numeric_Code": "951", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "EUR", "Currency": "Euro", "Entity": "SAINT MARTIN (FRENCH PART)", "Minor_Unit": 2, "Numeric_Code": "978", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "EUR", "Currency": "Euro", "Entity": "SAINT PIERRE AND MIQUELON", "Minor_Unit": 2, "Numeric_Code": "978", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "XCD", "Currency": "East Caribbean Dollar", "Entity": "SAINT VINCENT AND THE GRENADINES", "Minor_Unit": 2, "Numeric_Code": "951", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "WST", "Currency": "Tala", "Entity": "SAMOA", "Minor_Unit": 2, "Numeric_Code": "882", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "EUR", "Currency": "Euro", "Entity": "SAN MARINO", "Minor_Unit": 2, "Numeric_Code": "978", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "STD", "Currency": "Dobra", "Entity": "SAO TOME AND PRINCIPE", "Minor_Unit": 2, "Numeric_Code": "678", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "SAR", "Currency": "Saudi Riyal", "Entity": "SAUDI ARABIA", "Minor_Unit": 2, "Numeric_Code": "682", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "XOF", "Currency": "CFA Franc BCEAO", "Entity": "SENEGAL", "Minor_Unit": 0, "Numeric_Code": "952", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "RSD", "Currency": "Serbian Dinar", "Entity": "SERBIA", "Minor_Unit": 2, "Numeric_Code": "941", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "SCR", "Currency": "Seychelles Rupee", "Entity": "SEYCHELLES", "Minor_Unit": 2, "Numeric_Code": "690", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "SLL", "Currency": "Leone", "Entity": "SIERRA LEONE", "Minor_Unit": 2, "Numeric_Code": "694", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "SGD", "Currency": "Singapore Dollar", "Entity": "SINGAPORE", "Minor_Unit": 2, "Numeric_Code": "702", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "ANG", "Currency": "Netherlands Antillean Guilder", "Entity": "SINT MAARTEN (DUTCH PART)", "Minor_Unit": 2, "Numeric_Code": "532", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "XSU", "Currency": "Sucre", "Entity": "SISTEMA UNITARIO DE COMPENSACION REGIONAL DE PAGOS \"SUCRE\"", "Minor_Unit": null, "Numeric_Code": "994", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "EUR", "Currency": "Euro", "Entity": "SLOVAKIA", "Minor_Unit": 2, "Numeric_Code": "978", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "EUR", "Currency": "Euro", "Entity": "SLOVENIA", "Minor_Unit": 2, "Numeric_Code": "978", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "SBD", "Currency": "Solomon Islands Dollar", "Entity": "SOLOMON ISLANDS", "Minor_Unit": 2, "Numeric_Code": "090", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "SOS", "Currency": "Somali Shilling", "Entity": "SOMALIA", "Minor_Unit": 2, "Numeric_Code": "706", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "ZAR", "Currency": "Rand", "Entity": "SOUTH AFRICA", "Minor_Unit": 2, "Numeric_Code": "710", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": null, "Currency": "No universal currency", "Entity": "SOUTH GEORGIA AND THE SOUTH SANDWICH ISLANDS", "Minor_Unit": null, "Numeric_Code": null, "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "SSP", "Currency": "South Sudanese Pound", "Entity": "SOUTH SUDAN", "Minor_Unit": 2, "Numeric_Code": "728", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "EUR", "Currency": "Euro", "Entity": "SPAIN", "Minor_Unit": 2, "Numeric_Code": "978", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "LKR", "Currency": "Sri Lanka Rupee", "Entity": "SRI LANKA", "Minor_Unit": 2, "Numeric_Code": "144", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "SDG", "Currency": "Sudanese Pound", "Entity": "SUDAN (THE)", "Minor_Unit": 2, "Numeric_Code": "938", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "SRD", "Currency": "Surinam Dollar", "Entity": "SURINAME", "Minor_Unit": 2, "Numeric_Code": "968", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "NOK", "Currency": "Norwegian Krone", "Entity": "SVALBARD AND JAN MAYEN", "Minor_Unit": 2, "Numeric_Code": "578", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "SZL", "Currency": "Lilangeni", "Entity": "SWAZILAND", "Minor_Unit": 2, "Numeric_Code": "748", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "SEK", "Currency": "Swedish Krona", "Entity": "SWEDEN", "Minor_Unit": 2, "Numeric_Code": "752", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "CHF", "Currency": "Swiss Franc", "Entity": "SWITZERLAND", "Minor_Unit": 2, "Numeric_Code": "756", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "CHE", "Currency": "WIR Euro", "Entity": "SWITZERLAND", "Minor_Unit": 2, "Numeric_Code": "947", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "CHW", "Currency": "WIR Franc", "Entity": "SWITZERLAND", "Minor_Unit": 2, "Numeric_Code": "948", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "SYP", "Currency": "Syrian Pound", "Entity": "SYRIAN ARAB REPUBLIC", "Minor_Unit": 2, "Numeric_Code": "760", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "TWD", "Currency": "New Taiwan Dollar", "Entity": "TAIWAN (PROVINCE OF CHINA)", "Minor_Unit": 2, "Numeric_Code": "901", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "TJS", "Currency": "Somoni", "Entity": "TAJIKISTAN", "Minor_Unit": 2, "Numeric_Code": "972", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "TZS", "Currency": "Tanzanian Shilling", "Entity": "TANZANIA, UNITED REPUBLIC OF", "Minor_Unit": 2, "Numeric_Code": "834", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "THB", "Currency": "Baht", "Entity": "THAILAND", "Minor_Unit": 2, "Numeric_Code": "764", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "USD", "Currency": "US Dollar", "Entity": "TIMOR-LESTE", "Minor_Unit": 2, "Numeric_Code": "840", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "XOF", "Currency": "CFA Franc BCEAO", "Entity": "TOGO", "Minor_Unit": 0, "Numeric_Code": "952", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "NZD", "Currency": "New Zealand Dollar", "Entity": "TOKELAU", "Minor_Unit": 2, "Numeric_Code": "554", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "TOP", "Currency": "Pa\u2019anga", "Entity": "TONGA", "Minor_Unit": 2, "Numeric_Code": "776", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "TTD", "Currency": "Trinidad and Tobago Dollar", "Entity": "TRINIDAD AND TOBAGO", "Minor_Unit": 2, "Numeric_Code": "780", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "TND", "Currency": "Tunisian Dinar", "Entity": "TUNISIA", "Minor_Unit": 3, "Numeric_Code": "788", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "TRY", "Currency": "Turkish Lira", "Entity": "TURKEY", "Minor_Unit": 2, "Numeric_Code": "949", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "TMT", "Currency": "Turkmenistan New Manat", "Entity": "TURKMENISTAN", "Minor_Unit": 2, "Numeric_Code": "934", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "USD", "Currency": "US Dollar", "Entity": "TURKS AND CAICOS ISLANDS (THE)", "Minor_Unit": 2, "Numeric_Code": "840", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "AUD", "Currency": "Australian Dollar", "Entity": "TUVALU", "Minor_Unit": 2, "Numeric_Code": "036", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "UGX", "Currency": "Uganda Shilling", "Entity": "UGANDA", "Minor_Unit": 0, "Numeric_Code": "800", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "UAH", "Currency": "Hryvnia", "Entity": "UKRAINE", "Minor_Unit": 2, "Numeric_Code": "980", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "AED", "Currency": "UAE Dirham", "Entity": "UNITED ARAB EMIRATES (THE)", "Minor_Unit": 2, "Numeric_Code": "784", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "GBP", "Currency": "Pound Sterling", "Entity": "UNITED KINGDOM OF GREAT BRITAIN AND NORTHERN IRELAND (THE)", "Minor_Unit": 2, "Numeric_Code": "826", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "USD", "Currency": "US Dollar", "Entity": "UNITED STATES MINOR OUTLYING ISLANDS (THE)", "Minor_Unit": 2, "Numeric_Code": "840", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "USD", "Currency": "US Dollar", "Entity": "UNITED STATES OF AMERICA (THE)", "Minor_Unit": 2, "Numeric_Code": "840", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "USN", "Currency": "US Dollar (Next day)", "Entity": "UNITED STATES OF AMERICA (THE)", "Minor_Unit": 2, "Numeric_Code": "997", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "UYU", "Currency": "Peso Uruguayo", "Entity": "URUGUAY", "Minor_Unit": 2, "Numeric_Code": "858", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "UYI", "Currency": "Uruguay Peso en Unidades Indexadas (URUIURUI)", "Entity": "URUGUAY", "Minor_Unit": 0, "Numeric_Code": "940", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "UZS", "Currency": "Uzbekistan Sum", "Entity": "UZBEKISTAN", "Minor_Unit": 2, "Numeric_Code": "860", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "VUV", "Currency": "Vatu", "Entity": "VANUATU", "Minor_Unit": 0, "Numeric_Code": "548", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "VEF", "Currency": "Bol\u00edvar", "Entity": "VENEZUELA (BOLIVARIAN REPUBLIC OF)", "Minor_Unit": 2, "Numeric_Code": "937", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "VND", "Currency": "Dong", "Entity": "VIET NAM", "Minor_Unit": 0, "Numeric_Code": "704", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "USD", "Currency": "US Dollar", "Entity": "VIRGIN ISLANDS (BRITISH)", "Minor_Unit": 2, "Numeric_Code": "840", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "USD", "Currency": "US Dollar", "Entity": "VIRGIN ISLANDS (U.S.)", "Minor_Unit": 2, "Numeric_Code": "840", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "XPF", "Currency": "CFP Franc", "Entity": "WALLIS AND FUTUNA", "Minor_Unit": 0, "Numeric_Code": "953", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "MAD", "Currency": "Moroccan Dirham", "Entity": "WESTERN SAHARA", "Minor_Unit": 2, "Numeric_Code": "504", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "YER", "Currency": "Yemeni Rial", "Entity": "YEMEN", "Minor_Unit": 2, "Numeric_Code": "886", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "ZMW", "Currency": "Zambian Kwacha", "Entity": "ZAMBIA", "Minor_Unit": 2, "Numeric_Code": "967", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "ZWL", "Currency": "Zimbabwe Dollar", "Entity": "ZIMBABWE", "Minor_Unit": 2, "Numeric_Code": "932", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "XBA", "Currency": "Bond Markets Unit European Composite Unit (EURCO)", "Entity": "ZZ01_Bond Markets Unit European_EURCO", "Minor_Unit": null, "Numeric_Code": "955", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "XBB", "Currency": "Bond Markets Unit European Monetary Unit (E.M.U.-6)", "Entity": "ZZ02_Bond Markets Unit European_EMU-6", "Minor_Unit": null, "Numeric_Code": "956", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "XBC", "Currency": "Bond Markets Unit European Unit of Account 9 (E.U.A.-9)", "Entity": "ZZ03_Bond Markets Unit European_EUA-9", "Minor_Unit": null, "Numeric_Code": "957", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "XBD", "Currency": "Bond Markets Unit European Unit of Account 17 (E.U.A.-17)", "Entity": "ZZ04_Bond Markets Unit European_EUA-17", "Minor_Unit": null, "Numeric_Code": "958", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "XTS", "Currency": "Codes specifically reserved for testing purposes", "Entity": "ZZ06_Testing_Code", "Minor_Unit": null, "Numeric_Code": "963", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "XXX", "Currency": "The codes assigned for transactions where no currency is involved", "Entity": "ZZ07_No_Currency", "Minor_Unit": null, "Numeric_Code": "999", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "XAU", "Currency": "Gold", "Entity": "ZZ08_Gold", "Minor_Unit": null, "Numeric_Code": "959", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "XPD", "Currency": "Palladium", "Entity": "ZZ09_Palladium", "Minor_Unit": null, "Numeric_Code": "964", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "XPT", "Currency": "Platinum", "Entity": "ZZ10_Platinum", "Minor_Unit": null, "Numeric_Code": "962", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "XAG", "Currency": "Silver", "Entity": "ZZ11_Silver", "Minor_Unit": null, "Numeric_Code": "961", "Withdrawal_Date": null, "Withdrawal_Interval": null},{"Alphabetic_Code": "AFA", "Currency": "Afghani", "Entity": "AFGHANISTAN", "Minor_Unit": null, "Numeric_Code": "4", "Withdrawal_Date": "2003-01-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "FIM", "Currency": "Markka", "Entity": "\u00c3\u2026LAND ISLANDS", "Minor_Unit": null, "Numeric_Code": "246", "Withdrawal_Date": "2002-03-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "ALK", "Currency": "Old Lek", "Entity": "ALBANIA", "Minor_Unit": null, "Numeric_Code": null, "Withdrawal_Date": "1989-12-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "ADP", "Currency": "Andorran Peseta", "Entity": "ANDORRA", "Minor_Unit": null, "Numeric_Code": "20", "Withdrawal_Date": "2003-07-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "ESP", "Currency": "Spanish Peseta", "Entity": "ANDORRA", "Minor_Unit": null, "Numeric_Code": "724", "Withdrawal_Date": "2002-03-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "FRF", "Currency": "French Franc", "Entity": "ANDORRA", "Minor_Unit": null, "Numeric_Code": "250", "Withdrawal_Date": "2002-03-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "AOK", "Currency": "Kwanza", "Entity": "ANGOLA", "Minor_Unit": null, "Numeric_Code": null, "Withdrawal_Date": "1991-03-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "AON", "Currency": "New Kwanza", "Entity": "ANGOLA", "Minor_Unit": null, "Numeric_Code": "24", "Withdrawal_Date": "2000-02-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "AOR", "Currency": "Kwanza Reajustado", "Entity": "ANGOLA", "Minor_Unit": null, "Numeric_Code": "982", "Withdrawal_Date": "2000-02-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "ARA", "Currency": "Austral", "Entity": "ARGENTINA", "Minor_Unit": null, "Numeric_Code": "32", "Withdrawal_Date": "1992-01-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "ARP", "Currency": "Peso Argentino", "Entity": "ARGENTINA", "Minor_Unit": null, "Numeric_Code": "32", "Withdrawal_Date": "1985-07-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "ARY", "Currency": "Peso", "Entity": "ARGENTINA", "Minor_Unit": null, "Numeric_Code": null, "Withdrawal_Date": null, "Withdrawal_Interval": "1989 to 1990"},{"Alphabetic_Code": "RUR", "Currency": "Russian Ruble", "Entity": "ARMENIA", "Minor_Unit": null, "Numeric_Code": "810", "Withdrawal_Date": "1994-08-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "ATS", "Currency": "Schilling", "Entity": "AUSTRIA", "Minor_Unit": null, "Numeric_Code": "40", "Withdrawal_Date": "2002-03-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "AYM", "Currency": "Azerbaijan Manat", "Entity": "AZERBAIJAN", "Minor_Unit": null, "Numeric_Code": "945", "Withdrawal_Date": "2005-10-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "AZM", "Currency": "Azerbaijanian Manat", "Entity": "AZERBAIJAN", "Minor_Unit": null, "Numeric_Code": "31", "Withdrawal_Date": "2005-12-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "RUR", "Currency": "Russian Ruble", "Entity": "AZERBAIJAN", "Minor_Unit": null, "Numeric_Code": "810", "Withdrawal_Date": "1994-08-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "BYR", "Currency": "Belarusian Ruble", "Entity": "BELARUS", "Minor_Unit": null, "Numeric_Code": "974", "Withdrawal_Date": "2017-01-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "BYB", "Currency": "Belarusian Ruble", "Entity": "BELARUS", "Minor_Unit": null, "Numeric_Code": "112", "Withdrawal_Date": "2001-01-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "RUR", "Currency": "Russian Ruble", "Entity": "BELARUS", "Minor_Unit": null, "Numeric_Code": "810", "Withdrawal_Date": "1994-06-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "BEC", "Currency": "Convertible Franc", "Entity": "BELGIUM", "Minor_Unit": null, "Numeric_Code": "993", "Withdrawal_Date": "1990-03-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "BEF", "Currency": "Belgian Franc", "Entity": "BELGIUM", "Minor_Unit": null, "Numeric_Code": "56", "Withdrawal_Date": "2002-03-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "BEL", "Currency": "Financial Franc", "Entity": "BELGIUM", "Minor_Unit": null, "Numeric_Code": "992", "Withdrawal_Date": "1990-03-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "BOP", "Currency": "Peso boliviano", "Entity": "BOLIVIA", "Minor_Unit": null, "Numeric_Code": null, "Withdrawal_Date": "1987-02-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "BAD", "Currency": "Dinar", "Entity": "BOSNIA AND HERZEGOVINA", "Minor_Unit": null, "Numeric_Code": "70", "Withdrawal_Date": "1998-07-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "BRB", "Currency": "Cruzeiro", "Entity": "BRAZIL", "Minor_Unit": null, "Numeric_Code": null, "Withdrawal_Date": "1986-03-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "BRC", "Currency": "Cruzado", "Entity": "BRAZIL", "Minor_Unit": null, "Numeric_Code": "76", "Withdrawal_Date": "1989-02-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "BRE", "Currency": "Cruzeiro", "Entity": "BRAZIL", "Minor_Unit": null, "Numeric_Code": "76", "Withdrawal_Date": "1993-03-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "BRN", "Currency": "New Cruzado", "Entity": "BRAZIL", "Minor_Unit": null, "Numeric_Code": "76", "Withdrawal_Date": "1990-03-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "BRR", "Currency": "Cruzeiro Real", "Entity": "BRAZIL", "Minor_Unit": null, "Numeric_Code": "987", "Withdrawal_Date": "1994-07-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "BGJ", "Currency": "Lev A/52", "Entity": "BULGARIA", "Minor_Unit": null, "Numeric_Code": null, "Withdrawal_Date": null, "Withdrawal_Interval": "1989 to 1990"},{"Alphabetic_Code": "BGK", "Currency": "Lev A/62", "Entity": "BULGARIA", "Minor_Unit": null, "Numeric_Code": null, "Withdrawal_Date": null, "Withdrawal_Interval": "1989 to 1990"},{"Alphabetic_Code": "BGL", "Currency": "Lev", "Entity": "BULGARIA", "Minor_Unit": null, "Numeric_Code": "100", "Withdrawal_Date": "2003-11-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "BUK", "Currency": "Kyat", "Entity": "BURMA\u00c2", "Minor_Unit": null, "Numeric_Code": null, "Withdrawal_Date": "1990-02-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "HRD", "Currency": "Croatian Dinar", "Entity": "CROATIA", "Minor_Unit": null, "Numeric_Code": "191", "Withdrawal_Date": "1995-01-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "HRK", "Currency": "Croatian Kuna", "Entity": "CROATIA", "Minor_Unit": null, "Numeric_Code": "191", "Withdrawal_Date": "2015-06-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "CYP", "Currency": "Cyprus Pound", "Entity": "CYPRUS", "Minor_Unit": null, "Numeric_Code": "196", "Withdrawal_Date": "2008-01-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "CSJ", "Currency": "Krona A/53", "Entity": "CZECHOSLOVAKIA", "Minor_Unit": null, "Numeric_Code": null, "Withdrawal_Date": null, "Withdrawal_Interval": "1989 to 1990"},{"Alphabetic_Code": "CSK", "Currency": "Koruna", "Entity": "CZECHOSLOVAKIA", "Minor_Unit": null, "Numeric_Code": "200", "Withdrawal_Date": "1993-03-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "ECS", "Currency": "Sucre", "Entity": "ECUADOR", "Minor_Unit": null, "Numeric_Code": "218", "Withdrawal_Date": "2000-09-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "ECV", "Currency": "Unidad de Valor Constante (UVC)", "Entity": "ECUADOR", "Minor_Unit": null, "Numeric_Code": "983", "Withdrawal_Date": "2000-09-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "GQE", "Currency": "Ekwele", "Entity": "EQUATORIAL GUINEA", "Minor_Unit": null, "Numeric_Code": "226", "Withdrawal_Date": "1986-06-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "EEK", "Currency": "Kroon", "Entity": "ESTONIA", "Minor_Unit": null, "Numeric_Code": "233", "Withdrawal_Date": "2011-01-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "XEU", "Currency": "European Currency Unit (E.C.U)", "Entity": "EUROPEAN MONETARY CO-OPERATION FUND (EMCF)", "Minor_Unit": null, "Numeric_Code": "954", "Withdrawal_Date": "1999-01-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "FIM", "Currency": "Markka", "Entity": "FINLAND", "Minor_Unit": null, "Numeric_Code": "246", "Withdrawal_Date": "2002-03-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "FRF", "Currency": "French Franc", "Entity": "FRANCE", "Minor_Unit": null, "Numeric_Code": "250", "Withdrawal_Date": "2002-03-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "FRF", "Currency": "French Franc", "Entity": "FRENCH GUIANA", "Minor_Unit": null, "Numeric_Code": "250", "Withdrawal_Date": "2002-03-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "FRF", "Currency": "French Franc", "Entity": "FRENCH SOUTHERN TERRITORIES", "Minor_Unit": null, "Numeric_Code": "250", "Withdrawal_Date": "2002-03-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "GEK", "Currency": "Georgian Coupon", "Entity": "GEORGIA", "Minor_Unit": null, "Numeric_Code": "268", "Withdrawal_Date": "1995-10-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "RUR", "Currency": "Russian Ruble", "Entity": "GEORGIA", "Minor_Unit": null, "Numeric_Code": "810", "Withdrawal_Date": "1994-04-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "DDM", "Currency": "Mark der DDR", "Entity": "GERMAN DEMOCRATIC REPUBLIC", "Minor_Unit": null, "Numeric_Code": "278", "Withdrawal_Date": null, "Withdrawal_Interval": "1990-07 to 1990-09"},{"Alphabetic_Code": "DEM", "Currency": "Deutsche Mark", "Entity": "GERMANY", "Minor_Unit": null, "Numeric_Code": "276", "Withdrawal_Date": "2002-03-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "GHC", "Currency": "Cedi", "Entity": "GHANA", "Minor_Unit": null, "Numeric_Code": "288", "Withdrawal_Date": "2008-01-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "GHP", "Currency": "Ghana Cedi", "Entity": "GHANA", "Minor_Unit": null, "Numeric_Code": "939", "Withdrawal_Date": "2007-06-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "GRD", "Currency": "Drachma", "Entity": "GREECE", "Minor_Unit": null, "Numeric_Code": "300", "Withdrawal_Date": "2002-03-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "FRF", "Currency": "French Franc", "Entity": "GUADELOUPE", "Minor_Unit": null, "Numeric_Code": "250", "Withdrawal_Date": "2002-03-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "GNE", "Currency": "Syli", "Entity": "GUINEA", "Minor_Unit": null, "Numeric_Code": null, "Withdrawal_Date": "1989-12-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "GNS", "Currency": "Syli", "Entity": "GUINEA", "Minor_Unit": null, "Numeric_Code": null, "Withdrawal_Date": "1986-02-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "GWE", "Currency": "Guinea Escudo", "Entity": "GUINEA-BISSAU", "Minor_Unit": null, "Numeric_Code": null, "Withdrawal_Date": null, "Withdrawal_Interval": "1978 to 1981"},{"Alphabetic_Code": "GWP", "Currency": "Guinea-Bissau Peso", "Entity": "GUINEA-BISSAU", "Minor_Unit": null, "Numeric_Code": "624", "Withdrawal_Date": "1997-05-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "ITL", "Currency": "Italian Lira", "Entity": "HOLY SEE (VATICAN CITY STATE)", "Minor_Unit": null, "Numeric_Code": "380", "Withdrawal_Date": "2002-03-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "ISJ", "Currency": "Old Krona", "Entity": "ICELAND", "Minor_Unit": null, "Numeric_Code": null, "Withdrawal_Date": null, "Withdrawal_Interval": "1989 to 1990"},{"Alphabetic_Code": "IEP", "Currency": "Irish Pound", "Entity": "IRELAND", "Minor_Unit": null, "Numeric_Code": "372", "Withdrawal_Date": "2002-03-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "ILP", "Currency": "Pound", "Entity": "ISRAEL", "Minor_Unit": null, "Numeric_Code": null, "Withdrawal_Date": null, "Withdrawal_Interval": "1978 to 1981"},{"Alphabetic_Code": "ILR", "Currency": "Old Shekel", "Entity": "ISRAEL", "Minor_Unit": null, "Numeric_Code": null, "Withdrawal_Date": null, "Withdrawal_Interval": "1989 to 1990"},{"Alphabetic_Code": "ITL", "Currency": "Italian Lira", "Entity": "ITALY", "Minor_Unit": null, "Numeric_Code": "380", "Withdrawal_Date": "2002-03-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "RUR", "Currency": "Russian Ruble", "Entity": "KAZAKHSTAN", "Minor_Unit": null, "Numeric_Code": "810", "Withdrawal_Date": "1994-05-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "RUR", "Currency": "Russian Ruble", "Entity": "KYRGYZSTAN", "Minor_Unit": null, "Numeric_Code": "810", "Withdrawal_Date": "1993-01-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "LAJ", "Currency": "Pathet Lao Kip", "Entity": "LAO", "Minor_Unit": null, "Numeric_Code": null, "Withdrawal_Date": "1989-12-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "LVL", "Currency": "Latvian Lats", "Entity": "LATVIA", "Minor_Unit": null, "Numeric_Code": "428", "Withdrawal_Date": "2014-01-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "LVR", "Currency": "Latvian Ruble", "Entity": "LATVIA", "Minor_Unit": null, "Numeric_Code": "428", "Withdrawal_Date": "1994-12-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "LSM", "Currency": "Loti", "Entity": "LESOTHO", "Minor_Unit": null, "Numeric_Code": null, "Withdrawal_Date": "1985-05-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "ZAL", "Currency": "Financial Rand", "Entity": "LESOTHO", "Minor_Unit": null, "Numeric_Code": "991", "Withdrawal_Date": "1995-03-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "LTL", "Currency": "Lithuanian Litas", "Entity": "LITHUANIA", "Minor_Unit": null, "Numeric_Code": "440", "Withdrawal_Date": "2014-12-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "LTT", "Currency": "Talonas", "Entity": "LITHUANIA", "Minor_Unit": null, "Numeric_Code": "440", "Withdrawal_Date": "1993-07-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "LUC", "Currency": "Luxembourg Convertible Franc", "Entity": "LUXEMBOURG", "Minor_Unit": null, "Numeric_Code": "989", "Withdrawal_Date": "1990-03-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "LUF", "Currency": "Luxembourg Franc", "Entity": "LUXEMBOURG", "Minor_Unit": null, "Numeric_Code": "442", "Withdrawal_Date": "2002-03-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "LUL", "Currency": "Luxembourg Financial Franc", "Entity": "LUXEMBOURG", "Minor_Unit": null, "Numeric_Code": "988", "Withdrawal_Date": "1990-03-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "MGF", "Currency": "Malagasy Franc", "Entity": "MADAGASCAR", "Minor_Unit": null, "Numeric_Code": "450", "Withdrawal_Date": "2004-12-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "MWK", "Currency": "Kwacha", "Entity": "MALAWI", "Minor_Unit": null, "Numeric_Code": "454", "Withdrawal_Date": "2016-02-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "MVQ", "Currency": "Maldive Rupee", "Entity": "MALDIVES", "Minor_Unit": null, "Numeric_Code": null, "Withdrawal_Date": "1989-12-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "MLF", "Currency": "Mali Franc", "Entity": "MALI", "Minor_Unit": null, "Numeric_Code": "466", "Withdrawal_Date": "1984-11-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "MTL", "Currency": "Maltese Lira", "Entity": "MALTA", "Minor_Unit": null, "Numeric_Code": "470", "Withdrawal_Date": "2008-01-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "MTP", "Currency": "Maltese Pound", "Entity": "MALTA", "Minor_Unit": null, "Numeric_Code": null, "Withdrawal_Date": "1983-06-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "FRF", "Currency": "French Franc", "Entity": "MARTINIQUE", "Minor_Unit": null, "Numeric_Code": "250", "Withdrawal_Date": "2002-03-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "FRF", "Currency": "French Franc", "Entity": "MAYOTTE", "Minor_Unit": null, "Numeric_Code": "250", "Withdrawal_Date": "2002-03-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "MXP", "Currency": "Mexican Peso", "Entity": "MEXICO", "Minor_Unit": null, "Numeric_Code": null, "Withdrawal_Date": "1993-01-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "RUR", "Currency": "Russian Ruble", "Entity": "MOLDOVA, REPUBLIC OF", "Minor_Unit": null, "Numeric_Code": "810", "Withdrawal_Date": "1993-12-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "FRF", "Currency": "French Franc", "Entity": "MONACO", "Minor_Unit": null, "Numeric_Code": "250", "Withdrawal_Date": "2002-03-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "MZE", "Currency": "Mozambique Escudo", "Entity": "MOZAMBIQUE", "Minor_Unit": null, "Numeric_Code": null, "Withdrawal_Date": null, "Withdrawal_Interval": "1978 to 1981"},{"Alphabetic_Code": "MZM", "Currency": "Mozambique Metical", "Entity": "MOZAMBIQUE", "Minor_Unit": null, "Numeric_Code": "508", "Withdrawal_Date": "2006-06-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "NLG", "Currency": "Netherlands Guilder", "Entity": "NETHERLANDS", "Minor_Unit": null, "Numeric_Code": "528", "Withdrawal_Date": "2002-03-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "ANG", "Currency": "Netherlands Antillean Guilder", "Entity": "NETHERLANDS ANTILLES", "Minor_Unit": null, "Numeric_Code": "532", "Withdrawal_Date": "2010-10-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "NIC", "Currency": "Cordoba", "Entity": "NICARAGUA", "Minor_Unit": null, "Numeric_Code": null, "Withdrawal_Date": "1990-10-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "PEN", "Currency": "Nuevo Sol", "Entity": "PERU", "Minor_Unit": null, "Numeric_Code": "604", "Withdrawal_Date": "2015-12-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "PEH", "Currency": "Sol", "Entity": "PERU", "Minor_Unit": null, "Numeric_Code": null, "Withdrawal_Date": null, "Withdrawal_Interval": "1989 to 1990"},{"Alphabetic_Code": "PEI", "Currency": "Inti", "Entity": "PERU", "Minor_Unit": null, "Numeric_Code": "604", "Withdrawal_Date": "1991-07-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "PES", "Currency": "Sol", "Entity": "PERU", "Minor_Unit": null, "Numeric_Code": "604", "Withdrawal_Date": "1986-02-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "PLZ", "Currency": "Zloty", "Entity": "POLAND", "Minor_Unit": null, "Numeric_Code": "616", "Withdrawal_Date": "1997-01-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "PTE", "Currency": "Portuguese Escudo", "Entity": "PORTUGAL", "Minor_Unit": null, "Numeric_Code": "620", "Withdrawal_Date": "2002-03-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "FRF", "Currency": "French Franc", "Entity": "R\u00c3\u2030UNION", "Minor_Unit": null, "Numeric_Code": "250", "Withdrawal_Date": "2002-03-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "ROK", "Currency": "Leu A/52", "Entity": "ROMANIA", "Minor_Unit": null, "Numeric_Code": null, "Withdrawal_Date": null, "Withdrawal_Interval": "1989 to 1990"},{"Alphabetic_Code": "RON", "Currency": "New Romanian Leu", "Entity": "ROMANIA", "Minor_Unit": null, "Numeric_Code": "946", "Withdrawal_Date": "2015-06-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "ROL", "Currency": "Old Leu", "Entity": "ROMANIA", "Minor_Unit": null, "Numeric_Code": "642", "Withdrawal_Date": "2005-06-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "RUR", "Currency": "Russian Ruble", "Entity": "RUSSIAN FEDERATION", "Minor_Unit": null, "Numeric_Code": "810", "Withdrawal_Date": "2004-01-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "FRF", "Currency": "French Franc", "Entity": "SAINT MARTIN", "Minor_Unit": null, "Numeric_Code": "250", "Withdrawal_Date": "1999-01-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "FRF", "Currency": "French Franc", "Entity": "SAINT PIERRE AND MIQUELON", "Minor_Unit": null, "Numeric_Code": "250", "Withdrawal_Date": "2002-03-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "FRF", "Currency": "French Franc", "Entity": "SAINT-BARTH\u00c3\u2030LEMY", "Minor_Unit": null, "Numeric_Code": "250", "Withdrawal_Date": "1999-01-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "ITL", "Currency": "Italian Lira", "Entity": "SAN MARINO", "Minor_Unit": null, "Numeric_Code": "380", "Withdrawal_Date": "2002-03-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "CSD", "Currency": "Serbian Dinar", "Entity": "SERBIA AND MONTENEGRO", "Minor_Unit": null, "Numeric_Code": "891", "Withdrawal_Date": "2006-10-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "EUR", "Currency": "Euro", "Entity": "SERBIA AND MONTENEGRO", "Minor_Unit": null, "Numeric_Code": "978", "Withdrawal_Date": "2006-10-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "SKK", "Currency": "Slovak Koruna", "Entity": "SLOVAKIA", "Minor_Unit": null, "Numeric_Code": "703", "Withdrawal_Date": "2009-01-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "SIT", "Currency": "Tolar", "Entity": "SLOVENIA", "Minor_Unit": null, "Numeric_Code": "705", "Withdrawal_Date": "2007-01-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "ZAL", "Currency": "Financial Rand", "Entity": "SOUTH AFRICA", "Minor_Unit": null, "Numeric_Code": "991", "Withdrawal_Date": "1995-03-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "SDG", "Currency": "Sudanese Pound", "Entity": "SOUTH SUDAN", "Minor_Unit": null, "Numeric_Code": "938", "Withdrawal_Date": "2012-09-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "RHD", "Currency": "Rhodesian Dollar", "Entity": "SOUTHERN RHODESIA\u00c2", "Minor_Unit": null, "Numeric_Code": null, "Withdrawal_Date": null, "Withdrawal_Interval": "1978 to 1981"},{"Alphabetic_Code": "ESA", "Currency": "Spanish Peseta", "Entity": "SPAIN", "Minor_Unit": null, "Numeric_Code": "996", "Withdrawal_Date": null, "Withdrawal_Interval": "1978 to 1981"},{"Alphabetic_Code": "ESB", "Currency": "\"A\" Account (convertible Peseta Account)", "Entity": "SPAIN", "Minor_Unit": null, "Numeric_Code": "995", "Withdrawal_Date": "1994-12-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "ESP", "Currency": "Spanish Peseta", "Entity": "SPAIN", "Minor_Unit": null, "Numeric_Code": "724", "Withdrawal_Date": "2002-03-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "SDD", "Currency": "Sudanese Dinar", "Entity": "SUDAN", "Minor_Unit": null, "Numeric_Code": "736", "Withdrawal_Date": "2007-07-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "SDP", "Currency": "Sudanese Pound", "Entity": "SUDAN", "Minor_Unit": null, "Numeric_Code": null, "Withdrawal_Date": "1998-06-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "SRG", "Currency": "Surinam Guilder", "Entity": "SURINAME", "Minor_Unit": null, "Numeric_Code": "740", "Withdrawal_Date": "2003-12-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "CHC", "Currency": "WIR Franc (for electronic)", "Entity": "SWITZERLAND", "Minor_Unit": null, "Numeric_Code": "948", "Withdrawal_Date": "2004-11-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "RUR", "Currency": "Russian Ruble", "Entity": "TAJIKISTAN", "Minor_Unit": null, "Numeric_Code": "810", "Withdrawal_Date": "1995-05-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "TJR", "Currency": "Tajik Ruble", "Entity": "TAJIKISTAN", "Minor_Unit": null, "Numeric_Code": "762", "Withdrawal_Date": "2001-04-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "IDR", "Currency": "Rupiah", "Entity": "TIMOR-LESTE", "Minor_Unit": null, "Numeric_Code": "360", "Withdrawal_Date": "2002-07-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "TPE", "Currency": "Timor Escudo", "Entity": "TIMOR-LESTE", "Minor_Unit": null, "Numeric_Code": "626", "Withdrawal_Date": "2002-11-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "TRL", "Currency": "Old Turkish Lira", "Entity": "TURKEY", "Minor_Unit": null, "Numeric_Code": "792", "Withdrawal_Date": "2005-12-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "TRY", "Currency": "New Turkish Lira", "Entity": "TURKEY", "Minor_Unit": null, "Numeric_Code": "949", "Withdrawal_Date": "2009-01-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "RUR", "Currency": "Russian Ruble", "Entity": "TURKMENISTAN", "Minor_Unit": null, "Numeric_Code": "810", "Withdrawal_Date": "1993-10-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "TMM", "Currency": "Turkmenistan Manat", "Entity": "TURKMENISTAN", "Minor_Unit": null, "Numeric_Code": "795", "Withdrawal_Date": "2009-01-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "UGS", "Currency": "Uganda Shilling", "Entity": "UGANDA", "Minor_Unit": null, "Numeric_Code": null, "Withdrawal_Date": "1987-05-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "UGW", "Currency": "Old Shilling", "Entity": "UGANDA", "Minor_Unit": null, "Numeric_Code": null, "Withdrawal_Date": null, "Withdrawal_Interval": "1989 to 1990"},{"Alphabetic_Code": "UAK", "Currency": "Karbovanet", "Entity": "UKRAINE", "Minor_Unit": null, "Numeric_Code": "804", "Withdrawal_Date": "1996-09-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "SUR", "Currency": "Rouble", "Entity": "UNION OF SOVIET SOCIALIST REPUBLICS", "Minor_Unit": null, "Numeric_Code": null, "Withdrawal_Date": "1990-12-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "USS", "Currency": "US Dollar (Same day)", "Entity": "UNITED STATES", "Minor_Unit": null, "Numeric_Code": "998", "Withdrawal_Date": "2014-03-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "UYN", "Currency": "Old Uruguay Peso", "Entity": "URUGUAY", "Minor_Unit": null, "Numeric_Code": null, "Withdrawal_Date": "1989-12-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "UYP", "Currency": "Uruguayan Peso", "Entity": "URUGUAY", "Minor_Unit": null, "Numeric_Code": null, "Withdrawal_Date": "1993-03-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "RUR", "Currency": "Russian Ruble", "Entity": "UZBEKISTAN", "Minor_Unit": null, "Numeric_Code": "810", "Withdrawal_Date": "1994-07-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "VEB", "Currency": "Bolivar", "Entity": "VENEZUELA", "Minor_Unit": null, "Numeric_Code": "862", "Withdrawal_Date": "2008-01-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "VEF", "Currency": "Bolivar Fuerte", "Entity": "VENEZUELA", "Minor_Unit": null, "Numeric_Code": "937", "Withdrawal_Date": "2011-12-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "VEF", "Currency": "Bolivar", "Entity": "VENEZUELA (BOLIVARIAN REPUBLIC OF)", "Minor_Unit": null, "Numeric_Code": "937", "Withdrawal_Date": "2016-02-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "VNC", "Currency": "Old Dong", "Entity": "VIETNAM", "Minor_Unit": null, "Numeric_Code": null, "Withdrawal_Date": null, "Withdrawal_Interval": "1989 to 1990"},{"Alphabetic_Code": "YDD", "Currency": "Yemeni Dinar", "Entity": "YEMEN, DEMOCRATIC", "Minor_Unit": null, "Numeric_Code": "720", "Withdrawal_Date": "1991-09-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "YUD", "Currency": "New Yugoslavian Dinar", "Entity": "YUGOSLAVIA", "Minor_Unit": null, "Numeric_Code": null, "Withdrawal_Date": "1990-01-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "YUM", "Currency": "New Dinar", "Entity": "YUGOSLAVIA", "Minor_Unit": null, "Numeric_Code": "891", "Withdrawal_Date": "2003-07-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "YUN", "Currency": "Yugoslavian Dinar", "Entity": "YUGOSLAVIA", "Minor_Unit": null, "Numeric_Code": "890", "Withdrawal_Date": "1995-11-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "ZRN", "Currency": "New Zaire", "Entity": "ZAIRE", "Minor_Unit": null, "Numeric_Code": "180", "Withdrawal_Date": "1999-06-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "ZRZ", "Currency": "Zaire", "Entity": "ZAIRE", "Minor_Unit": null, "Numeric_Code": "180", "Withdrawal_Date": "1994-02-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "ZMK", "Currency": "Zambian Kwacha", "Entity": "ZAMBIA", "Minor_Unit": null, "Numeric_Code": "894", "Withdrawal_Date": "2012-12-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "ZWC", "Currency": "Rhodesian Dollar", "Entity": "ZIMBABWE", "Minor_Unit": null, "Numeric_Code": null, "Withdrawal_Date": "1989-12-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "ZWD", "Currency": "Zimbabwe Dollar (old)", "Entity": "ZIMBABWE", "Minor_Unit": null, "Numeric_Code": "716", "Withdrawal_Date": "2006-08-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "ZWD", "Currency": "Zimbabwe Dollar", "Entity": "ZIMBABWE", "Minor_Unit": null, "Numeric_Code": "716", "Withdrawal_Date": "2008-08-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "ZWN", "Currency": "Zimbabwe Dollar (new)", "Entity": "ZIMBABWE", "Minor_Unit": null, "Numeric_Code": "942", "Withdrawal_Date": "2006-09-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "ZWR", "Currency": "Zimbabwe Dollar", "Entity": "ZIMBABWE", "Minor_Unit": null, "Numeric_Code": "935", "Withdrawal_Date": "2009-06-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "XFO", "Currency": "Gold-Franc", "Entity": "ZZ01_Gold-Franc", "Minor_Unit": null, "Numeric_Code": null, "Withdrawal_Date": "2006-10-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "XRE", "Currency": "RINET Funds Code", "Entity": "ZZ02_RINET Funds Code", "Minor_Unit": null, "Numeric_Code": null, "Withdrawal_Date": "1999-11-06", "Withdrawal_Interval": null},{"Alphabetic_Code": "XFU", "Currency": "UIC-Franc", "Entity": "ZZ05_UIC-Franc", "Minor_Unit": null, "Numeric_Code": null, "Withdrawal_Date": "2013-11-06", "Withdrawal_Interval": null}]
|
@@ -0,0 +1,55 @@
|
|
1
|
+
module AdfBuilder
|
2
|
+
class Provider
|
3
|
+
|
4
|
+
|
5
|
+
FREE_TEXT_OPTIONAL_TAGS = [:service, :url]
|
6
|
+
|
7
|
+
def initialize(prospect)
|
8
|
+
@prospect = prospect
|
9
|
+
@provider = nil
|
10
|
+
@contact = nil
|
11
|
+
end
|
12
|
+
|
13
|
+
def contact
|
14
|
+
@contact
|
15
|
+
end
|
16
|
+
|
17
|
+
|
18
|
+
def add(name, params={})
|
19
|
+
@provider = Ox::Element.new('provider')
|
20
|
+
params.merge!({valid_values: AdfBuilder::Contact::VALID_VALUES, valid_parameters: AdfBuilder::Contact::VALID_PARAMETERS})
|
21
|
+
AdfBuilder::Builder.update_node(@provider, :name, name, params)
|
22
|
+
@prospect << @provider
|
23
|
+
end
|
24
|
+
|
25
|
+
def add_contact(name, opts={})
|
26
|
+
@contact = Contact.new(@provider, name, opts)
|
27
|
+
end
|
28
|
+
|
29
|
+
def add_phone(phone, params={})
|
30
|
+
params.merge!({valid_values: AdfBuilder::Contact::VALID_VALUES, valid_parameters: AdfBuilder::Contact::VALID_PARAMETERS})
|
31
|
+
AdfBuilder::Builder.update_node(@provider, :phone, phone, params)
|
32
|
+
end
|
33
|
+
|
34
|
+
def add_email(email, params={})
|
35
|
+
params.merge!({valid_values: AdfBuilder::Contact::VALID_VALUES, valid_parameters: AdfBuilder::Contact::VALID_PARAMETERS})
|
36
|
+
AdfBuilder::Builder.update_node(@provider, :email, email, params)
|
37
|
+
end
|
38
|
+
|
39
|
+
def update_tags_with_free_text(tags)
|
40
|
+
tags.each do |key, value|
|
41
|
+
if FREE_TEXT_OPTIONAL_TAGS.include? key.to_sym
|
42
|
+
AdfBuilder::Builder.update_node(@provider, key, value)
|
43
|
+
end
|
44
|
+
end
|
45
|
+
end
|
46
|
+
|
47
|
+
def add_id(index, value, source=nil, sequence=1)
|
48
|
+
if @prospect.locate("provider").empty?
|
49
|
+
false
|
50
|
+
else
|
51
|
+
Id.new.add(@prospect.provider(index), value, source, sequence)
|
52
|
+
end
|
53
|
+
end
|
54
|
+
end
|
55
|
+
end
|
@@ -6,50 +6,37 @@ module AdfBuilder
|
|
6
6
|
phone: [:type, :time, :preferredcontact]
|
7
7
|
}
|
8
8
|
|
9
|
-
|
9
|
+
VALID_VALUES = {
|
10
|
+
name: {
|
11
|
+
part: %w[first middle suffix last full],
|
12
|
+
type: %w[individual business],
|
13
|
+
primarycontact: %w[0 1]
|
14
|
+
},
|
15
|
+
email: {
|
16
|
+
preferredcontact: %w[0 1],
|
17
|
+
},
|
18
|
+
phone: {
|
19
|
+
preferredcontact: %w[0 1],
|
20
|
+
type: %w[phone fax cellphone pager],
|
21
|
+
time: %w[morning afternoon evening nopreference day]
|
22
|
+
}
|
23
|
+
}
|
10
24
|
|
11
|
-
def initialize(parent_node, name,
|
12
|
-
@contact = Ox::Element.new('contact')
|
25
|
+
def initialize(parent_node, name, params={})
|
26
|
+
@contact = Ox::Element.new('contact')
|
27
|
+
params.merge!({valid_values: VALID_VALUES, valid_parameters: VALID_PARAMETERS})
|
28
|
+
AdfBuilder::Builder.update_node(@contact, :name, name, params)
|
13
29
|
parent_node << @contact
|
14
|
-
|
15
|
-
opts = whitelabel_opts(opts, :name)
|
16
|
-
|
17
|
-
if opts[:primary_contact]
|
18
|
-
@contact[:primarycontact] = opts[:primary_contact].to_s
|
19
|
-
end
|
20
|
-
|
21
|
-
opts.each do |k,v|
|
22
|
-
@contact.locate("name")[0][k] = v.to_s
|
23
|
-
end
|
24
|
-
|
25
30
|
end
|
26
31
|
|
27
|
-
def
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
opts.each do |k,v|
|
32
|
-
@contact.email[k] = v.to_s
|
33
|
-
end
|
32
|
+
def add_phone(phone, params={})
|
33
|
+
params.merge!({valid_values: VALID_VALUES, valid_parameters: VALID_PARAMETERS})
|
34
|
+
AdfBuilder::Builder.update_node(@contact, :phone, phone, params)
|
34
35
|
end
|
35
36
|
|
36
|
-
def
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
opts.each do |k,v|
|
41
|
-
@contact.phone[k] = v.to_s
|
42
|
-
end
|
43
|
-
end
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
private
|
49
|
-
|
50
|
-
# clear out the opts that don't match valid keys
|
51
|
-
def whitelabel_opts(opts, key)
|
52
|
-
opts.slice(*VALID_PARAMETERS[key])
|
37
|
+
def add_email(email, params={})
|
38
|
+
params.merge!({valid_values: VALID_VALUES, valid_parameters: VALID_PARAMETERS})
|
39
|
+
AdfBuilder::Builder.update_node(@contact, :email, email, params)
|
53
40
|
end
|
54
41
|
end
|
55
42
|
end
|
@@ -0,0 +1,31 @@
|
|
1
|
+
module AdfBuilder
|
2
|
+
class ColorCombinations
|
3
|
+
|
4
|
+
FREE_TEXT_OPTIONAL_TAGS = [:interiorcolor, :exteriorcolor, :preference]
|
5
|
+
|
6
|
+
def initialize(vehicle)
|
7
|
+
@vehicle = vehicle
|
8
|
+
@color_combination = nil
|
9
|
+
end
|
10
|
+
|
11
|
+
def add(interior_color, exterior_color, preference)
|
12
|
+
@color_combination = Ox::Element.new('colorcombination')
|
13
|
+
@color_combination <<
|
14
|
+
(Ox::Element.new('interiorcolor') << interior_color) <<
|
15
|
+
(Ox::Element.new('exteriorcolor') << exterior_color) <<
|
16
|
+
(Ox::Element.new('preference') << preference.to_s)
|
17
|
+
@vehicle << @color_combination
|
18
|
+
end
|
19
|
+
|
20
|
+
def update_tags(index, tags)
|
21
|
+
valid, vehicle = AdfBuilder::Builder.valid_child?(@vehicle,'colorcombination', index)
|
22
|
+
if valid
|
23
|
+
tags.each do |key, value|
|
24
|
+
if FREE_TEXT_OPTIONAL_TAGS.include? key.to_sym
|
25
|
+
AdfBuilder::Builder.update_node(vehicle, key, value)
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
@@ -0,0 +1,42 @@
|
|
1
|
+
module AdfBuilder
|
2
|
+
class Price
|
3
|
+
|
4
|
+
VALID_PARAMETERS = {
|
5
|
+
price: [:type, :currency, :delta, :relativeto, :source]
|
6
|
+
}
|
7
|
+
|
8
|
+
VALID_VALUES = {
|
9
|
+
price: {
|
10
|
+
type: %w[quote offer msrp invoice call appraisal asking],
|
11
|
+
currency: true,
|
12
|
+
delta: %w[absolute relative percentage],
|
13
|
+
relativeto: %w[msrp invoice],
|
14
|
+
source: true
|
15
|
+
}
|
16
|
+
}
|
17
|
+
|
18
|
+
def initialize(parent_node, value, params={})
|
19
|
+
@parent_node = parent_node
|
20
|
+
params.merge!({valid_values: VALID_VALUES, valid_parameters: VALID_PARAMETERS})
|
21
|
+
validate_currency(params)
|
22
|
+
AdfBuilder::Builder.update_node(@parent_node, :price, value, params)
|
23
|
+
@price = @parent_node.price
|
24
|
+
end
|
25
|
+
|
26
|
+
def update(value, params={})
|
27
|
+
params.merge!({valid_values: VALID_VALUES, valid_parameters: VALID_PARAMETERS})
|
28
|
+
AdfBuilder::Builder.update_node(@parent_node, :price, value, params)
|
29
|
+
end
|
30
|
+
|
31
|
+
def validate_currency(params)
|
32
|
+
code = params[:currency]
|
33
|
+
if code
|
34
|
+
json = JSON.parse(File.read('./lib/adf_builder/data/iso-4217-currency-codes.json'))
|
35
|
+
codes = json.map{|j| j['Alphabetic_Code']}.reject{|j| j.nil?}
|
36
|
+
unless codes.include? code
|
37
|
+
params.delete(:currency)
|
38
|
+
end
|
39
|
+
end
|
40
|
+
end
|
41
|
+
end
|
42
|
+
end
|
@@ -1,60 +1,100 @@
|
|
1
1
|
module AdfBuilder
|
2
2
|
class Vehicles
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
trade_in: 'trade-in',
|
8
|
-
test_drive: 'test-drive'
|
3
|
+
VALID_PARAMETERS = {
|
4
|
+
vehicle: [:interest, :status],
|
5
|
+
odometer: [:status, :units],
|
6
|
+
imagetag: [:width, :height, :alttext],
|
9
7
|
}
|
10
8
|
|
11
|
-
|
12
|
-
|
13
|
-
|
9
|
+
VALID_VALUES = {
|
10
|
+
vehicle: {
|
11
|
+
interest: %w[buy lease sell trade-in test-drive],
|
12
|
+
status: %w[new used]
|
13
|
+
},
|
14
|
+
odometer: {
|
15
|
+
status: %w[unknown rolledover replaced original],
|
16
|
+
units: %w[km mi]
|
17
|
+
},
|
18
|
+
imagetag: {
|
19
|
+
width: true,
|
20
|
+
height: true,
|
21
|
+
alttext: true
|
22
|
+
}
|
14
23
|
}
|
15
24
|
|
16
|
-
FREE_TEXT_OPTIONAL_TAGS =
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
doors: :doors,
|
21
|
-
bodystyle: :bodystyle,
|
22
|
-
transmission: :transmission,
|
23
|
-
pricecomments: :pricecomments,
|
24
|
-
comments: :comments
|
25
|
-
}
|
25
|
+
FREE_TEXT_OPTIONAL_TAGS = [:year, :make, :model, :vin, :stock,
|
26
|
+
:trim, :doors, :bodystyle, :transmission, :pricecomments, :comments]
|
27
|
+
|
28
|
+
CONDITIONS = %w[excellent good fair poor unknown]
|
26
29
|
|
27
30
|
def initialize(prospect)
|
28
31
|
@prospect = prospect
|
32
|
+
@color_combinations = []
|
33
|
+
@prices = []
|
29
34
|
end
|
30
35
|
|
31
|
-
def
|
32
|
-
vehicle =
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
vehicle[:interest] = interest
|
36
|
+
def add_color_combination(v_index, interior_color, exterior_color, preference)
|
37
|
+
valid, vehicle = AdfBuilder::Builder.valid_child?(@prospect,'vehicle', v_index)
|
38
|
+
if valid
|
39
|
+
cc = ColorCombinations.new(vehicle)
|
40
|
+
cc.add(interior_color, exterior_color, preference)
|
41
|
+
@color_combinations.push(cc)
|
38
42
|
end
|
43
|
+
end
|
39
44
|
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
vehicle[:status] = status
|
44
|
-
end
|
45
|
+
def color_combination(index)
|
46
|
+
@color_combinations[index]
|
47
|
+
end
|
45
48
|
|
49
|
+
def price(index)
|
50
|
+
@prices[index]
|
51
|
+
end
|
52
|
+
|
53
|
+
def add(year, make, model, params={})
|
54
|
+
vehicle = Ox::Element.new('vehicle')
|
55
|
+
|
56
|
+
params.merge!({valid_values: VALID_VALUES, valid_parameters: VALID_PARAMETERS})
|
57
|
+
AdfBuilder::Builder.update_params(vehicle, :vehicle, params)
|
46
58
|
|
47
59
|
vehicle << (Ox::Element.new('year') << year.to_s)
|
48
60
|
vehicle << (Ox::Element.new('make') << make)
|
49
61
|
vehicle << (Ox::Element.new('model') << model)
|
50
62
|
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
63
|
+
@prospect << vehicle
|
64
|
+
end
|
65
|
+
|
66
|
+
def update_odometer(index, value, params={})
|
67
|
+
valid, vehicle = AdfBuilder::Builder.valid_child?(@prospect,'vehicle', index)
|
68
|
+
if valid
|
69
|
+
params.merge!({valid_values: VALID_VALUES, valid_parameters: VALID_PARAMETERS})
|
70
|
+
AdfBuilder::Builder.update_node(vehicle, 'odometer', value, params)
|
55
71
|
end
|
72
|
+
end
|
56
73
|
|
57
|
-
|
74
|
+
def update_condition(index, value)
|
75
|
+
valid, vehicle = AdfBuilder::Builder.valid_child?(@prospect,'vehicle', index)
|
76
|
+
if valid and CONDITIONS.include? value
|
77
|
+
AdfBuilder::Builder.update_node(vehicle, 'condition', value)
|
78
|
+
end
|
79
|
+
end
|
80
|
+
|
81
|
+
def update_imagetag(index, value, params={})
|
82
|
+
valid, vehicle = AdfBuilder::Builder.valid_child?(@prospect,'vehicle', index)
|
83
|
+
if valid
|
84
|
+
params.merge!({valid_values: VALID_VALUES, valid_parameters: VALID_PARAMETERS})
|
85
|
+
AdfBuilder::Builder.update_node(vehicle, 'imagetag', value, params)
|
86
|
+
end
|
87
|
+
end
|
88
|
+
|
89
|
+
def update_tags_with_free_text(index, tags)
|
90
|
+
valid, vehicle = AdfBuilder::Builder.valid_child?(@prospect,'vehicle', index)
|
91
|
+
if valid
|
92
|
+
tags.each do |key, value|
|
93
|
+
if FREE_TEXT_OPTIONAL_TAGS.include? key.to_sym
|
94
|
+
AdfBuilder::Builder.update_node(vehicle, key, value)
|
95
|
+
end
|
96
|
+
end
|
97
|
+
end
|
58
98
|
end
|
59
99
|
|
60
100
|
def add_id(index, value, source=nil, sequence=1)
|
@@ -65,5 +105,19 @@ module AdfBuilder
|
|
65
105
|
end
|
66
106
|
end
|
67
107
|
|
108
|
+
def add_price(index, value, params={})
|
109
|
+
valid, vehicle = AdfBuilder::Builder.valid_child?(@prospect,'vehicle', index)
|
110
|
+
if valid
|
111
|
+
price = Price.new(vehicle, value, params)
|
112
|
+
@prices.push(price)
|
113
|
+
end
|
114
|
+
end
|
115
|
+
|
116
|
+
def add_comments(index, value)
|
117
|
+
valid, vehicle = AdfBuilder::Builder.valid_child?(@prospect,'vehicle', index)
|
118
|
+
if valid
|
119
|
+
AdfBuilder::Builder.update_node(vehicle, 'comments', value)
|
120
|
+
end
|
121
|
+
end
|
68
122
|
end
|
69
123
|
end
|
data/lib/adf_builder/version.rb
CHANGED
data/lib/adf_builder.rb
CHANGED
@@ -1,6 +1,8 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
require 'ox'
|
4
|
+
require 'json'
|
5
|
+
|
4
6
|
require_relative "adf_builder/version"
|
5
7
|
|
6
8
|
# CUSTOMER
|
@@ -11,14 +13,19 @@ require_relative 'adf_builder/base/base'
|
|
11
13
|
require_relative 'adf_builder/base/prospect'
|
12
14
|
require_relative 'adf_builder/base/request_date'
|
13
15
|
|
16
|
+
# PROVIDER
|
17
|
+
require_relative 'adf_builder/provider/provider'
|
18
|
+
|
14
19
|
# SHARED
|
15
20
|
require_relative 'adf_builder/shared/id'
|
16
21
|
require_relative 'adf_builder/shared/contact'
|
17
22
|
|
18
23
|
# VEHICLES
|
19
24
|
require_relative 'adf_builder/vehicles/vehicles'
|
25
|
+
require_relative 'adf_builder/vehicles/colorcombinations'
|
26
|
+
require_relative 'adf_builder/vehicles/price'
|
20
27
|
|
21
|
-
#
|
28
|
+
# VENDOR
|
22
29
|
require_relative 'adf_builder/vendor/vendor'
|
23
30
|
|
24
31
|
module AdfBuilder
|
@@ -106,5 +113,42 @@ module AdfBuilder
|
|
106
113
|
doc << adf
|
107
114
|
doc
|
108
115
|
end
|
116
|
+
|
117
|
+
# we will either create a new node with the value or replace the one if it is available
|
118
|
+
def self.update_node(parent_node, key, value, params={})
|
119
|
+
key = key.to_s
|
120
|
+
value = value.to_s
|
121
|
+
if parent_node.locate(key).size > 0
|
122
|
+
node = parent_node.locate(key).first
|
123
|
+
node.replace_text(value)
|
124
|
+
else
|
125
|
+
node = (Ox::Element.new(key) << value)
|
126
|
+
parent_node << node
|
127
|
+
end
|
128
|
+
|
129
|
+
AdfBuilder::Builder.update_params(node, key, params)
|
130
|
+
end
|
131
|
+
|
132
|
+
# update the params by first checking if they are valid params and then checking if the values are valid if necessary
|
133
|
+
def self.update_params(node, key, params)
|
134
|
+
return true if params.empty?
|
135
|
+
key = key.to_sym
|
136
|
+
valid_values = params[:valid_values]
|
137
|
+
valid_parameters = params[:valid_parameters]
|
138
|
+
_params = AdfBuilder::Builder.whitelabel_params(params,valid_parameters, key)
|
139
|
+
_params.each do |k,v|
|
140
|
+
node[k] = v if valid_values[key][k] == true or valid_values[key][k].include? v.to_s
|
141
|
+
end
|
142
|
+
end
|
143
|
+
|
144
|
+
# clear out the opts that don't match valid keys
|
145
|
+
def self.whitelabel_params(opts, valid_parameters, key)
|
146
|
+
opts.slice(*valid_parameters[key])
|
147
|
+
end
|
148
|
+
|
149
|
+
def self.valid_child?(parent, tag_name, index)
|
150
|
+
child = parent.locate(tag_name)[index]
|
151
|
+
return !child.nil?,child
|
152
|
+
end
|
109
153
|
end
|
110
154
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: adf_builder
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- marcus.salinas
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-
|
11
|
+
date: 2021-11-02 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: ox
|
@@ -49,8 +49,12 @@ files:
|
|
49
49
|
- lib/adf_builder/base/prospect.rb
|
50
50
|
- lib/adf_builder/base/request_date.rb
|
51
51
|
- lib/adf_builder/customer/customer.rb
|
52
|
+
- lib/adf_builder/data/iso-4217-currency-codes.json
|
53
|
+
- lib/adf_builder/provider/provider.rb
|
52
54
|
- lib/adf_builder/shared/contact.rb
|
53
55
|
- lib/adf_builder/shared/id.rb
|
56
|
+
- lib/adf_builder/vehicles/colorcombinations.rb
|
57
|
+
- lib/adf_builder/vehicles/price.rb
|
54
58
|
- lib/adf_builder/vehicles/vehicles.rb
|
55
59
|
- lib/adf_builder/vendor/vendor.rb
|
56
60
|
- lib/adf_builder/version.rb
|