Condividi tramite


Modelli di prodotto in Gestione API di Azure

Gestione API di Azure consente di personalizzare il contenuto delle pagine del portale per sviluppatori usando un set di modelli che ne configurano il contenuto. Usando la sintassi DotLiquid e l'editor di tua scelta, come ad esempio DotLiquid per Designer, e un set fornito di risorse di stringa localizzate , risorse di glifi e controlli di pagina , hai grande flessibilità per configurare il contenuto delle pagine secondo le proprie esigenze usando questi modelli.

I modelli in questa sezione consentono di personalizzare il contenuto delle pagine del prodotto nel portale per sviluppatori.

Nota

I modelli predefiniti di esempio sono inclusi nella documentazione seguente, ma sono soggetti a modifiche dovute a miglioramenti continui. È possibile visualizzare i modelli predefiniti attivi nel portale per sviluppatori passando ai singoli modelli desiderati. Per altre informazioni sull'uso dei modelli, vedere Come personalizzare il portale per sviluppatori di Gestione API usando modelli.

Nota

Il contenuto della documentazione seguente riguarda il portale per sviluppatori deprecato. È possibile continuare a usarlo come al solito fino al ritiro nell'ottobre 2023, quando verrà rimosso da tutti i servizi di Gestione API. Il portale deprecato riceverà solo gli aggiornamenti critici della sicurezza. Per altre informazioni, vedere gli articoli seguenti:

Disponibilità

Importante

Questa funzionalità è disponibile nei livelli Premium, Standard, Basic e Developer di Gestione API.

Per la disponibilità delle funzionalità nei livelli v2 (anteprima), vedere la panoramica dei livelli v2.

Elenco prodotti

Il modello elenco prodotti consente di personalizzare il corpo della pagina dell'elenco prodotti nel portale per sviluppatori.

elenco prodotti

Modello predefinito

<search-control></search-control>  
<div class="row">  
    <div class="col-md-9">  
        <h2>{% localized "ProductsStrings|PageTitleProducts" %}</h2>  
    </div>  
</div>  
<div class="row">  
    <div class="col-md-12">  
	{% if products.size > 0 %}  
	<ul class="list-unstyled">  
	{% for product in products %}  
		<li>  
			<h3><a href="/products/{{product.id}}">{{product.title}}</a></h3>  
			{{product.description}}  
		</li>	  
	{% endfor %}  
	</ul>  
	<paging-control></paging-control>  
	{% else %}  
	{% localized "CommonResources|NoItemsToDisplay" %}  
	{% endif %}  
	</div>  
</div>  

Controlli

Il modello Product list può usare i seguenti controlli di pagina di .

Modello di dati

Proprietà TIPO Descrizione
Paginazione entità di trasmissione. Informazioni di paginazione per la collezione di prodotti.
Filtraggio filtro entità. Informazioni di filtro per la pagina dell'elenco prodotti.
Prodotti Raccolta di entità Prodotto. Prodotti visibili all'utente corrente.

Dati del modello di esempio

{  
    "Paging": {  
        "Page": 1,  
        "PageSize": 10,  
        "TotalItemCount": 2,  
        "ShowAll": false,  
        "PageCount": 1  
    },  
    "Filtering": {  
        "Pattern": null,  
        "Placeholder": "Search products"  
    },  
    "Products": [  
        {  
            "Id": "56f9445ffaf7560049060001",  
            "Title": "Starter",  
            "Description": "Subscribers will be able to run 5 calls/minute up to a maximum of 100 calls/week.",  
            "Terms": "",  
            "ProductState": 1,  
            "AllowMultipleSubscriptions": false,  
            "MultipleSubscriptionsCount": 1  
        },  
        {  
            "Id": "56f9445ffaf7560049060002",  
            "Title": "Unlimited",  
            "Description": "Subscribers have completely unlimited access to the API. Administrator approval is required.",  
            "Terms": null,  
            "ProductState": 1,  
            "AllowMultipleSubscriptions": false,  
            "MultipleSubscriptionsCount": 1  
        }  
    ]  
}  

Prodotto

Il modello Product consente di personalizzare il corpo della pagina del prodotto nel portale per sviluppatori.

pagina prodotto del portale sviluppatori

Modello predefinito

<h2>{{Product.Title}}</h2>  
<p>{{Product.Description}}</p>  
  
{% assign replaceString0 = '{0}' %}  
  
{% if Limits and Limits.size > 0 %}  
<h3>{% localized "ProductDetailsStrings|WebProductsUsageLimitsHeader"%}</h3>  
<ul>  
  {% for limit in Limits %}  
  <li>{{limit.DisplayName}}</li>  
  {% endfor %}  
</ul>  
{% endif %}  
  
{% if apis.size > 0 %}  
<p>  
  <b>  
    {% if apis.size == 1 %}  
    {% capture apisCountText %}{% localized "ProductDetailsStrings|TextblockSingleApisCount" %}{% endcapture %}  
    {% else %}  
    {% capture apisCountText %}{% localized "ProductDetailsStrings|TextblockMultipleApisCount" %}{% endcapture %}  
    {% endif %}  
  
    {% capture apisCount %}{{apis.size}}{% endcapture %}  
    {{ apisCountText | replace : replaceString0, apisCount }}  
  </b>  
</p>  
  
<ul>  
  {% for api in Apis %}  
  <li>  
    <a href="/docs/services/{{api.Id}}">{{api.Name}}</a>  
  </li>  
  {% endfor %}  
</ul>  
{% endif %}  
  
{% if subscriptions.size > 0 %}  
<p>  
  <b>  
    {% if subscriptions.size == 1 %}  
    {% capture subscriptionsCountText %}{% localized "ProductDetailsStrings|TextblockSingleSubscriptionsCount" %}{% endcapture %}  
    {% else %}  
    {% capture subscriptionsCountText %}{% localized "ProductDetailsStrings|TextblockMultipleSubscriptionsCount" %}{% endcapture %}  
    {% endif %}  
  
    {% capture subscriptionsCount %}{{subscriptions.size}}{% endcapture %}  
    {{ subscriptionsCountText | replace : replaceString0, subscriptionsCount }}  
  </b>  
</p>  
  
<ul>  
  {% for subscription in subscriptions %}  
  <li>  
    <a href="/developer#{{subscription.Id}}">{{subscription.DisplayName}}</a>  
  </li>  
  {% endfor %}  
</ul>  
{% endif %}  
{% if CannotAddBecauseSubscriptionNumberLimitReached %}  
<b>{% localized "ProductDetailsStrings|TextblockSubscriptionLimitReached" %}</b>  
{% elsif CannotAddBecauseMultipleSubscriptionsNotAllowed == false %}  
<subscribe-button></subscribe-button>  
{% endif %}  

Controlli

Il modello Product list può usare i seguenti controlli di pagina di .

Modello di dati

Proprietà TIPO Descrizione
Prodotto Prodotto Prodotto specificato.
IsDeveloperSottoscritto boolean Indica se l'utente corrente è iscritto a questo prodotto.
StatoIscrizione numero Stato della sottoscrizione. Gli stati possibili sono elencati di seguito:

- 0 - suspended: la sottoscrizione è bloccata e il sottoscrittore non può chiamare alcuna API del prodotto.
- 1 - active: la sottoscrizione è attiva.
- 2 - expired: la sottoscrizione ha raggiunto la data di scadenza ed è stata disattivata.
- 3 - submitted: la richiesta di sottoscrizione è stata effettuata dallo sviluppatore, ma non è ancora stata approvata o rifiutata.
- 4 - rejected: la richiesta di sottoscrizione è stata negata da un amministratore.
- 5 - cancelled: la sottoscrizione è stata annullata dallo sviluppatore o dall'amministratore.
Limiti serie Questa proprietà è deprecata e non deve essere utilizzata.
AbbonamentoDelegatoAbilitato boolean Indica se delega è abilitata per questa sottoscrizione.
UrlSottoscrizioneDelegata corda Se la delega è abilitata, l'URL della sottoscrizione delegata.
È Accettato boolean Se il prodotto ha termini, se l'utente corrente ha accettato le condizioni.
Sottoscrizioni Raccolta di entità riepilogo delle sottoscrizioni. Sottoscrizioni al prodotto.
Api Raccolta di entità API. Le API in questo prodotto.
Impossibile aggiungere poiché è stato raggiunto il limite del numero di abbonamenti. boolean Indica se l'utente corrente è idoneo a sottoscrivere questo prodotto in relazione al limite di sottoscrizione.
Impossibile aggiungere perché non sono consentiti più abbonamenti boolean Indica se l'utente corrente è idoneo a sottoscrivere questo prodotto per quanto riguarda più sottoscrizioni consentite o meno.

Dati del modello di esempio

{  
    "Product": {  
        "Id": "56f9445ffaf7560049060001",  
        "Title": "Starter",  
        "Description": "Subscribers will be able to run 5 calls/minute up to a maximum of 100 calls/week.",  
        "Terms": "",  
        "ProductState": 1,  
        "AllowMultipleSubscriptions": false,  
        "MultipleSubscriptionsCount": 1  
    },  
    "IsDeveloperSubscribed": true,  
    "SubscriptionState": 1,  
    "Limits": [],  
    "DelegatedSubscriptionEnabled": false,  
    "DelegatedSubscriptionUrl": null,  
    "IsAgreed": false,  
    "Subscriptions": [  
        {  
            "Id": "56f9445ffaf7560049070001",  
            "DisplayName": "Starter  (default)"  
        }  
    ],  
    "Apis": [  
        {  
            "id": "56f9445ffaf7560049040001",  
            "name": "Echo API",  
            "description": null,  
            "serviceUrl": "http://echoapi.cloudapp.net/api",  
            "path": "echo",  
            "protocols": [  
                2  
            ],  
            "authenticationSettings": null,  
            "subscriptionKeyParameterNames": null  
        }  
    ],  
    "CannotAddBecauseSubscriptionNumberLimitReached": false,  
    "CannotAddBecauseMultipleSubscriptionsNotAllowed": true  
}  

Passaggi successivi

Per altre informazioni sull'uso dei modelli, vedere Come personalizzare il portale per sviluppatori di Gestione API usando modelli.