PageSourceSearch

https://app.go2.ge/assets/docs-BBcJYv5-.js

js go2.ge collected 2026-10-05 04:51:52 UTC 57,502 bytes, 356 lines download raw bytes

1import{c as S,j as e,L as i,r as y}from"./main-DdfLmGdR.js";import{K as o}from"./key-BWzKMRQV.js";import{Z as x}from"./zap-MrgdXzge.js";import{P as u}from"./package-BCUFjXGR.js";import{L as j}from"./link-2-C2iPchgg.js";import{C as p}from"./chart-column-DfTt8zPv.js";import{G as b}from"./globe-bFOGPi9r.js";import{Q as N}from"./qr-code-Cb9qoBX2.js";import{C as f}from"./clock-B_Uwweks.js";import{S as k}from"./shield-Dv8oV1Uj.js";import{C}from"./code-CkeLy-B4.js";import{E as m}from"./external-link-NmtRqDLi.js";import{C as T}from"./check-B8rjsWgk.js";import{C as A}from"./copy-B7oUKSIs.js";import{C as G}from"./chevron-right-DzU2VuFe.js";const P=[["rect",{width:"20",height:"8",x:"2",y:"2",rx:"2",ry:"2",key:"ngkwjq"}],["rect",{width:"20",height:"8",x:"2",y:"14",rx:"2",ry:"2",key:"iecqi9"}],["line",{x1:"6",x2:"6.01",y1:"6",y2:"6",key:"16zg32"}],["line",{x1:"6",x2:"6.01",y1:"18",y2:"18",key:"nzw8ys"}]],g=S("server",P);function t({code:r,language:d="bash"}){const[n,l]=y.useState(!1),c=async()=>{await navigator.clipboard.writeText(r),l(!0),setTimeout(()=>l(!1),2e3)};return e.jsxs("div",{className:"relative group",children:[e.jsx("pre",{className:"bg-slate-900 dark:bg-[#0f0f1a] rounded-lg p-4 overflow-x-auto",children:e.jsx("code",{className:"text-sm text-slate-300 font-mono whitespace-pre",children:r})}),e.jsx("button",{onClick:c,className:"absolute top-3 right-3 p-2 bg-slate-800 hover:bg-slate-700 rounded-lg opacity-0 group-hover:opacity-100 transition-opacity",children:n?e.jsx(T,{className:"h-4 w-4 text-green-400"}):e.jsx(A,{className:"h-4 w-4 text-slate-400"})})]})}function s({method:r,path:d,description:n,scope:l,requestBody:c,responseBody:w}){const[h,v]=y.useState(!1),_={GET:"bg-green-100 text-green-700 dark:bg-green-900/30 dark:text-green-400",POST:"bg-blue-100 text-blue-700 dark:bg-blue-900/30 dark:text-blue-400",PUT:"bg-amber-100 text-amber-700 dark:bg-amber-900/30 dark:text-amber-400",DELETE:"bg-red-100 text-red-700 dark:bg-red-900/30 dark:text-red-400"};return e.jsxs("div",{className:"border border-slate-200 dark:border-white/10 rounded-xl overflow-hidden",children:[e.jsxs("button",{onClick:()=>v(!h),className:"w-full flex items-center gap-4 p-4 hover:bg-slate-50 dark:hover:bg-white/5 transition-colors text-left",children:[e.jsx("span",{className:`px-2.5 py-1 rounded-md text-xs font-bold ${_[r]}`,children:r}),e.jsx("code",{className:"text-sm font-mono text-slate-900 dark:text-white flex-1",children:d}),e.jsx("span",{className:"text-xs text-slate-500 dark:text-slate-400 hidden sm:block",children:l}),e.jsx(G,{className:`h-4 w-4 text-slate-400 transition-transform ${h?"rotate-90":""}`})]}),h&&e.jsxs("div",{className:"p-4 pt-0 space-y-4 border-t border-slate-100 dark:border-white/5",children:[e.jsx("p",{className:"text-sm text-slate-600 dark:text-slate-400",children:n}),e.jsxs("div",{className:"flex items-center gap-2 text-xs",children:[e.jsx(k,{className:"h-3.5 w-3.5 text-purple-500"}),e.jsx("span",{className:"text-slate-500 dark:text-slate-400",children:"Required scope:"}),e.jsx("code",{className:"px-1.5 py-0.5 bg-purple-100 dark:bg-purple-900/30 text-purple-700 dark:text-purple-400 rounded",children:l})]}),c&&e.jsxs("div",{children:[e.jsx("p",{className:"text-xs font-medium text-slate-500 dark:text-slate-400 mb-2 uppercase tracking-wide",children:"Request Body"}),e.jsx(t,{code:c,language:"json"})]}),e.jsxs("div",{children:[e.jsx("p",{className:"text-xs font-medium text-slate-500 dark:text-slate-400 mb-2 uppercase tracking-wide",children:"Response"}),e.jsx(t,{code:w,language:"json"})]})]})]})}function a({href:r,icon:d,label:n,active:l}){return e.jsxs("a",{href:r,className:`flex items-center gap-2 px-3 py-2 rounded-lg text-sm font-medium transition-colors ${l?"bg-purple-100 dark:bg-purple-900/30 text-purple-700 dark:text-purple-400":"text-slate-600 dark:text-slate-400 hover:bg-slate-100 dark:hover:bg-white/5"}`,children:[e.jsx(d,{className:"h-4 w-4"}),n]})}function X(){return e.jsxs("div",{className:"min-h-screen bg-slate-50 dark:bg-[#0a0a14]",children:[e.jsx("header",{className:"sticky top-0 z-40 bg-white/80 dark:bg-[#0a0a14]/80 backdrop-blur-xl border-b border-slate-200 dark:border-white/10",children:e.jsx("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8",children:e.jsxs("div",{className:"flex items-center justify-between h-16",children:[e.jsxs("div",{className:"flex items-center gap-4",children:[e.jsxs(i,{to:"/",className:"flex items-center gap-2",children:[e.jsx("div",{className:"w-8 h-8 rounded-xl bg-gradient-to-br from-purple-500 to-blue-500 flex items-center justify-center",children:e.jsx("span",{className:"text-white text-sm font-bold",children:"G2"})}),e.jsx("span",{className:"font-semibold text-slate-900 dark:text-white",children:"go2.ge"})]}),e.jsx("span",{className:"text-slate-300 dark:text-slate-600",children:"/"}
vendor: 4,103 bytes, lines 1-2
1),e.jsx("span",{className:"text-slate-600 dark:text-slate-400",children:"API Documentation"})]}),e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsxs(i,{to:"/dashboard/api-keys",className:"inline-flex items-center gap-2 px-4 py-2 text-sm font-medium text-purple-600 dark:text-purple-400 hover:bg-purple-50 dark:hover:bg-purple-900/20 rounded-lg transition-colors",children:[e.jsx(o,{className:"h-4 w-4"}),"Get API Key"]}),e.jsx(i,{to:"/dashboard",className:"inline-flex items-center gap-2 px-4 py-2 text-sm font-medium bg-gradient-to-r from-purple-600 to-blue-600 text-white rounded-lg hover:from-purple-500 hover:to-blue-500 transition-colors",children:"Dashboard"})]})]})})}),e.jsx("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-8",children:e.jsxs("div",{className:"flex gap-8",children:[e.jsx("aside",{className:"hidden lg:block w-64 flex-shrink-0",children:e.jsxs("nav",{className:"sticky top-24 space-y-1",children:[e.jsx(a,{href:"#getting-started",icon:x,label:"Getting Started",active:!0}),e.jsx(a,{href:"#sdks",icon:u,label:"SDKs"}),e.jsx(a,{href:"#grpc",icon:g,label:"gRPC API"}),e.jsx(a,{href:"#authentication",icon:o,label:"Authentication"}),e.jsx(a,{href:"#links",icon:j,label:"Links"}),e.jsx(a,{href:"#analytics",icon:p,label:"Analytics"}),e.jsx(a,{href:"#domains",icon:b,label:"Domains"}),e.jsx(a,{href:"#qr-codes",icon:N,label:"QR Codes"}),e.jsx(a,{href:"#integrations",icon:x,label:"Integrations"}),e.jsx(a,{href:"#campaigns",icon:p,label:"Campaigns"}),e.jsx(a,{href:"#rate-limits",icon:f,label:"Rate Limits"}),e.jsx(a,{href:"#errors",icon:k,label:"Errors"})]})}),e.jsx("main",{className:"flex-1 min-w-0",children:e.jsxs("div",{className:"prose prose-slate dark:prose-invert max-w-none",children:[e.jsxs("div",{className:"not-prose mb-12",children:[e.jsx("h1",{className:"text-4xl font-bold text-slate-900 dark:text-white mb-4",children:"Go2 API Documentation"}),e.jsx("p",{className:"text-lg text-slate-600 dark:text-slate-400 max-w-2xl",children:"Programmatically create smart links, fetch analytics, and manage your Go2 account. The API uses REST conventions and returns JSON responses."})]}),e.jsxs("section",{id:"getting-started",className:"mb-16 scroll-mt-24",children:[e.jsxs("h2",{className:"text-2xl font-bold text-slate-900 dark:text-white mb-4 flex items-center gap-2",children:[e.jsx(x,{className:"h-6 w-6 text-purple-500"}),"Getting Started"]}),e.jsxs("div",{className:"not-prose space-y-6",children:[e.jsxs("div",{className:"bg-white dark:bg-white/5 rounded-xl border border-slate-200 dark:border-white/10 p-6",children:[e.jsx("h3",{className:"font-semibold text-slate-900 dark:text-white mb-4",children:"Quick Start"}),e.jsxs("ol",{className:"space-y-4",children:[e.jsxs("li",{className:"flex gap-4",children:[e.jsx("span",{className:"flex-shrink-0 w-8 h-8 rounded-full bg-purple-100 dark:bg-purple-900/30 text-purple-600 dark:text-purple-400 flex items-center justify-center font-bold text-sm",children:"1"}),e.jsxs("div",{children:[e.jsx("p",{className:"font-medium text-slate-900 dark:text-white",children:"Get your API key"}),e.jsxs("p",{className:"text-sm text-slate-500 dark:text-slate-400 mt-1",children:["Create an API key from your"," ",e.jsx(i,{to:"/dashboard/api-keys",className:"text-purple-600 dark:text-purple-400 hover:underline",children:"dashboard"}),". API access requires a Pro or Team plan."]})]})]}),e.jsxs("li",{className:"flex gap-4",children:[e.jsx("span",{className:"flex-shrink-0 w-8 h-8 rounded-full bg-purple-100 dark:bg-purple-900/30 text-purple-600 dark:text-purple-400 flex items-center justify-center font-bold text-sm",children:"2"}),e.jsxs("div",{children:[e.jsx("p",{className:"font-medium text-slate-900 dark:text-white",children:"Make your first request"}),e.jsx("p",{className:"text-sm text-slate-500 dark:text-slate-400 mt-1 mb-3",children:"Use your API key to authenticate requests:"}),e.jsx(t,{code:`curl -H "X-API-Key: go2_your_key_here" \\
2  https://go2.ge/api/v1/links`})]})]}),e.jsxs("li",{className:"flex gap-4",children:[e.jsx("span",{className:"flex-shrink-0 w-8 h-8 rounded-full bg-purple-100 dar
2k:bg-purple-900/30 text-purple-600 dark:text-purple-400 flex items-center justify-center font-bold text-sm",children:"3"}),e.jsxs("div",{children:[e.jsx("p",{className:"font-medium text-slate-900 dark:text-white",children:"Create a smart link"}),e.jsx("p",{className:"text-sm text-slate-500 dark:text-slate-400 mt-1 mb-3",children:"Create your first link that redirects to different app stores:"}),e.jsx(t,{code:`curl -X POST \\
3  -H "X-API-Key: go2_your_key_here" \\
4  -H "Content-Type: application/json" \\
5  -d '{
6    "slug": "myapp",
7    "title": "My Awesome App",
8    "ios_url": "https://apps.apple.com/app/id123456",
9    "android_url": "https://play.google.com/store/apps/details?id=com.myapp",
10    "web_url": "https://myapp.com"
11  }' \\
12  https://go2.ge/api/v1/links`})]})]})]})]}),e.jsx("div",{className:"bg-gradient-to-r from-purple-50 to-blue-50 dark:from-purple-950/30 dark:to-blue-950/30 rounded-xl border border-purple-200 dark:border-purple-800 p-6",children:e.jsxs("div",{className:"flex items-start gap-4",children:[e.jsx("div",{className:"p-2 bg-purple-100 dark:bg-purple-900/50 rounded-lg",children:e.jsx(C,{className:"h-5 w-5 text-purple-600 dark:text-purple-400"})}),e.jsxs("div",{children:[e.jsx("h3",{className:"font-semibold text-slate-900 dark:text-white mb-1",children:"Base URL"}),e.jsx("p",{className:"text-sm text-slate-600 dark:text-slate-400 mb-2",children:"All API requests should be made to:"}),e.jsx("code",{className:"px-3 py-1.5 bg-white dark:bg-slate-900 rounded-lg text-sm font-mono text-purple-600 dark:text-purple-400",children:"https://go2.ge/api/v1"})]})]})})]})]}),e.jsxs("section",{id:"sdks",className:"mb-16 scroll-mt-24",children:[e.jsxs("h2",{className:"text-2xl font-bold text-slate-900 dark:text-white mb-4 flex items-center gap-2",children:[e.jsx(u,{className:"h-6 w-6 text-purple-500"}),"Official SDKs"]}),e.jsxs("div",{className:"not-prose space-y-6",children:[e.jsx("p",{className:"text-slate-600 dark:text-slate-400",children:"Use our official SDKs for the best developer experience. All SDKs support both REST and gRPC APIs."}),e.jsxs("div",{className:"bg-white dark:bg-white/5 rounded-xl border border-slate-200 dark:border-white/10 p-6",children:[e.jsxs("div",{className:"flex items-center justify-between mb-4",children:[e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx("div",{className:"w-10 h-10 rounded-lg bg-cyan-100 dark:bg-cyan-900/30 flex items-center justify-center",children:e.jsx("span",{className:"text-cyan-600 dark:text-cyan-400 font-bold text-sm",children:"Go"})}),e.jsxs("div",{children:[e.jsx("h3",{className:"font-semibold text-slate-900 dark:text-white",children:"Go SDK"}),e.jsx("p",{className:"text-sm text-slate-500 dark:text-slate-400",children:"github.com/gosms-ge/go2-sdk/go"})]})]}),e.jsxs("a",{href:"https://pkg.go.dev/github.com/gosms-ge/go2-sdk/go",target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center gap-1.5 px-3 py-1.5 text-xs font-medium text-cyan-700 dark:text-cyan-400 bg-cyan-50 dark:bg-cyan-900/20 rounded-lg hover:bg-cyan-100 dark:hover:bg-cyan-900/40 transition-colors",children:[e.jsx(m,{className:"h-3.5 w-3.5"}),"pkg.go.dev"]})]}),e.jsx(t,{code:"go get github.com/gosms-ge/go2-sdk/go"}),e.jsxs("div",{className:"mt-4",children:[e.jsx("p",{className:"text-xs font-medium text-slate-500 dark:text-slate-400 mb-2 uppercase tracking-wide",children:"Usage"}),e.jsx(t,{code:`package main
13
14import (
15    "context"
16    go2 "github.com/gosms-ge/go2-sdk/go"
17    linksv1 "github.com/gosms-ge/go2-sdk/go/links/v1"
18)
19
20func main() {
21    client, _ := go2.NewClient(go2.WithAPIKey("go2_your_key"))
22    defer client.Close()
23
24    ctx := context.Background()
25
26    // Create a smart link
27    link, _ := client.Links.Create(ctx, &linksv1.CreateLinkRequest{
28        Slug:       "myapp",
29        Title:      "My App",
30        IosUrl:     "https://apps.apple.com/app/id123",
31        AndroidUrl: "https://play.google.com/store/apps/details?id=com.myapp",
32    })
33
34    // Get analytics
35    stats, _ := client.Analytics.GetStats(ctx, link.Id, "7d")
36
37    // Generate QR code
38    qr, _ := client.QR.Generate(ctx, &qrv1.GenerateQRRequest{
39        LinkId: link.Id,
40        Size:   256,
41        Format: "png",
42    })
43}`,language:"go"})]})]}),e.jsxs("div",{className:"bg-white dark:bg-white/5 rounded-xl border border-slate-200 dark:border-white/10 p-6",children:[e.jsxs("div",{className:"flex items-center justify-between mb-4",children:[e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx("div",{className:"w-10 h-10 rounded-lg bg-yellow-100 dark:bg-yellow-900/30 flex items-center justify-center",children:e.jsx("span",{className:"text-yellow-600 dark:text-yellow-400 font-bold text-sm",children:"Py"})}),e.jsxs("div",{children:[e.jsx("h3",{className:"font-semibold text-slate-900 dark:text-white",children:"Python SDK"}),e.jsx("p",{className:"text-sm text-slate-500 dark:text-slate-400",children:"go2-sdk on PyPI"})]})]}),e.jsxs("a",{href:"https://pypi.org/project/go2-sdk/",target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center gap-1.5 px-3 py-1.5 text-xs font-medium text-yellow-700 dark:text-yellow-400 bg-yellow-50 dark:bg-yellow-900/20 rounded-lg hover:bg-yellow-100 dark:hover:bg-yellow-900/40 transition-colors",children:[e.jsx(m,{className:"h-3.5 w-3.5"}),"PyPI"]})]}),e.jsx(t,{code:"pip install go2-sdk"}),e.jsxs("div",{className:"mt-4",children:[e.jsx("p",{className:"text-xs font-medium text-slate-500 dark:text-slate-400 mb-2 uppercase tracking-wide",children:"Usage"}),e.jsx(t,{code:`from go2_sdk import Go2Client
44
45with Go2Client(api_key="go2_your_key") as client:
46    # Create a smart link
47    link = client.links.create(
48        slug="myapp",
49        title="My App",
50        ios_url="https://apps.apple.com/app/id123",
51        android_url="https://play.google.com/store/apps/details?id=com.myapp"
52    )
53
54    # Get analytics
55    stats = client.analytics.get_stats(link.id, period="7d")
56
57    # Generate QR code
58    qr = client.qr.generate(link_id=link.id, size=256)`,language:"python"})]})]}),e.jsxs("div",{className:"bg-white dark:bg-white/5 rounded-xl border border-slate-200 dark:border-white/10 p-6",children:[e.jsxs("div",{className:"flex items-center justify-between mb-4",children:[e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx("div",{className:"w-10 h-10 rounded-lg bg-blue-100 dar
58k:bg-blue-900/30 flex items-center justify-center",children:e.jsx("span",{className:"text-blue-600 dark:text-blue-400 font-bold text-sm",children:"TS"})}),e.jsxs("div",{children:[e.jsx("h3",{className:"font-semibold text-slate-900 dark:text-white",children:"TypeScript/Node.js SDK"}),e.jsx("p",{className:"text-sm text-slate-500 dark:text-slate-400",children:"@go2ge/sdk on npm"})]})]}),e.jsxs("a",{href:"https://www.npmjs.com/package/@go2ge/sdk",target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center gap-1.5 px-3 py-1.5 text-xs font-medium text-red-700 dark:text-red-400 bg-red-50 dark:bg-red-900/20 rounded-lg hover:bg-red-100 dark:hover:bg-red-900/40 transition-colors",children:[e.jsx(m,{className:"h-3.5 w-3.5"}),"npm"]})]}),e.jsx(t,{code:"npm install @go2ge/sdk"}),e.jsxs("div",{className:"mt-4",children:[e.jsx("p",{className:"text-xs font-medium text-slate-500 dark:text-slate-400 mb-2 uppercase tracking-wide",children:"Usage"}),e.jsx(t,{code:`import { Go2Client } from '@go2ge/sdk';
59
60const client = new Go2Client({ apiKey: 'go2_your_key' });
61
62// Create a smart link
63const link = await client.links.create({
64  slug: 'myapp',
65  title: 'My App',
66  iosUrl: 'https://apps.apple.com/app/id123',
67  androidUrl: 'https://play.google.com/store/apps/details?id=com.myapp',
68});
69
70// Get analytics
71const stats = await client.analytics.getStats(link.id, '7d');
72
73// Generate QR code
74const qr = await client.qr.generate({
75  linkId: link.id,
76  size: 256,
77  format: 'png',
78});
79
80// Manage custom domains
81const domains = await client.domains.list();
82
83client.close();`,language:"typescript"})]})]}),e.jsx("div",{className:"flex gap-4",children:e.jsxs("a",{href:"https://github.com/gosms-ge/go2-sdk",target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center gap-2 px-4 py-2 text-sm font-medium text-slate-700 dark:text-slate-300 bg-slate-100 dark:bg-white/10 rounded-lg hover:bg-slate-200 dark:hover:bg-white/20 transition-colors",children:[e.jsx(m,{className:"h-4 w-4"}),"View on GitHub"]})})]})]}),e.jsxs("section",{id:"grpc",className:"mb-16 scroll-mt-24",children:[e.jsxs("h2",{className:"text-2xl font-bold text-slate-900 dark:text-white mb-4 flex items-center gap-2",children:[e.jsx(g,{className:"h-6 w-6 text-purple-500"}),"gRPC API"]}),e.jsxs("div",{className:"not-prose space-y-6",children:[e.jsx("p",{className:"text-slate-600 dark:text-slate-400",children:"For high-performance applications, use our gRPC API. It offers lower latency and better throughput than REST."}),e.jsx("div",{className:"bg-gradient-to-r from-purple-50 to-blue-50 dark:from-purple-950/30 dark:to-blue-950/30 rounded-xl border border-purple-200 dark:border-purple-800 p-6",children:e.jsxs("div",{className:"flex items-start gap-4",children:[e.jsx("div",{className:"p-2 bg-purple-100 dark:bg-purple-900/50 rounded-lg",children:e.jsx(g,{className:"h-5 w-5 text-purple-600 dark:text-purple-400"})}),e.jsxs("div",{children:[e.jsx("h3",{className:"font-semibold text-slate-900 dark:text-white mb-1",children:"gRPC Endpoint"}),e.jsx("code",{className:"px-3 py-1.5 bg-white dark:bg-slate-900 rounded-lg text-sm font-mono text-purple-600 dark:text-purple-400",children:"grpc.go2.ge:443"})]})]})}),e.jsxs("div",{className:"bg-white dark:bg-white/5 rounded-xl border border-slate-200 dark:border-white/10 p-6",children:[e.jsx("h3",{className:"font-semibold text-slate-900 dark:text-white mb-4",children:"Available Services"}),e.jsxs("div",{className:"space-y-4",children:[e.jsxs("div",{className:"p-4 bg-slate-50 dark:bg-white/5 rounded-lg",children:[e.jsx("h4",{className:"font-medium text-slate-900 dark:text-white mb-2",children:"LinkService"}),e.jsx("p",{className:"text-sm text-slate-500 dark:text-slate-400 mb-3",children:"Create and manage smart links"}),e.jsxs("div",{className:"grid grid-cols-2 gap-1 text-sm font-mono",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("span",{className:"text-green-600",children:"rpc"}),e.jsx("span",{className:"text-slate-700 dark:text-slate-300",children:"ListLinks"})]}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("span",{className:"text-green-600",children:"rpc"}),e.jsx("span",{className:"text-slate-700 dark:text-slate-300",children:"CreateLink"})]}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("span",{className:"text-green-600",children:"rpc"}),e.jsx("span",{className:"text-slate-700 dark:text-slate-300",children:"GetLink"})]}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("span",{className:"text-green-600",children:"rpc"}),e.jsx("span",{className:"text-slate-700 dark:text-slate-300",children:"UpdateLink"})]}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("span",{className:"text-green-600",children:"rpc"}),e.jsx("span",{className:"text-slate-700 dark:text-slate-300",children:"DeleteLink"})]}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("span",{className:"text-green-600",children:"rpc"}),e.jsx("span",{className:"text-slate-700 dark:text-slate-300",children:"CheckSlug"})]})]})]}),e.jsxs("div",{className:"p-4 bg-slate-50 dark:bg-white/5 rounded-lg",children:[e.jsx("h4",{className:"font-medium text-slate-900 dark:text-white mb-2",children:"AnalyticsService"}),e.jsx("p",{className:"text-sm text-slate-500 dark:text-slate-400 mb-3",children:"Link click analytics and statistics"}),e.jsxs("div",{className:"grid grid-cols-2 gap-1 text-sm font-mono",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("span",{className:"text-green-600",children:"rpc"}),e.jsx("span",{className:"text-slate-700 dark:text-slate-300",children:"GetStats"})]}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("span",{className:"text-green-600",children:"rpc"}),e.jsx("span",{className:"text-slate-700 dark:text-slate-300",children:"GetTimeseries"})]}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("span",{className:"text-green-600",children:"rpc"}),e.jsx("span",{className:"text-slate-700 dark:text-slate-300",children:"GetPlatforms"})]}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("span",{className:"text-green-600",children:"rpc"}),e.jsx("span",{className:"text-slate-700 dark:text-slate-300",children:"GetCountries"})]}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("span",{className:"text-green-600",children:"rpc"}),e.jsx("span",{className:"text-slate-700 dark:text-slate-300",children:"GetReferrers"})]})]})]}),e.jsxs("div",{className:"p-4 bg-slate-50 dark:bg-white/5 rounded-lg",children:[e.jsx("h4",{className:"font-medium text-slate-900 dark:text-white mb-2",children:"DomainService"}),e.jsx("p",{className:"text-sm text-slate-500 dark:text-slate-400 mb-3",children:"Custom domain management"}),e.jsxs("div",{className:"grid grid-cols-2 gap-1 text-sm font-mono",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("span",{className:"text-green-600",children:"rpc"}),e.jsx("span",{className:"text-slate-700 dark:text-slate-300",children:"ListDomains"})]}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("span",{className:"text-green-600",children:"rpc"}),e.jsx("span",{className:"text-slate-700 dark:text-slate-300",children:"CreateDomain"})]}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("span",{className:"text-green-600",children:"rpc"}),e.jsx("span",{className:"text-slate-700 dark:text-slate-300",children:"GetDomain"})]}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("span",{className:"text-green-600",children:"rpc"}),e.jsx("span",{className:"text-slate-700 dark:text-slate-300",children:"VerifyDomain"})]}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("span",{className:"text-green-600",children:"rpc"}),e.jsx("span",{className:"text-slate-700 dark:text-slate-300",children:"DeleteDomain"})]})]})]}),e.jsxs("div",{className:"p-4 bg-slate-50 dark:bg-white/5 rounded-lg",children:[e.jsx("h4",{className:"font-medium text-slate-900 dark:text-white mb-2",children:"QRService"}),e.jsx("p",{className:"text-sm text-slate-500 dark:text-slate-400 mb-3",children:"QR code generation with customization"}),e.jsx("div",{className:"grid grid-cols-2 gap-1 text-sm font-mono",children:e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("span",{className:"text-green-600",children:"rpc"}),e.jsx("span",{className:"text-slate-700 dark:text-slate-300",children:"GenerateQR"})]})})]}),e.jsxs("div",{className:"p-4 bg-slate-50 dark:bg-white/5 rounded-lg",children:[e.jsx("h4",{className:"font-medium text-slate-900 dark:text-white mb-2",children:"IntegrationService"}),e.jsx("p",{className:"text-sm text-slate-500 dark:text-slate-400 mb-3",children:"Third-party integrations (Slack, Discord, Telegram, etc.)"}),e.jsxs("div",{className:"grid grid-cols-2 gap-1 text-sm font-mono",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("span",{className:"text-green-600",children:"rpc"}),e.jsx("span",{className:"text-slate-700 dark:text-slate-300",children:"ListIntegrations"})]}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("span",{className:"text-green-600",children:"rpc"}),e.jsx("span",{className:"text-slate-700 dark:text-slate-300",children:"CreateIntegration"})]}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("span",{className:"text-green-600",children:"rpc"}),e.jsx("span",{className:"text-slate-700 dark:text-slate-300",children:"GetIntegration"})]}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("span",{className:"text-green-600",children:"rpc"}),e.jsx("span",{className:"text-slate-700 dark:text-slate-300",children:"UpdateIntegration"})]}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("span",{className:"text-green-600",children:"rpc"}),e.jsx("span",{className:"text-slate-700 dark:text-slate-300",children:"DeleteIntegration"})]}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("span",{className:"text-green-600",children:"rpc"}),e.jsx("span",{className:"text-slate-700 dark:text-slate-300",children:"TestIntegration"})]}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("span",{className:"text-green-600",children:"rpc"}),e.jsx("span",{className:"text-slate-700 dark:text-slate-300",children:"GetIntegrationTypes"})]})]})]}),e.jsxs("div",{className:"p-4 bg-slate-50 dark:bg-white/5 rounded-lg",children:[e.jsx("h4",{className:"font-medium text-slate-900 dark:text-white mb-2",children:"CampaignService"}),e.jsx("p",{className:"text-sm text-slate-500 dark:text-slate-400 mb-3",children:"SMS/Email marketing campaigns with bulk trackable links"}),e.jsxs("div",{className:"grid grid-cols-2 gap-1 text-sm font-mono",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("span",{className:"text-green-600",children:"rpc"}),e.jsx("span",{className:"text-slate-700 dark:text-slate-300",children:"ListCampaigns"})]}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("span",{className:"text-green-600",children:"rpc"}),e.jsx("span",{className:"text-slate-700 dark:text-slate-300",children:"CreateCampaign"})]}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("span",{className:"text-green-600",children:"rpc"}),e.jsx("span",{className:"text-slate-700 dark:text-slate-300",children:"GetCampaign"})]}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("span",{className:"text-green-600",children:"rpc"}),e.jsx("span",{className:"text-slate-700 dark:text-slate-300",children:"UpdateCampaign"})]}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("span",{className:"text-green-600",children:"rpc"}),e.jsx("span",{className:"text-slate-700 dark:text-slate-300",children:"DeleteC
83ampaign"})]}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("span",{className:"text-green-600",children:"rpc"}),e.jsx("span",{className:"text-slate-700 dark:text-slate-300",children:"GenerateLinks"})]}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("span",{className:"text-green-600",children:"rpc"}),e.jsx("span",{className:"text-slate-700 dark:text-slate-300",children:"ListCampaignLinks"})]}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("span",{className:"text-green-600",children:"rpc"}),e.jsx("span",{className:"text-slate-700 dark:text-slate-300",children:"GetCampaignStats"})]}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("span",{className:"text-green-600",children:"rpc"}),e.jsx("span",{className:"text-slate-700 dark:text-slate-300",children:"ExportLinks"})]})]})]})]})]}),e.jsxs("div",{className:"bg-white dark:bg-white/5 rounded-xl border border-slate-200 dark:border-white/10 p-6",children:[e.jsx("h3",{className:"font-semibold text-slate-900 dark:text-white mb-4",children:"Authentication"}),e.jsx("p",{className:"text-sm text-slate-600 dark:text-slate-400 mb-3",children:"Pass your API key in the gRPC metadata:"}),e.jsx(t,{code:"x-api-key: go2_your_key_here"}),e.jsx("p",{className:"text-sm text-slate-500 dark:text-slate-400 mt-3",children:"Or use the Authorization header:"}),e.jsx(t,{code:"authorization: Bearer go2_your_key_here"})]}),e.jsxs("div",{className:"bg-white dark:bg-white/5 rounded-xl border border-slate-200 dark:border-white/10 p-6",children:[e.jsx("h3",{className:"font-semibold text-slate-900 dark:text-white mb-4",children:"Proto Files"}),e.jsx("p",{className:"text-sm text-slate-600 dark:text-slate-400 mb-3",children:"Download proto files to generate client code for any language:"}),e.jsxs("div",{className:"flex flex-wrap gap-2",children:[e.jsx("a",{href:"https://github.com/gosms-ge/go2-sdk/blob/main/proto/links/v1/links.proto",target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center gap-2 px-3 py-1.5 text-sm font-medium text-purple-600 dark:text-purple-400 bg-purple-50 dark:bg-purple-900/20 rounded-lg hover:bg-purple-100 dark:hover:bg-purple-900/40 transition-colors",children:"links.proto"}),e.jsx("a",{href:"https://github.com/gosms-ge/go2-sdk/blob/main/proto/analytics/v1/analytics.proto",target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center gap-2 px-3 py-1.5 text-sm font-medium text-purple-600 dark:text-purple-400 bg-purple-50 dark:bg-purple-900/20 rounded-lg hover:bg-purple-100 dark:hover:bg-purple-900/40 transition-colors",children:"analytics.proto"}),e.jsx("a",{href:"https://github.com/gosms-ge/go2-sdk/blob/main/proto/domains/v1/domains.proto",target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center gap-2 px-3 py-1.5 text-sm font-medium text-purple-600 dark:text-purple-400 bg-purple-50 dark:bg-purple-900/20 rounded-lg hover:bg-purple-100 dark:hover:bg-purple-900/40 transition-colors",children:"domains.proto"}),e.jsx("a",{href:"https://github.com/gosms-ge/go2-sdk/blob/main/proto/qr/v1/qr.proto",target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center gap-2 px-3 py-1.5 text-sm font-medium text-purple-600 dark:text-purple-400 bg-purple-50 dark:bg-purple-900/20 rounded-lg hover:bg-purple-100 dark:hover:bg-purple-900/40 transition-colors",children:"qr.proto"}),e.jsx("a",{href:"https://github.com/gosms-ge/go2-sdk/blob/main/proto/integrations/v1/integrations.proto",target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center gap-2 px-3 py-1.5 text-sm font-medium text-purple-600 dark:text-purple-400 bg-purple-50 dark:bg-purple-900/20 rounded-lg hover:bg-purple-100 dark:hover:bg-purple-900/40 transition-colors",children:"integrations.proto"}),e.jsx("a",{href:"https://github.com/gosms-ge/go2-sdk/blob/main/proto/campaigns/v1/campaigns.proto",target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center gap-2 px-3 py-1.5 text-sm font-medium text-purple-600 dark:text-purple-400 bg-purple-50 dark:bg-purple-900/20 rounded-lg hover:bg-purple-100 dar
83k:hover:bg-purple-900/40 transition-colors",children:"campaigns.proto"})]})]}),e.jsxs("div",{className:"grid gap-4 sm:grid-cols-2",children:[e.jsxs("div",{className:"bg-white dark:bg-white/5 rounded-xl border border-slate-200 dark:border-white/10 p-5",children:[e.jsx("h4",{className:"font-semibold text-slate-900 dark:text-white mb-2",children:"Why gRPC?"}),e.jsxs("ul",{className:"text-sm text-slate-500 dark:text-slate-400 space-y-1",children:[e.jsx("li",{children:"• 2-10x faster than REST"}),e.jsx("li",{children:"• Binary protocol (smaller payloads)"}),e.jsx("li",{children:"• Strongly typed contracts"}),e.jsx("li",{children:"• Bi-directional streaming"})]})]}),e.jsxs("div",{className:"bg-white dark:bg-white/5 rounded-xl border border-slate-200 dark:border-white/10 p-5",children:[e.jsx("h4",{className:"font-semibold text-slate-900 dark:text-white mb-2",children:"When to use REST?"}),e.jsxs("ul",{className:"text-sm text-slate-500 dark:text-slate-400 space-y-1",children:[e.jsx("li",{children:"• Browser-based applications"}),e.jsx("li",{children:"• Simple integrations"}),e.jsx("li",{children:"• Debugging with curl"}),e.jsx("li",{children:"• Webhook callbacks"})]})]})]})]})]}),e.jsxs("section",{id:"authentication",className:"mb-16 scroll-mt-24",children:[e.jsxs("h2",{className:"text-2xl font-bold text-slate-900 dark:text-white mb-4 flex items-center gap-2",children:[e.jsx(o,{className:"h-6 w-6 text-purple-500"}),"Authentication"]}),e.jsxs("div",{className:"not-prose space-y-4",children:[e.jsx("p",{className:"text-slate-600 dark:text-slate-400",children:"Authenticate your requests using an API key. You can pass the key in one of two ways:"}),e.jsxs("div",{className:"grid gap-4 sm:grid-cols-2",children:[e.jsxs("div",{className:"bg-white dark:bg-white/5 rounded-xl border border-slate-200 dark:border-white/10 p-5",children:[e.jsx("h4",{className:"font-semibold text-slate-900 dark:text-white mb-2",children:"X-API-Key Header"}),e.jsx("p",{className:"text-sm text-slate-500 dark:text-slate-400 mb-3",children:"Recommended method"}),e.jsx(t,{code:"X-API-Key: go2_your_key_here"})]}),e.jsxs("div",{className:"bg-white dark:bg-white/5 rounded-xl border border-slate-200 dark:border-white/10 p-5",children:[e.jsx("h4",{className:"font-semibold text-slate-900 dark:text-white mb-2",children:"Bearer Token"}),e.jsx("p",{className:"text-sm text-slate-500 dark:text-slate-400 mb-3",children:"Alternative method"}),e.jsx(t,{code:"Authorization: Bearer go2_your_key_here"})]})]}),e.jsx("div",{className:"bg-amber-50 dark:bg-amber-950/30 border border-amber-200 dark:border-amber-800 rounded-xl p-4",children:e.jsxs("p",{className:"text-sm text-amber-800 dark:text-amber-400",children:[e.jsx("strong",{children:"Keep your API key secure!"})," Never expose it in client-side code or public repositories. If your key is compromised, revoke it immediately from your dashboard."]})})]})]}),e.jsxs("section",{id:"links",className:"mb-16 scroll-mt-24",children:[e.jsxs("h2",{className:"text-2xl font-bold text-slate-900 dark:text-white mb-4 flex items-center gap-2",children:[e.jsx(j,{className:"h-6 w-6 text-purple-500"}),"Links"]}),e.jsxs("div",{className:"not-prose space-y-4",children:[e.jsx("p",{className:"text-slate-600 dark:text-slate-400 mb-6",children:"Create and manage smart links that redirect users to the right app store based on their device."}),e.jsx(s,{method:"GET",path:"/links",description:"List all your links with pagination support.",scope:"links:read",responseBody:`{
84  "links": [
85    {
86      "id": "550e8400-e29b-41d4-a716-446655440000",
87      "slug": "myapp",
88      "title": "My Awesome App",
89      "ios_url": "https://apps.apple.com/app/id123456",
90      "android_url": "https://play.google.com/store/apps/details?id=com.myapp",
91      "web_url": "https://myapp.com",
92      "total_clicks": 1234,
93      "is_active": true,
94      "created_at": "2024-01-15T10:30:00Z"
95    }
96  ],
97  "total": 15,
98  "page": 1,
99  "per_page": 20
100}`}),e.jsx(s,{method:"POST",path:"/links",description:"Create a new smart link with platform-specific destinations.",scope:"links:write",requestBody:`{
101  "slug": "myapp",
102  "title": "My Awesome App",
103  "ios_url": "https://apps.apple.com/app/id123456",
104  "android_url": "https://play.google.com/store/apps/details?id=com.myapp",
105  "web_url": "https://myapp.com",
106  "fallback_url": "https://myapp.com/download"
107}`,responseBody:`{
108  "link": {
109    "id": "550e8400-e29b-41d4-a716-446655440000",
110    "slug": "myapp",
111    "title": "My Awesome App",
112    "ios_url": "https://apps.apple.com/app/id123456",
113    "android_url": "https://play.google.com/store/apps/details?id=com.myapp",
114    "web_url": "https://myapp.com",
115    "total_clicks": 0,
116    "is_active": true,
117    "created_at": "2024-01-15T10:30:00Z"
118  }
119}`}),e.jsx(s,{method:"GET",path:"/links/:id",description:"Get details of a specific link by ID.",scope:"links:read",responseBody:`{
120  "link": {
121    "id": "550e8400-e29b-41d4-a716-446655440000",
122    "slug": "myapp",
123    "title": "My Awesome App",
124    "ios_url": "https://apps.apple.com/app/id123456",
125    "android_url": "https://play.google.com/store/apps/details?id=com.myapp",
126    "web_url": "https://myapp.com",
127    "total_clicks": 1234,
128    "is_active": true,
129    "created_at": "2024-01-15T10:30:00Z",
130    "updated_at": "2024-01-20T15:45:00Z"
131  }
132}`}),e.jsx(s,{method:"PUT",path:"/links/:id",description:"Update an existing link's settings and destinations.",scope:"links:write",requestBody:`{
133  "title": "Updated App Name",
134  "ios_url": "https://apps.apple.com/app/id999999",
135  "is_active": false
136}`,responseBody:`{
137  "link": {
138    "id": "550e8400-e29b-41d4-a716-446655440000",
139    "slug": "myapp",
140    "title": "Updated App Name",
141    "ios_url": "https://apps.apple.com/app/id999999",
142    "is_active": false,
143    "updated_at": "2024-01-25T12:00:00Z"
144  }
145}`}),e.jsx(s,{method:"DELETE",path:"/links/:id",description:"Permanently delete a link. This action cannot be undone.",scope:"links:write",responseBody:`{
146  "message": "Link deleted successfully"
147}`}),e.jsx(s,{method:"GET",path:"/links/check-slug/:slug",description:"Check if a slug is available for use.",scope:"links:read",responseBody:`{
148  "available": true,
149  "slug": "myapp"
150}`})]})]}),e.jsxs("section",{id:"analytics",className:"mb-16 scroll-mt-24",children:[e.jsxs("h2",{className:"text-2xl font-bold text-slate-900 dark:text-white mb-4 flex items-center gap-2",children:[e.jsx(p,{className:"h-6 w-6 text-purple-500"}),"Analytics"]}),e.jsxs("div",{className:"not-prose space-y-4",children:[e.jsx("p",{className:"text-slate-600 dar
150k:text-slate-400 mb-6",children:"Access detailed click analytics for your links including platform breakdowns, geographic data, and time series."}),e.jsx(s,{method:"GET",path:"/links/:id/stats",description:"Get overview statistics for a link.",scope:"analytics:read",responseBody:`{
151  "stats": {
152    "total_clicks": 15234,
153    "unique_clicks": 12891,
154    "ios_clicks": 6543,
155    "android_clicks": 5234,
156    "web_clicks": 3457,
157    "top_countries": [
158      {"country": "US", "clicks": 5432},
159      {"country": "GB", "clicks": 2341}
160    ]
161  }
162}`}),e.jsx(s,{method:"GET",path:"/links/:id/stats/timeseries?period=7d",description:"Get click data over time. Periods: 7d, 30d, 90d",scope:"analytics:read",responseBody:`{
163  "timeseries": [
164    {"date": "2024-01-15", "clicks": 234, "unique": 198},
165    {"date": "2024-01-16", "clicks": 312, "unique": 267},
166    {"date": "2024-01-17", "clicks": 189, "unique": 156}
167  ]
168}`}),e.jsx(s,{method:"GET",path:"/links/:id/stats/platforms",description:"Get breakdown of clicks by platform (iOS, Android, etc.)",scope:"analytics:read",responseBody:`{
169  "platforms": [
170    {"platform": "ios", "clicks": 6543, "percentage": 42.9},
171    {"platform": "android", "clicks": 5234, "percentage": 34.4},
172    {"platform": "web", "clicks": 3457, "percentage": 22.7}
173  ]
174}`}),e.jsx(s,{method:"GET",path:"/links/:id/stats/countries",description:"Get geographic breakdown of clicks.",scope:"analytics:read",responseBody:`{
175  "countries": [
176    {"country": "US", "country_name": "United States", "clicks": 5432},
177    {"country": "GB", "country_name": "United Kingdom", "clicks": 2341},
178    {"country": "DE", "country_name": "Germany", "clicks": 1523}
179  ]
180}`})]})]}),e.jsxs("section",{id:"domains",className:"mb-16 scroll-mt-24",children:[e.jsxs("h2",{className:"text-2xl font-bold text-slate-900 dark:text-white mb-4 flex items-center gap-2",children:[e.jsx(b,{className:"h-6 w-6 text-purple-500"}),"Domains"]}),e.jsxs("div",{className:"not-prose space-y-4",children:[e.jsx("p",{className:"text-slate-600 dark:text-slate-400 mb-6",children:"Add and manage custom domains for your smart links. Use your own domain instead of go2.ge."}),e.jsx(s,{method:"GET",path:"/domains",description:"List all your custom domains.",scope:"domains:read",responseBody:`{
181  "domains": [
182    {
183      "id": "550e8400-e29b-41d4-a716-446655440000",
184      "domain": "links.myapp.com",
185      "status": "active",
186      "verified_at": "2024-01-15T10:30:00Z",
187      "ssl_status": "active",
188      "created_at": "2024-01-10T08:00:00Z"
189    }
190  ]
191}`}),e.jsx(s,{method:"POST",path:"/domains",description:"Add a new custom domain. You'll need to configure DNS records after adding.",scope:"domains:write",requestBody:`{
192  "domain": "links.myapp.com"
193}`,responseBody:`{
194  "domain": {
195    "id": "550e8400-e29b-41d4-a716-446655440000",
196    "domain": "links.myapp.com",
197    "status": "pending",
198    "verification_token": "go2-verify-abc123",
199    "created_at": "2024-01-15T10:30:00Z"
200  },
201  "dns_records": [
202    {
203      "type": "CNAME",
204      "name": "links",
205      "value": "domains.go2.ge"
206    },
207    {
208      "type": "TXT",
209      "name": "_go2-verify.links",
210      "value": "go2-verify-abc123"
211    }
212  ]
213}`}),e.jsx(s,{method:"POST",path:"/domains/:id/verify",description:"Trigger domain verification. Call this after configuring DNS records.",scope:"domains:write",responseBody:`{
214  "domain": {
215    "id": "550e8400-e29b-41d4-a716-446655440000",
216    "domain": "links.myapp.com",
217    "status": "active",
218    "verified_at": "2024-01-15T12:00:00Z",
219    "ssl_status": "provisioning"
220  }
221}`}),e.jsx(s,{method:"DELETE",path:"/domains/:id",description:"Remove a custom domain.",scope:"domains:write",responseBody:`{
222  "message": "Domain deleted successfully"
223}`})]})]}),e.jsxs("section",{id:"qr-codes",className:"mb-16 scroll-mt-24",children:[e.jsxs("h2",{className:"text-2xl font-bold text-slate-900 dark:text-white mb-4 flex items-center gap-2",children:[e.jsx(N,{className:"h-6 w-6 text-purple-500"}),"QR Codes"]}),e.jsxs("div",{className:"not-prose space-y-4",children:[e.jsx("p",{className:"text-slate-600 dark:text-slate-400 mb-6",children:"Generate customizable QR codes for your links."}),e.jsx(s,{method:"POST",path:"/links/:id/qr",description:"Generate a QR code for a link 
223with custom styling.",scope:"qr:generate",requestBody:`{
224  "size": 512,
225  "format": "png",
226  "foreground_color": "#000000",
227  "background_color": "#FFFFFF"
228}`,responseBody:`{
229  "qr_code": {
230    "url": "https://go2.ge/qr/abc123.png",
231    "size": 512,
232    "format": "png"
233  }
234}`})]})]}),e.jsxs("section",{id:"integrations",className:"mb-16 scroll-mt-24",children:[e.jsxs("h2",{className:"text-2xl font-bold text-slate-900 dark:text-white mb-4 flex items-center gap-2",children:[e.jsx(x,{className:"h-6 w-6 text-purple-500"}),"Integrations"]}),e.jsxs("div",{className:"not-prose space-y-4",children:[e.jsx("p",{className:"text-slate-600 dark:text-slate-400 mb-6",children:"Connect Go2 with third-party services to receive notifications and automate workflows when links are clicked."}),e.jsx(s,{method:"GET",path:"/integrations",description:"List all your integrations.",scope:"integrations:read",responseBody:`{
235  "integrations": [
236    {
237      "id": "550e8400-e29b-41d4-a716-446655440000",
238      "type": "slack",
239      "name": "Marketing Alerts",
240      "is_active": true,
241      "events": ["click_milestone", "click_alert"],
242      "created_at": "2024-01-15T10:30:00Z"
243    }
244  ]
245}`}),e.jsx(s,{method:"POST",path:"/integrations",description:"Create a new integration with a third-party service.",scope:"integrations:write",requestBody:`{
246  "type": "slack",
247  "name": "Marketing Alerts",
248  "config": {
249    "webhook_url": "https://hooks.slack.com/services/..."
250  },
251  "events": ["click_milestone", "click_alert"]
252}`,responseBody:`{
253  "integration": {
254    "id": "550e8400-e29b-41d4-a716-446655440000",
255    "type": "slack",
256    "name": "Marketing Alerts",
257    "is_active": true,
258    "events": ["click_milestone", "click_alert"],
259    "created_at": "2024-01-15T10:30:00Z"
260  }
261}`}),e.jsx(s,{method:"POST",path:"/integrations/:id/test",description:"Send a test notification to verify the integration is working.",scope:"integrations:write",responseBody:`{
262  "success": true,
263  "message": "Test notification sent successfully"
264}`}),e.jsx(s,{method:"DELETE",path:"/integrations/:id",description:"Delete an integration.",scope:"integrations:write",responseBody:`{
265  "message": "Integration deleted successfully"
266}`}),e.jsxs("div",{className:"bg-white dark:bg-white/5 rounded-xl border border-slate-200 dark:border-white/10 p-6",children:[e.jsx("h3",{className:"font-semibold text-slate-900 dark:text-white mb-4",children:"Supported Integrations"}),e.jsxs("div",{className:"grid grid-cols-2 sm:grid-cols-3 gap-4",children:[e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx("div",{className:"w-8 h-8 bg-[#4A154B] rounded-lg flex items-center justify-center",children:e.jsx("span",{className:"text-white text-xs font-bold",children:"#"})}),e.jsx("span",{className:"text-sm text-slate-700 dark:text-slate-300",children:"Slack"})]}),e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx("div",{className:"w-8 h-8 bg-[#5865F2] rounded-lg flex items-center justify-center",children:e.jsx("span",{className:"text-white text-xs font-bold",children:"D"})}),e.jsx("span",{className:"text-sm text-slate-700 dark:text-slate-300",children:"Discord"})]}),e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx("div",{className:"w-8 h-8 bg-[#0088cc] rounded-lg flex items-center justify-center",children:e.jsx("span",{className:"text-white text-xs font-bold",children:"T"})}),e.jsx("span",{className:"text-sm text-slate-700 dark:text-slate-300",children:"Telegram"})]}),e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx("div",{className:"w-8 h-8 bg-[#52BD95] rounded-lg flex items-center justify-center",children:e.jsx("span",{className:"text-white text-xs font-bold",children:"S"})}),e.jsx("span",{className:"text-sm text-slate-700 dark:text-slate-300",children:"Segment"})]}),e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx("div",{className:"w-8 h-8 bg-[#FF4A00] rounded-lg flex items-center justify-center",children:e.jsx("span",{className:"text-white text-xs font-bold",children:"Z"})}),e.jsx("span",{className:"text-sm text-slate-700 dark:text-slate-300",children:"Zapier"})]})]})]})]})]}),e.jsxs("section",{id:"campaigns",className:"mb-16 scroll-mt-24",children:[e.jsxs("h2",{className:"text-2xl font-bold text-slate-900 dark:text-white mb-4 flex items-center gap-2",children:[e.jsx(p,{className:"h-6 w-6 text-purple-500"}),"Campaigns"]}),e.jsxs("div",{className:"not-prose space-y-4",children:[e.jsx("p",{className:"text-slate-600 dar
266k:text-slate-400 mb-6",children:"Create and manage SMS/Email marketing campaigns with bulk trackable links. Generate unique links for each recipient to track individual engagement."}),e.jsx(s,{method:"GET",path:"/campaigns",description:"List all your campaigns with optional status and search filters.",scope:"campaigns:read",responseBody:`{
267  "campaigns": [
268    {
269      "id": "550e8400-e29b-41d4-a716-446655440000",
270      "name": "Summer Sale 2024",
271      "destination_url": "https://myshop.com/sale",
272      "total_recipients": 10000,
273      "total_clicks": 1523,
274      "unique_clicks": 1234,
275      "status": "active",
276      "created_at": "2024-01-15T10:30:00Z"
277    }
278  ],
279  "total": 5
280}`}),e.jsx(s,{method:"POST",path:"/campaigns",description:"Create a new marketing campaign.",scope:"campaigns:write",requestBody:`{
281  "name": "Summer Sale 2024",
282  "description": "Promotional campaign for summer sale",
283  "destination_url": "https://myshop.com/sale",
284  "pass_recipient_id": true,
285  "recipient_param_name": "uid"
286}`,responseBody:`{
287  "campaign": {
288    "id": "550e8400-e29b-41d4-a716-446655440000",
289    "name": "Summer Sale 2024",
290    "destination_url": "https://myshop.com/sale",
291    "status": "active",
292    "created_at": "2024-01-15T10:30:00Z"
293  }
294}`}),e.jsx(s,{method:"POST",path:"/campaigns/:id/links",description:"Generate unique trackable links for campaign recipients in bulk. Max 100,000 recipients per request.",scope:"campaigns:write",requestBody:`{
295  "recipients": [
296    {"id": "+1234567890", "name": "John Doe"},
297    {"id": "+0987654321", "name": "Jane Smith"},
298    {"id": "[email protected]", "name": "Bob Wilson"}
299  ]
300}`,responseBody:`{
301  "campaign_id": "550e8400-e29b-41d4-a716-446655440000",
302  "links_created": 3,
303  "sample_links": [
304    {
305      "recipient_id": "+1234567890",
306      "recipient_name": "John Doe",
307      "short_url": "https://go2.ge/c/abc123",
308      "clicked": false
309    }
310  ]
311}`}),e.jsx(s,{method:"GET",path:"/campaigns/:id/links",description:"List campaign links with pagination. Filter by clicked status or search by recipient.",scope:"campaigns:read",responseBody:`{
312  "links": [
313    {
314      "id": "123e4567-e89b-12d3-a456-426614174000",
315      "recipient_id": "+1234567890",
316      "recipient_name": "John Doe",
317      "short_url": "https://go2.ge/c/abc123",
318      "clicked": true,
319      "click_count": 3,
320      "first_clicked_at": "2024-01-16T08:30:00Z",
321      "first_click_platform": "ios",
322      "first_click_country": "US"
323    }
324  ],
325  "total": 10000
326}`}),e.jsx(s,{method:"GET",path:"/campaigns/:id/stats",description:"Get detailed campaign statistics including click rates and breakdowns.",scope:"campaigns:read",responseBody:`{
327  "campaign_id": "550e8400-e29b-41d4-a716-446655440000",
328  "total_recipients": 10000,
329  "total_clicks": 1523,
330  "unique_clicks": 1234,
331  "click_rate": 12.34,
332  "clicks_by_platform": {
333    "ios": 623,
334    "android": 456,
335    "web": 155
336  },
337  "clicks_by_country": {
338    "US": 800,
339    "GB": 234,
340    "DE": 200
341  }
342}`}),e.jsx(s,{method:"GET",path:"/campaigns/:id/export",description:"Export all campaign links as CSV or JSON for analysis or SMS/Email sending.",scope:"campaigns:read",responseBody:`[
343  {
344    "recipient_id": "+1234567890",
345    "recipient_name": "John Doe",
346    "short_url": "https://go2.ge/c/abc123",
347    "clicked": true,
348    "click_count": 3
349  }
350]`}),e.jsxs("div",{className:"bg-gradient-to-r from-blue-50 to-purple-50 dark:from-blue-950/30 dark:to-purple-950/30 rounded-xl border border-blue-200 dark:border-blue-800 p-6",children:[e.jsx("h3",{className:"font-semibold text-slate-900 dark:text-white mb-3",children:"Campaign Workflow"}),e.jsxs("ol",{className:"text-sm text-slate-600 dark:text-slate-400 space-y-2 list-decimal list-inside",children:[e.jsx("li",{children:"Create a campaign with your destination URL"}),e.jsx("li",{children:"Generate unique links for each recipient (phone, email, or custom ID)"}),e.jsx("li",{children:"Export links and send via your SMS/Email provider"}),e.jsx("li",{children:"Track individual recipient engagement in real-time"}),e.jsx("li",{children:"Analyze campaign performance with detailed statistics"})]})]})]})]}),e.jsxs("section",{id:"rate-limits",className:"mb-16 scroll-mt-24",children:[e.jsxs("h2",{className:"text-2xl font-bold text-slate-900 dark:text-white mb-4 flex items-center gap-2",children:[e.jsx(f,{className:"h-6 w-6 text-purple-500"}),"Rate Limits"]}),e.jsxs("div",{className:"not-prose space-y-4",children:[e.jsx("p",{className:"text-slate-600 dar
350k:text-slate-400",children:"API requests are rate limited to ensure fair usage. Limits are applied per API key."}),e.jsx("div",{className:"bg-white dark:bg-white/5 rounded-xl border border-slate-200 dark:border-white/10 overflow-hidden",children:e.jsxs("table",{className:"w-full text-sm",children:[e.jsx("thead",{children:e.jsxs("tr",{className:"border-b border-slate-200 dark:border-white/10",children:[e.jsx("th",{className:"px-4 py-3 text-left font-semibold text-slate-900 dark:text-white",children:"Plan"}),e.jsx("th",{className:"px-4 py-3 text-left font-semibold text-slate-900 dark:text-white",children:"Limit"}),e.jsx("th",{className:"px-4 py-3 text-left font-semibold text-slate-900 dark:text-white",children:"Window"})]})}),e.jsxs("tbody",{className:"divide-y divide-slate-100 dark:divide-white/5",children:[e.jsxs("tr",{children:[e.jsx("td",{className:"px-4 py-3 text-slate-600 dark:text-slate-400",children:"Pro"}),e.jsx("td",{className:"px-4 py-3 text-slate-600 dark:text-slate-400",children:"1,000 requests"}),e.jsx("td",{className:"px-4 py-3 text-slate-600 dark:text-slate-400",children:"per hour"})]}),e.jsxs("tr",{children:[e.jsx("td",{className:"px-4 py-3 text-slate-600 dark:text-slate-400",children:"Team"}),e.jsx("td",{className:"px-4 py-3 text-slate-600 dark:text-slate-400",children:"5,000 requests"}),e.jsx("td",{className:"px-4 py-3 text-slate-600 dark:text-slate-400",children:"per hour"})]})]})]})}),e.jsx("p",{className:"text-slate-600 dark:text-slate-400",children:"Rate limit headers are included in every response:"}),e.jsx(t,{code:`X-RateLimit-Limit: 1000
351X-RateLimit-Remaining: 987
352X-RateLimit-Reset: 1705329600`})]})]}),e.jsxs("section",{id:"errors",className:"mb-16 scroll-mt-24",children:[e.jsxs("h2",{className:"text-2xl font-bold text-slate-900 dark:text-white mb-4 flex items-center gap-2",children:[e.jsx(k,{className:"h-6 w-6 text-purple-500"}),"Errors"]}),e.jsxs("div",{className:"not-prose space-y-4",children:[e.jsx("p",{className:"text-slate-600 dark:text-slate-400",children:"The API uses conventional HTTP status codes and returns JSON error responses."}),e.jsx("div",{className:"bg-white dark:bg-white/5 rounded-xl border border-slate-200 dark:border-white/10 overflow-hidden",children:e.jsxs("table",{className:"w-full text-sm",children:[e.jsx("thead",{children:e.jsxs("tr",{className:"border-b border-slate-200 dark:border-white/10",children:[e.jsx("th",{className:"px-4 py-3 text-left font-semibold text-slate-900 dark:text-white",children:"Code"}),e.jsx("th",{className:"px-4 py-3 text-left font-semibold text-slate-900 dark:text-white",children:"Description"})]})}),e.jsxs("tbody",{className:"divide-y divide-slate-100 dark:divide-white/5",children:[e.jsxs("tr",{children:[e.jsx("td",{className:"px-4 py-3",children:e.jsx("code",{className:"text-green-600",children:"200"})}),e.jsx("td",{className:"px-4 py-3 text-slate-600 dark:text-slate-400",children:"Success"})]}),e.jsxs("tr",{children:[e.jsx("td",{className:"px-4 py-3",children:e.jsx("code",{className:"text-amber-600",children:"400"})}),e.jsx("td",{className:"px-4 py-3 text-slate-600 dark:text-slate-400",children:"Bad Request - Invalid parameters"})]}),e.jsxs("tr",{children:[e.jsx("td",{className:"px-4 py-3",children:e.jsx("code",{className:"text-red-600",children:"401"})}),e.jsx("td",{className:"px-4 py-3 text-slate-600 dark:text-slate-400",children:"Unauthorized - Invalid or missing API key"})]}),e.jsxs("tr",{children:[e.jsx("td",{className:"px-4 py-3",children:e.jsx("code",{className:"text-red-600",children:"403"})}),e.jsx("td",{className:"px-4 py-3 text-slate-600 dark:text-slate-400",children:"Forbidden - Insufficient scope permissions"})]}),e.jsxs("tr",{children:[e.jsx("td",{className:"px-4 py-3",children:e.jsx("code",{className:"text-amber-600",children:"404"})}),e.jsx("td",{className:"px-4 py-3 text-slate-600 dark:text-slate-400",children:"Not Found - Resource doesn't exist"})]}),e.jsxs("tr",{children:[e.jsx("td",{className:"px-4 py-3",children:e.jsx("code",{className:"text-orange-600",children:"429"})}),e.jsx("td",{className:"px-4 py-3 text-slate-600 dark:text-slate-400",children:"Rate Limited - Too many requests"})]}),e.jsxs("tr",{children:[e.jsx("td",{className:"px-4 py-3",children:e.jsx("code",{className:"text-red-600",children:"500"})}
vendor: 2,209 bytes, lines 352-356
352),e.jsx("td",{className:"px-4 py-3 text-slate-600 dark:text-slate-400",children:"Server Error - Something went wrong"})]})]})]})}),e.jsx("p",{className:"text-slate-600 dark:text-slate-400",children:"Error response format:"}),e.jsx(t,{code:`{
353  "error": "insufficient permissions",
354  "required_scope": "links:write",
355  "message": "Your API key does not have the required scope for this action"
356}`})]})]}),e.jsx("section",{className:"not-prose mt-16 pt-8 border-t border-slate-200 dark:border-white/10",children:e.jsxs("div",{className:"bg-gradient-to-r from-purple-600 to-blue-600 rounded-2xl p-8 text-center",children:[e.jsx("h3",{className:"text-2xl font-bold text-white mb-3",children:"Ready to get started?"}),e.jsx("p",{className:"text-purple-100 mb-6 max-w-md mx-auto",children:"Create your API key and start integrating Go2 into your applications today."}),e.jsxs(i,{to:"/dashboard/api-keys",className:"inline-flex items-center gap-2 px-6 py-3 bg-white text-purple-600 font-semibold rounded-xl hover:bg-purple-50 transition-colors",children:[e.jsx(o,{className:"h-5 w-5"}),"Create API Key"]})]})})]})})]})}),e.jsx("footer",{className:"border-t border-slate-200 dark:border-white/10 mt-16",children:e.jsx("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-8",children:e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs("div",{className:"flex items-center gap-2 text-slate-400",children:[e.jsx("div",{className:"w-6 h-6 rounded-lg bg-gradient-to-br from-purple-500 to-blue-500 flex items-center justify-center",children:e.jsx("span",{className:"text-white text-xs font-bold",children:"G2"})}),e.jsx("span",{className:"text-sm",children:"go2.ge - Smart App Links"})]}),e.jsxs("div",{className:"flex items-center gap-6 text-sm text-slate-500 dark:text-slate-400",children:[e.jsx(i,{to:"/",className:"hover:text-slate-900 dark:hover:text-white transition-colors",children:"Home"}),e.jsx(i,{to:"/dashboard",className:"hover:text-slate-900 dark:hover:text-white transition-colors",children:"Dashboard"}),e.jsx("a",{href:"mailto:[email protected]",className:"hover:text-slate-900 dark:hover:text-white transition-colors",children:"Support"})]})]})})})]})}export{X as component};

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.