Skip to content

Widget Incorporabili

Crea e gestisci widget incorporabili per il tuo sito web. I widget forniscono componenti UI pronti all'uso per le funzionalità astrologiche che possono essere integrati in qualsiasi pagina web con un singolo tag script.

Modulo Richiesto

Tutti gli endpoint dei widget richiedono che il modulo module:embeddable-widgets sia abilitato per la tua organizzazione.


Tipi di Widget

I seguenti tipi di widget sono disponibili in base ai tuoi moduli attivi:

TipoDescrizioneModulo Richiesto
natalTema natale interattivonatal:calc
synastryTema di confronto di sinastriasynastry:calc
transitSovrapposizione del tema di transitotransit:calc
compositeTema composito relazionalecomposite:calc
moonphaseVisualizzazione della fase lunaremoonphase:calc
daily-horoscopeOroscopo giornaliero per tutti i segnimodule:daily-report
numerologyModulo del profilo numerologicomodule:numerology
compatibilityCompatibilità del segno solarecompatibility:calc
moon-calendarCalendario lunare mensilemoon-calendar:calc

Gestione dei Widget

Elenca i Widget

bash
curl "https://api.astroapi.cloud/api/widgets" \
  -H "X-Api-Key: your-api-key"

Ottieni un Widget

bash
curl "https://api.astroapi.cloud/api/widgets/wgt_abc123" \
  -H "X-Api-Key: your-api-key"

Crea un Widget

I widget vengono creati usando il formato JSON:API:

bash
curl -X POST "https://api.astroapi.cloud/api/widgets" \
  -H "X-Api-Key: your-api-key" \
  -H "Content-Type: application/vnd.api+json" \
  -d '{
    "data": {
      "type": "widgets",
      "attributes": {
        "name": "My Natal Chart Widget",
        "widgetType": "natal",
        "allowedDomains": ["example.com", "www.example.com"],
        "customization": {
          "language": "en",
          "layout": "card",
          "colors": {
            "primary": "#5b2d8e",
            "background": "#ffffff",
            "text": "#1a1a1a"
          },
          "widgetOptions": {
            "showAspects": true,
            "showPoints": true,
            "showHouses": true,
            "chartSize": 500,
            "theme": "light"
          }
        }
      }
    }
  }'

Aggiorna un Widget

bash
curl -X PATCH "https://api.astroapi.cloud/api/widgets/wgt_abc123" \
  -H "X-Api-Key: your-api-key" \
  -H "Content-Type: application/vnd.api+json" \
  -d '{
    "data": {
      "type": "widgets",
      "id": "wgt_abc123",
      "attributes": {
        "name": "Updated Widget Name",
        "customization": {
          "language": "nl"
        }
      }
    }
  }'

Elimina un Widget

bash
curl -X DELETE "https://api.astroapi.cloud/api/widgets/wgt_abc123" \
  -H "X-Api-Key: your-api-key"

Risposta del Widget

json
{
    "data": {
        "type": "widgets",
        "id": "wgt_abc123",
        "attributes": {
            "name": "My Natal Chart Widget",
            "widgetType": "natal",
            "allowedDomains": ["example.com", "www.example.com"],
            "embedCode": "<script src=\"https://cdn.astroapi.cloud/widget.js\" data-widget-id=\"wgt_abc123\"></script>",
            "customization": {
                "language": "en",
                "layout": "card",
                "colors": {
                    "primary": "#5b2d8e",
                    "background": "#ffffff",
                    "text": "#1a1a1a"
                },
                "widgetOptions": {
                    "showAspects": true,
                    "showPoints": true,
                    "showHouses": true,
                    "chartSize": 500,
                    "theme": "light"
                }
            },
            "createdAt": "2024-06-15T12:00:00Z",
            "updatedAt": "2024-06-15T12:00:00Z"
        }
    }
}

Rigenera la Chiave API

Rigenera la chiave API incorporata del widget. Usala se la chiave è stata compromessa:

bash
curl -X POST "https://api.astroapi.cloud/api/widgets/wgt_abc123/regenerate-key" \
  -H "X-Api-Key: your-api-key"

Rotazione della Chiave

Dopo aver rigenerato la chiave, gli incorporamenti esistenti che usano la vecchia chiave smetteranno di funzionare immediatamente. Non è necessario aggiornare il codice di incorporamento — l'ID del widget rimane lo stesso.


Opzioni di Widget Disponibili

Recupera i tipi di widget disponibili per la tua organizzazione in base ai tuoi moduli attivi:

bash
curl "https://api.astroapi.cloud/api/widgets/options" \
  -H "X-Api-Key: your-api-key"

Risposta

json
{
    "data": {
        "availableTypes": ["natal", "moonphase", "daily-horoscope"],
        "planFeatures": {
            "canRemoveBranding": false,
            "canUseCustomLogo": false,
            "canUseCustomCss": true,
            "maxDomains": 5
        }
    }
}

Funzionalità del Piano

FunzionalitàDescrizione
canRemoveBrandingSe il branding di AstroAPI può essere nascosto
canUseCustomLogoSe un logo personalizzato può essere mostrato al posto di quello predefinito
canUseCustomCssSe CSS personalizzato può essere iniettato nel widget
maxDomainsNumero massimo di domini consentiti per widget

Oggetto di Personalizzazione

L'oggetto customization controlla l'aspetto e il comportamento del widget:

json
{
    "colors": {
        "primary": "#5b2d8e",
        "secondary": "#a07cc5",
        "background": "#ffffff",
        "text": "#1a1a1a",
        "border": "#e0e0e0"
    },
    "fonts": {
        "family": "Inter, sans-serif",
        "size": "14px"
    },
    "borders": {
        "radius": "8px",
        "width": "1px"
    },
    "spacing": {
        "padding": "16px",
        "gap": "12px"
    },
    "shadows": {
        "card": "0 2px 8px rgba(0,0,0,0.1)"
    },
    "layout": "card",
    "interaction": {
        "allowUserInput": true,
        "showTooltips": true
    },
    "branding": {
        "showPoweredBy": true,
        "logoUrl": null
    },
    "language": "en",
    "customCss": ".astroapi-widget { font-weight: 500; }",
    "widgetOptions": {
        "showAspects": true,
        "showPoints": true,
        "showHouses": true,
        "chartSize": 500,
        "theme": "light"
    }
}

Campi di Personalizzazione

CampoTipoDescrizione
colors.primarystringColore di accento principale (hex)
colors.secondarystringColore di accento secondario (hex)
colors.backgroundstringColore di sfondo del widget (hex)
colors.textstringColore del testo principale (hex)
colors.borderstringColore del bordo (hex)
fonts.familystringValore CSS font-family
fonts.sizestringDimensione base del carattere (valore CSS)
borders.radiusstringRaggio del bordo per schede e input (valore CSS)
borders.widthstringLarghezza del bordo (valore CSS)
spacing.paddingstringPadding interno (valore CSS)
spacing.gapstringSpazio tra gli elementi (valore CSS)
shadows.cardstringCSS box-shadow per gli elementi scheda
layoutstringStile di layout del widget (vedi sotto)
interaction.allowUserInputbooleanSe gli utenti possono inserire i propri dati di nascita
interaction.showTooltipsbooleanMostra tooltip al passaggio del mouse
branding.showPoweredBybooleanMostra il badge "Powered by AstroAPI"
branding.logoUrlstring | nullURL del logo personalizzato (richiede canUseCustomLogo)
languagestringCodice lingua di visualizzazione
customCssstring | nullIniezione CSS personalizzata (richiede canUseCustomCss)
widgetOptions.showAspectsbooleanMostra le linee degli aspetti sui temi
widgetOptions.showPointsbooleanMostra i simboli dei pianeti sui temi
widgetOptions.showHousesbooleanMostra le divisioni delle case sui temi
widgetOptions.chartSizenumberDimensione del tema in pixel
widgetOptions.themestringTema colore ("light" o "dark")

Opzioni di Layout

ValoreDescrizione
compactSpazio minimo, adatto per barre laterali
cardScheda arrotondata con ombra (predefinito)
fullLarghezza intera, senza bordi
minimalNessuno sfondo, senza bordi

Incorporare un Widget

Dopo aver creato un widget, copia il embedCode dalla risposta e incollalo nell'HTML del tuo sito web:

html
<!-- Place this where you want the widget to appear -->
<div id="astroapi-widget-container"></div>

<!-- Load the widget script -->
<script
    src="https://cdn.astroapi.cloud/widget.js"
    data-widget-id="wgt_abc123">
</script>

Lista dei Domini Consentiti

I widget si caricheranno solo sui domini elencati in allowedDomains. Assicurati di aggiungere tutti i domini (incluse le varianti www) dove prevedi di incorporare il widget.

AstroAPI Documentation