APIM Developer Portal¶
Sitio gestionado de Azure API Management para descubrir la Finance API, ver OpenAPI y usar Try it (con JWT).
URL pública: https://apim-eai-dev-fz1d.developer.azure-api.net
Gateway (API): https://apim-eai-dev-fz1d.azure-api.net
Runbook CLI (repo): scripts/edge/apim-developer-portal.md
Qué hay publicado¶
| Pieza | Valor |
|---|---|
| APIM | apim-eai-dev-fz1d · SKU Developer · RG rg-eai-dev-mxc |
| API | finance — OpenAPI desde shared/contracts/openapi/finance.yaml |
| Producto | Finance (publicado, sin subscription key en MVP) |
| Política | JWT Entra + rate limits + grupos (ver entra-apim-finance.md) |
Sign-in del portal de desarrolladores: no obligatorio para navegar (config signin.require=false). Las operaciones del API siguen exigiendo Bearer JWT en Try it / clients.
Primera publicación (obligatoria una vez)¶
Hasta abrir el editor admin y publicar, el sitio público puede verse vacío (Provision does not exist / 0 revisions).
- Portal Azure → API Management
apim-eai-dev-fz1d - Developer portal → abrir el enlace admin / publisher
- Save si pide → Publish site
- Esperar 2–5 min → https://apim-eai-dev-fz1d.developer.azure-api.net
Alternativa SSO admin (con az logueado):
$sub = az account show --query id -o tsv
$base = "https://management.azure.com/subscriptions/$sub/resourceGroups/rg-eai-dev-mxc/providers/Microsoft.ApiManagement/service/apim-eai-dev-fz1d"
$exp = (Get-Date).ToUniversalTime().AddHours(2).ToString('yyyy-MM-ddTHH:mm:ssZ')
$body = "{`"properties`":{`"keyType`":`"primary`",`"expiry`":`"$exp`"}}"
$tok = az rest --method post --uri "$base/users/1/token?api-version=2022-08-01" --body $body --query value -o tsv
Start-Process "https://apim-eai-dev-fz1d.developer.azure-api.net/signin-sso?token=$([uri]::EscapeDataString($tok))&returnUrl=/admin"
Publicar revisión vía REST (después de provisionar contenido):
$rev = (Get-Date).ToUniversalTime().ToString('yyyyMMddHHmmss')
$body = "{`"properties`":{`"description`":`"publish`",`"isCurrent`":true}}"
az rest --method put --uri "$base/portalRevisions/${rev}?api-version=2022-08-01" --body $body
SKU Developer
El endpoint *.management.azure-api.net:3443 puede fallar durante upgrades de plataforma (ManagementApiRequestFailed). Reintentar Publish cuando Resource Health vuelva a Available.
Refrescar OpenAPI desde el repo¶
$yaml = "shared/contracts/openapi/finance.yaml"
$tmp = "$env:TEMP\finance-apim.yaml"
(Get-Content $yaml -Raw) -replace 'http://localhost:8001','https://apim-eai-dev-fz1d.azure-api.net' |
Set-Content $tmp -Encoding utf8
az apim api import -g rg-eai-dev-mxc -n apim-eai-dev-fz1d `
--api-id finance --path "" `
--specification-format OpenApi --specification-path $tmp `
--display-name "Finance API" `
--api-type http `
--service-url "https://ca-eai-finance-api-dev.nicebush-01b1fe1e.mexicocentral.azurecontainerapps.io"
Reaplicar policy de API si el import la pisa (Terraform azurerm_api_management_api_policy.finance o Portal).