Integrazione ChatGPT

Usa Bink con ChatGPT

Crea un GPT personalizzato che si connette alla tua pagina Bink e gestisce tutto con il linguaggio naturale — link, form, analytics, prenotazioni, messaggi.

GPT personalizzato

Crea un GPT personalizzato per Bink

Costruisci un GPT che gestisce la tua pagina Bink usando le API REST di Bink come Actions.

  1. 1

    Ottieni un Token di Accesso Personale

    Vai alle Impostazioni → Developer → Crea nuovo token. Copialo — ti servirà per l'autenticazione.
  2. 2

    Crea un nuovo GPT

    Vai su ChatGPT → Esplora GPT → Crea. Dagli un nome come "Il mio Bink Manager" e aggiungi queste istruzioni:

    Instructions
    Sei un gestore di pagine Bink. Aiuti l'utente a gestire la sua pagina Bink (una piattaforma link-in-bio). Puoi aggiungere, modificare, eliminare e riordinare blocchi (link, header, icone social). Puoi visualizzare analytics, gestire form e risposte, gestire messaggi in arrivo e prenotazioni. Conferma sempre le azioni distruttive prima di eseguirle.
  3. 3

    Aggiungi Actions

    Nell'editor del GPT, clicca "Crea nuova action". Imposta Authentication su "API Key" con header name "Authorization" e valore:

    Bearer bink_your_token_here

    Poi incolla lo schema OpenAPI qui sotto nel campo schema.

    OpenAPI Schema
    {
      "openapi": "3.1.0",
      "info": {
        "title": "Bink API",
        "version": "1.0.0",
        "description": "Manage your Bink page"
      },
      "servers": [
        { "url": "https://binatomy.link" }
      ],
      "paths": {
        "/api/blocks": {
          "get": {
            "operationId": "listBlocks",
            "summary": "List all blocks on the page",
            "responses": { "200": { "description": "Array of blocks" } }
          },
          "post": {
            "operationId": "createBlock",
            "summary": "Create a new block",
            "requestBody": {
              "required": true,
              "content": {
                "application/json": {
                  "schema": {
                    "type": "object",
                    "properties": {
                      "type": { "type": "string", "enum": ["link", "header", "social", "text", "image", "video", "divider"] },
                      "title": { "type": "string" },
                      "url": { "type": "string" },
                      "active": { "type": "boolean" }
                    },
                    "required": ["type"]
                  }
                }
              }
            },
            "responses": { "200": { "description": "Created block" } }
          }
        },
        "/api/blocks/{id}": {
          "put": {
            "operationId": "updateBlock",
            "summary": "Update a block",
            "parameters": [{ "name": "id", "in": "path", "required": true, "schema": { "type": "string" } }],
            "requestBody": {
              "content": {
                "application/json": {
                  "schema": {
                    "type": "object",
                    "properties": {
                      "title": { "type": "string" },
                      "url": { "type": "string" },
                      "active": { "type": "boolean" }
                    }
                  }
                }
              }
            },
            "responses": { "200": { "description": "Updated block" } }
          },
          "delete": {
            "operationId": "deleteBlock",
            "summary": "Delete a block",
            "parameters": [{ "name": "id", "in": "path", "required": true, "schema": { "type": "string" } }],
            "responses": { "200": { "description": "Deleted" } }
          }
        },
        "/api/analytics": {
          "get": {
            "operationId": "getAnalytics",
            "summary": "Get page analytics (views, clicks, top blocks)",
            "responses": { "200": { "description": "Analytics data" } }
          }
        },
        "/api/bookings": {
          "get": {
            "operationId": "listBookings",
            "summary": "List bookings",
            "responses": { "200": { "description": "Array of bookings" } }
          }
        },
        "/api/bookings/{id}": {
          "put": {
            "operationId": "updateBookingStatus",
            "summary": "Confirm or cancel a booking",
            "parameters": [{ "name": "id", "in": "path", "required": true, "schema": { "type": "string" } }],
            "requestBody": {
              "content": {
                "application/json": {
                  "schema": {
                    "type": "object",
                    "properties": {
                      "status": { "type": "string", "enum": ["confirmed", "cancelled"] }
                    }
                  }
                }
              }
            },
            "responses": { "200": { "description": "Updated booking" } }
          }
        },
        "/api/page/settings": {
          "get": {
            "operationId": "getPageSettings",
            "summary": "Get page settings",
            "responses": { "200": { "description": "Page settings" } }
          },
          "put": {
            "operationId": "updatePageSettings",
            "summary": "Update page title, description, SEO",
            "requestBody": {
              "content": {
                "application/json": {
                  "schema": {
                    "type": "object",
                    "properties": {
                      "title": { "type": "string" },
                      "description": { "type": "string" }
                    }
                  }
                }
              }
            },
            "responses": { "200": { "description": "Updated settings" } }
          }
        },
        "/api/forms": {
          "get": {
            "operationId": "listForms",
            "summary": "List all forms",
            "responses": { "200": { "description": "Array of forms" } }
          }
        },
        "/api/forms/{id}/responses": {
          "get": {
            "operationId": "getFormResponses",
            "summary": "Get form responses",
            "parameters": [{ "name": "id", "in": "path", "required": true, "schema": { "type": "string" } }],
            "responses": { "200": { "description": "Array of responses" } }
          }
        }
      }
    }
  4. 4

    Testa e pubblica

    Usa il pannello Preview per testare comandi come "Elenca i miei blocchi" o "Mostra le analytics". Quando sei soddisfatto, pubblica per te stesso o condividilo.
API REST

Endpoint API disponibili

Questi sono i principali endpoint API che il tuo GPT personalizzato può chiamare. Tutti richiedono un Bearer token nell'header Authorization.

MetodoPathDescrizione
GET/api/blocksList all blocks
POST/api/blocksCreate a new block
PUT/api/blocks/{id}Update a block
DELETE/api/blocks/{id}Delete a block
POST/api/blocks/reorderReorder blocks
GET/api/page/settingsGet page settings
PUT/api/page/settingsUpdate page settings
GET/api/page/themeGet page theme
PUT/api/page/themeUpdate page theme
POST/api/page/publishToggle page publish
GET/api/formsList forms
GET/api/forms/{id}Get form details
POST/api/formsCreate a form
PUT/api/forms/{id}Update a form
GET/api/forms/{id}/responsesGet form responses
GET/api/analyticsGet page analytics
GET/api/bookingsList bookings
PUT/api/bookings/{id}Update booking status
Esempi di prompt

Cosa chiedere al tuo GPT

Una volta configurato il tuo GPT personalizzato, prova questi prompt.

Gestione pagina

"Elenca tutti i blocchi della mia pagina"

"Aggiungi un nuovo link al mio profilo Instagram"

"Elimina il blocco header"

"Cambia il titolo della pagina in "I miei Link""

Analytics

"Mostra le analytics della pagina"

"Quali sono i link più cliccati?"

Form e messaggi

"Mostra le risposte del form di contatto"

"Quanti messaggi non letti ho?"

Prenotazioni

"Elenca le prenotazioni in attesa"

"Conferma la prenotazione di domani"

Pronto a creare il tuo GPT?

Crea un Token di Accesso Personale e inizia a costruire il tuo GPT personalizzato per Bink.