Service Configuration Description Language
Specification Version 1.0
SCDL (pronounced “scuddle”) is a specification for the description of the configuration of a SIMS service. A SCDL service description may be in XML or JSON format.
The URL for the a SCDL service description may be posted on an informational page on the service’s web site. The recommended URL for such a page is http://hostname/sims, making it easy for anyone to understand how to connect to your service.
Each response must include scdl as the first element with a version attribute indicating the specification version in the format #.#. See the SCDL XML Schema for a complete specification of the SCDL data structure.
Example Service Description in XML:
<scdl version="x.x" xmlns="http://simsapi.org">
<name>Ultra Movies</name>
<web_site>https://ultramovies.com</web_site>
<allowed_countries>us</allowed_countries>
<localizations>us-en</localizations> [B]
<currencies>gbp</currencies>
<terms_docs>
<terms_doc>
<name>Terms of Service</name>
<url>https://ultramovies.com/legal/tos.html</url>
</terms_doc>
</terms_docs>
<apis>
<api>
<name>scbp</name> [A]
<version>1.0</version>
<radl>radl/scbp.js</radl>
<root>https://ultramovies.com</root>
</api>
<api>
<name>sctp</name>
<version>1.0</version>
<radl>radl/sctp.js</radl>
<root>https://ultramovies.com</root>
</api>
<api>
<name>scsp</name>
<version>1.0</version>
<radl>radl/scsp.js</radl>
<root>https://ultramovies.com</root>
</api>
</apis>
<device_types>
<device_type> [C]
<id>1</id>
<name>standard</name>
<link_limit>3</link_limit>
</device_type>
</device_types>
<device_platforms>
<device_platform> [D]
<id>0</id>
<name>Web Apps</name>
<slug>web</slug>
<type>standard</type>
<formats></formats>
<drm></drm> [E]
<skin></skin>
<test_skin></test_skin>
</device_platform>
<device_platform>
<id>1</id>
<name>iOS Apps</name>
<slug>ios</slug>
<type>standard</type>
<formats></formats>
<drm></drm>
<skin></skin>
<test_skin></test_skin>
</device_platform>
<device_platform>
<id>2</id>
<name>Samsung Apps</name>
<slug>samsung_apps</slug>
<type>standard</type>
<formats></formats>
<drm></drm>
<skin></skin>
<test_skin></test_skin>
</device_platform>
</device_platforms>
</scdl>
Note: Defined values for each element are required to be understood. Additional vendor-specific values may be included using a “x_” prefix. A basic implementation is not required to support vendor-specific values.
[A] Each api element identifies a SIMS API protocol supported by the service as well as its corresponding RADL URL. The following protocol names are defined:
scbp, sctp, scsp, sarp, ssmp, ssup
[B] The service localizations are expressed in a comma-separated list of case insensitive three-letter language codes as defined in ISO 639-3.
[C] The device_type element defines a class of device having specific usage limits. For each device type, the name is defined by the service and must be unique across the service, and the link_limit element indicates the maximum number of devices of that type which are allowed to link to an account. A link limit of ‘*’ indicates no limit.
[D] The device_platform element defines a class of device having specific usage limits. For each device platform, the name is defined by the service, and the type element indicates the device type associated with the platform by the service.
[E] If this element is not present, it is assumed that the device platform does not use any DRM. The following values are defined, and multiple values may be used:
marlin-bb, marlin-ms3, playready, wmdrm-pd, securemedia, widevine
0 Responses
Stay in touch with the conversation, subscribe to the RSS feed for comments on this post.