-
Bug
-
Resolution: Not a Bug
-
Minor
-
None
-
SaaS
-
None
-
Not Started
-
Not Started
-
Not Started
-
Not Started
-
Not Started
-
Not Started
-
Another difference between the XML and JSON versions of the same endpoint. This one is pretty surprising. In XML the type of the plan application_plan is used as the value of the field type, whereas in the JSON version the type field disappears and becomes the tag for the object. In the XML version the tag for the object is just plan.
For reference find below both versions:
XML:
$ curl -v -X GET "https://istiodevel-admin.3scale.net/admin/api/services/2555417777820/application_plans.xml?access_token=<TOKEN>" | xmllint --format -
<?xml version="1.0" encoding="UTF-8"?> <plans> <plan custom="false" default="true"> <id>2357356012630</id> <name>gold</name> <type>application_plan</type> <state>published</state> <approval_required>false</approval_required> <setup_fee>0.0</setup_fee> <cost_per_month>0.0</cost_per_month> <trial_period_days>0</trial_period_days> <cancellation_period>0</cancellation_period> <service_id>2555417777820</service_id> </plan> <plan custom="false" default="false"> <id>2357356012631</id> <name>silver</name> <type>application_plan</type> <state>published</state> <approval_required>false</approval_required> <setup_fee>0.0</setup_fee> <cost_per_month>0.0</cost_per_month> <trial_period_days>0</trial_period_days> <cancellation_period>0</cancellation_period> <service_id>2555417777820</service_id> </plan> <plan custom="false" default="false"> <id>2357356113485</id> <name>config-DB8qe3HXVpk</name> <type>application_plan</type> <state>hidden</state> <approval_required>false</approval_required> <setup_fee>0.0</setup_fee> <cost_per_month>0.0</cost_per_month> <trial_period_days/> <cancellation_period>0</cancellation_period> <service_id>2555417777820</service_id> </plan> <plan custom="false" default="false"> <id>2357356113486</id> <name>config-JuTEpSpXODk</name> <type>application_plan</type> <state>hidden</state> <approval_required>false</approval_required> <setup_fee>0.0</setup_fee> <cost_per_month>0.0</cost_per_month> <trial_period_days/> <cancellation_period>0</cancellation_period> <service_id>2555417777820</service_id> </plan> <plan custom="false" default="false"> <id>2357356113487</id> <name>config-gw7l0IgFGLQ</name> <type>application_plan</type> <state>hidden</state> <approval_required>false</approval_required> <setup_fee>0.0</setup_fee> <cost_per_month>0.0</cost_per_month> <trial_period_days/> <cancellation_period>0</cancellation_period> <service_id>2555417777820</service_id> </plan> <plan custom="false" default="false"> <id>2357356113488</id> <name>config-B0l8Kxzr0_I</name> <type>application_plan</type> <state>hidden</state> <approval_required>false</approval_required> <setup_fee>0.0</setup_fee> <cost_per_month>0.0</cost_per_month> <trial_period_days/> <cancellation_period>0</cancellation_period> <service_id>2555417777820</service_id> </plan> <plan custom="false" default="false"> <id>2357356113628</id> <name>config-K9YMiYvtxS8</name> <type>application_plan</type> <state>hidden</state> <approval_required>false</approval_required> <setup_fee>0.0</setup_fee> <cost_per_month>0.0</cost_per_month> <trial_period_days/> <cancellation_period>0</cancellation_period> <service_id>2555417777820</service_id> </plan> <plan custom="false" default="false"> <id>2357356113629</id> <name>config-WO1zqocNSbE</name> <type>application_plan</type> <state>hidden</state> <approval_required>false</approval_required> <setup_fee>0.0</setup_fee> <cost_per_month>0.0</cost_per_month> <trial_period_days/> <cancellation_period>0</cancellation_period> <service_id>2555417777820</service_id> </plan> <plan custom="false" default="false"> <id>2357356117805</id> <name>fbfdhrh</name> <type>application_plan</type> <state>hidden</state> <approval_required>false</approval_required> <setup_fee>0.0</setup_fee> <cost_per_month>0.0</cost_per_month> <trial_period_days/> <cancellation_period>0</cancellation_period> <service_id>2555417777820</service_id> </plan> </plans>
JSON:
curl -v -X GET "https://istiodevel-admin.3scale.net/admin/api/services/2555417777820/application_plans.json?access_token=<TOKEN> | jq"
{
"plans": [
{
"application_plan": {
"id": 2357356012630,
"name": "gold",
"state": "published",
"setup_fee": 0,
"cost_per_month": 0,
"trial_period_days": 0,
"cancellation_period": 0,
"approval_required": false,
"default": true,
"created_at": "2019-03-19T09:04:40+00:00",
"updated_at": "2019-03-19T09:04:40+00:00",
"custom": false,
"system_name": "gold",
"links": [
{
"rel": "service",
"href": "https://istiodevel-admin.3scale.net/admin/api/services/2555417777820"
},
{
"rel": "self",
"href": "https://istiodevel-admin.3scale.net/admin/api/services/2555417777820/application_plans/2357356012630"
}
]
}
},
{
"application_plan": {
"id": 2357356012631,
"name": "silver",
"state": "published",
"setup_fee": 0,
"cost_per_month": 0,
"trial_period_days": 0,
"cancellation_period": 0,
"approval_required": false,
"default": false,
"created_at": "2019-03-19T09:04:40+00:00",
"updated_at": "2019-03-19T09:04:41+00:00",
"custom": false,
"system_name": "silver",
"links": [
{
"rel": "service",
"href": "https://istiodevel-admin.3scale.net/admin/api/services/2555417777820"
},
{
"rel": "self",
"href": "https://istiodevel-admin.3scale.net/admin/api/services/2555417777820/application_plans/2357356012631"
}
]
}
},
{
"application_plan": {
"id": 2357356113485,
"name": "config-DB8qe3HXVpk",
"state": "hidden",
"setup_fee": 0,
"cost_per_month": 0,
"trial_period_days": 0,
"cancellation_period": 0,
"approval_required": false,
"default": false,
"created_at": "2019-07-12T12:51:16+01:00",
"updated_at": "2019-07-12T12:51:16+01:00",
"custom": false,
"system_name": "config_db8qe3hxvpk",
"links": [
{
"rel": "service",
"href": "https://istiodevel-admin.3scale.net/admin/api/services/2555417777820"
},
{
"rel": "self",
"href": "https://istiodevel-admin.3scale.net/admin/api/services/2555417777820/application_plans/2357356113485"
}
]
}
},
{
"application_plan": {
"id": 2357356113486,
"name": "config-JuTEpSpXODk",
"state": "hidden",
"setup_fee": 0,
"cost_per_month": 0,
"trial_period_days": 0,
"cancellation_period": 0,
"approval_required": false,
"default": false,
"created_at": "2019-07-12T12:51:34+01:00",
"updated_at": "2019-07-12T12:51:34+01:00",
"custom": false,
"system_name": "config_jutepspxodk",
"links": [
{
"rel": "service",
"href": "https://istiodevel-admin.3scale.net/admin/api/services/2555417777820"
},
{
"rel": "self",
"href": "https://istiodevel-admin.3scale.net/admin/api/services/2555417777820/application_plans/2357356113486"
}
]
}
},
{
"application_plan": {
"id": 2357356113487,
"name": "config-gw7l0IgFGLQ",
"state": "hidden",
"setup_fee": 0,
"cost_per_month": 0,
"trial_period_days": 0,
"cancellation_period": 0,
"approval_required": false,
"default": false,
"created_at": "2019-07-12T12:56:22+01:00",
"updated_at": "2019-07-12T12:56:22+01:00",
"custom": false,
"system_name": "config_gw7l0igfglq",
"links": [
{
"rel": "service",
"href": "https://istiodevel-admin.3scale.net/admin/api/services/2555417777820"
},
{
"rel": "self",
"href": "https://istiodevel-admin.3scale.net/admin/api/services/2555417777820/application_plans/2357356113487"
}
]
}
},
{
"application_plan": {
"id": 2357356113488,
"name": "config-B0l8Kxzr0_I",
"state": "hidden",
"setup_fee": 0,
"cost_per_month": 0,
"trial_period_days": 0,
"cancellation_period": 0,
"approval_required": false,
"default": false,
"created_at": "2019-07-12T12:56:39+01:00",
"updated_at": "2019-07-12T12:56:39+01:00",
"custom": false,
"system_name": "config_b0l8kxzr0_i",
"links": [
{
"rel": "service",
"href": "https://istiodevel-admin.3scale.net/admin/api/services/2555417777820"
},
{
"rel": "self",
"href": "https://istiodevel-admin.3scale.net/admin/api/services/2555417777820/application_plans/2357356113488"
}
]
}
},
{
"application_plan": {
"id": 2357356113628,
"name": "config-K9YMiYvtxS8",
"state": "hidden",
"setup_fee": 0,
"cost_per_month": 0,
"trial_period_days": 0,
"cancellation_period": 0,
"approval_required": false,
"default": false,
"created_at": "2019-07-15T16:57:00+01:00",
"updated_at": "2019-07-15T16:57:00+01:00",
"custom": false,
"system_name": "config_k9ymiyvtxs8",
"links": [
{
"rel": "service",
"href": "https://istiodevel-admin.3scale.net/admin/api/services/2555417777820"
},
{
"rel": "self",
"href": "https://istiodevel-admin.3scale.net/admin/api/services/2555417777820/application_plans/2357356113628"
}
]
}
},
{
"application_plan": {
"id": 2357356113629,
"name": "config-WO1zqocNSbE",
"state": "hidden",
"setup_fee": 0,
"cost_per_month": 0,
"trial_period_days": 0,
"cancellation_period": 0,
"approval_required": false,
"default": false,
"created_at": "2019-07-15T16:57:27+01:00",
"updated_at": "2019-07-15T16:57:27+01:00",
"custom": false,
"system_name": "config_wo1zqocnsbe",
"links": [
{
"rel": "service",
"href": "https://istiodevel-admin.3scale.net/admin/api/services/2555417777820"
},
{
"rel": "self",
"href": "https://istiodevel-admin.3scale.net/admin/api/services/2555417777820/application_plans/2357356113629"
}
]
}
},
{
"application_plan": {
"id": 2357356117805,
"name": "fbfdhrh",
"state": "hidden",
"setup_fee": 0,
"cost_per_month": 0,
"trial_period_days": 0,
"cancellation_period": 0,
"approval_required": false,
"default": false,
"created_at": "2019-08-15T15:57:42+01:00",
"updated_at": "2019-08-15T15:57:42+01:00",
"custom": false,
"system_name": "fbfdhrh",
"links": [
{
"rel": "service",
"href": "https://istiodevel-admin.3scale.net/admin/api/services/2555417777820"
},
{
"rel": "self",
"href": "https://istiodevel-admin.3scale.net/admin/api/services/2555417777820/application_plans/2357356117805"
}
]
}
}
]
}
Assuming the XML output is the authoritative one, producing differences in the responses like the above makes it unnecessarily hard to write code that supports parsing both.
- relates to
-
THREESCALE-2137 Unify output format of API calls in "3scale API Documentation"
-
- Closed
-