Maestrano currently provides four SDKs to facilitate the integration of Single Sign-On, Billing and Data Sharing. Current SDKs are: Java, PHP, Ruby and .NET.
...
The dynamic configuration endpoint return a JSON document describing your configuration for every marketplace you are linked to. To know more about how to get your app ready for multiple marketplaces, you can read this article: multi-marketplace integration.
To retrieve the dynamic configuration, do a GET request to https://developer.maestrano.com/api/config/v1/marketplaces using your developer platform environment API Key and Secret.
Below is a commented example of a dynamic configuration endpoint response:
Code Block | ||||
---|---|---|---|---|
| ||||
#Request
curl -u <Developer Platform API Key:<Developer Platform API Secret> -X "GET" -H 'Accept: application/json' https://developer.maestrano.com/api/config/v1/marketplaces
# Response
{
"marketplaces": [
{
# => marketplace
# The name of this marketplace configuration.
"marketplace": "maestrano",
# => nid
# NID of your app on this marketplace.
"nid": "demo-app-production",
# => environment
# The name of your application.
"environment": "demo-app",
# => host
# This is your application informations.
"app": {
"host": "https://demo-app-uat.your-domain.com"
},
# => Marketplace (Mno-Hub) API
# Informations & credentials for your app to connect to this marketplace API.
# Those values are provided automatically.
"api": {
"id": "608d42d2-4bf2-f76a-ba5a-f76a-XXXXXXXXXXXX",
"key": "bdePCmsBXz4XXXXXXXXX",
"host": "https://api-hub.maestrano.com",
"base": "/api/v1/"
},
# => SSO configuration
# Informations & credentials for your app to connect to this marketplace API.
# Those values are provided automatically.
"sso": {
# => idm
# By default we consider that the domain managing user identification is the same as your application host (see above app.host parameter).
# If you have a dedicated domain managing user identification and therefore responsible for the single sign-on handshake (e.g: https://idp.my-app.com) then you can specify it in the developer platform.
"idm": "https://demo-app-uat.your-domain.com",
# => init_path (required)
# This is the path in your application that allows users to initiate the Single Sign-On handshake.
# Upon reaching this endpoint, users on your application will automatically create a SSO request and redirect the user to Maestrano. Maestrano will then authenticate and authorize the user.
"init_path": "/maestrano/auth/saml/init/maestrano-dev",
# => consume_path (required)
# This is your application path to the SAML endpoint that allows users to finalize SSO authentication.
# During the 'consume' action, your application sets users (and associated group) up and/or log them in.
"consume_path": "/maestrano/auth/saml/consume/maestrano-dev",
# => idp
# It corresponds to the platform host.
# The endpoint will provide you the correct host for the platform you are being connected to.
"idp": "https://api-hub.maestrano.io",
# => x509_fingerprint and x509_certificate
# The endpoint will provide you the correct host for the platform you are being connected to.
"x509_fingerprint": "1A:89:28:62:78:CE:63:26:3A:20:23:9C:20:78:36:8A:B5:2E:CC:BE",
"x509_certificate": "-----BEGIN CERTIFICATE-----\nMIIDcjCCAlqgA (...) wjlUbMnInFMUsqbw==\n-----END CERTIFICATE-----\n"
},
# ===> Data Sharing
# This section describes Connec!™ configuration
"connec": {
# => connec.host (required)
# It corresponds to the endpoint used to fetch data from.
# It changes with the tenant and the environment. We will provide you the correct host for the platform you are being connected to.
"host": "https://api-connec.maestrano.com",
"base_path": "/api/v2",
"timeout": 300
},
# => Data Sharing
# This section describes Connec!™ configuration
"webhooks": {
# Maestrano will issue a DELETE request to the following paths to notify you
# of any service cancellation (group deletion) or any user being removed from a group.
# => groups_path
# => group_users_path
"account": {
"group_path": "/maestrano/account/groups/:id/maestrano-dev",
"group_user_path": "/maestrano/account/groups/:group_id/users/:id/maestrano-dev"
},
# Connec Subscriptions/Webhook
# The following section configures the Connec!™ webhooks
"connec": {
"external_ids": true,
"initialization_path": null,
# => notifications_path (required)
# This is the path of your application where notifications (created/updated entities) will be POSTed to.
# You should have a controller matching this path handling the update of your internal entities
# based on the Connec!™ entities you receive
"notification_path": "/maestrano/connec/notifications/maestrano-dev",
"subscriptions": null
}
}
},
{
"nid": "demo-app-production",
"marketplace": "some-telco",
"environment": "demo-app",
"app": {
"host": "https://demo-app-uat.your-domain.com",
"synchronization_start_path": "/maestrano/maestrano-uat/synchronizations",
"synchronization_toggle_path": "/maestrano/maestrano-uat/synchronizations/toggle_sync",
"synchronization_status_path": "/maestrano/maestrano-uat/synchronizations/:cld-uid"
},
"api": {
"id": "app-15dh",
"key": "6daaadfa07701c8819ca4a6ad85948cc4b84051e0e4927aa33f29dd3faee1303",
"host": "https://api-hub-uat.maestrano.io",
"base": "/api/v1/"
},
"sso": {
"idm": "https://demo-app-uat.your-domain.com",
"init_path": "/maestrano/auth/saml/init/maestrano-uat",
"consume_path": "/maestrano/auth/saml/consume/maestrano-uat",
"idp": "https://api-hub-uat.maestrano.io",
"x509_fingerprint": "861e:2e:54:c4:67:80:68:47:81:18:f7:d3:29:87:77:f8:69:54:2f",
"x509_certificate": "-----BEGIN CERTIFICATE-----\nMIIDezCCAuSgAwIBAgIJ (...) TnpziApEC7uUsBou2rlKmTGw==\n-----END CERTIFICATE-----\n"
},
"connec": {
"host": "https://api-connec-uat.maestrano.io",
"base_path": "/api/v2",
"timeout": 300
},
"webhooks": {
"account": {
"group_path": "/maestrano/account/groups/:id/maestrano-uat",
"group_user_path": "/maestrano/account/groups/:group_id/users/:id/maestrano-uat"
},
"connec": {
"external_ids": true,
"initialization_path": null,
"notification_path": "/maestrano/connec/notifications/maestrano-uat",
"subscriptions": null
}
}
}
]
} |
...
Warning | ||
---|---|---|
| ||
Beware, the my-app-id and my-app-secret used to call these API needs to be retrieved previously using a GET call to https://developer.maestrano.com/api/config/v1/marketplaces |
3.1 Membership Management
...