Pular para o conteúdo

Endpoints públicos e SDK v1

SDK · v1 · Produção · Revisado em · Markdown

Estas interfaces existentes usam bases diferentes da API administrativa. Use os hosts exatos autorizados da sua instalação. Não envie chaves administrativas. Os hosts e tokens abaixo são fictícios. Leia o ciclo e os limites e consulte o OpenAPI público. Detecção exige opt-in e recuperação tem capacidade transitória; exemplos não criam desafios ou recibos válidos.

Resolver metadados públicos. Contrato público existente, separado de administração. Detecção exige opt-in; não chamar sua rota Edge interna diretamente. Capacidades e validade são revalidadas no servidor.

Base de exemplo: https://edge.agilink.invalid/functions/v1/api.

Parâmetro Local Obrigatório
id path sim
appId query sim

Sem corpo de requisição. Associações também aceitam HEAD com corpo de resposta vazio.

Janela do terminal
curl --request GET 'https://edge.agilink.invalid/functions/v1/api/v1/links/go.example.com~-a~-produto?appId=app_loja'

Resposta 200: Sucesso; exemplos fictícios. ACKs de telemetria devem ser lidos por evento.

{
"version": 1,
"link": {
"id": "go.example.com~-a~-produto",
"appId": "app_loja",
"domain": "go.example.com",
"prefix": "a",
"slug": "produto",
"appPath": "produto/123",
"title": "Produto",
"description": null,
"imageUrl": null,
"webUrl": "https://shop.example.com/produto/123",
"webOnly": false,
"parameters": {
"sku": "123"
}
}
}

Erros documentados: 400, 403, 404, 503. Erros do Worker podem ter corpo vazio. Etapas de recuperação podem responder 200 {"accepted":false}; ACK HTTP não significa conteúdo exibido. Consulte os schemas e o guia para condições, validade, retry e envelopes.

Página própria desta operação.

Enviar lote de telemetria client_reported. Contrato público existente, separado de administração. Detecção exige opt-in; não chamar sua rota Edge interna diretamente. Capacidades e validade são revalidadas no servidor.

Base de exemplo: https://edge.agilink.invalid/functions/v1/api.

Campo Tipo Obrigatório
version constante sim
appId string sim
events array sim
{
"version": 1,
"appId": "app_loja",
"events": [
{
"eventId": "80000000-0000-4000-8000-000000000001",
"openId": "80000000-0000-4000-8000-000000000002",
"type": "app_open",
"linkId": "go.example.com~-a~-produto",
"occurredAt": "2026-10-19T12:00:00Z",
"platform": "ios",
"entryMethod": "https"
}
]
}
Janela do terminal
curl --request POST 'https://edge.agilink.invalid/functions/v1/api/v1/events' \
--header 'Content-Type: application/json' \
--data '{"version":1,"appId":"app_loja","events":[{"eventId":"80000000-0000-4000-8000-000000000001","openId":"80000000-0000-4000-8000-000000000002","type":"app_open","linkId":"go.example.com~-a~-produto","occurredAt":"2026-10-19T12:00:00Z","platform":"ios","entryMethod":"https"}]}'

Resposta 200: Sucesso; exemplos fictícios. ACKs de telemetria devem ser lidos por evento.

{
"version": 1,
"results": [
{
"eventId": "80000000-0000-4000-8000-000000000001",
"status": "accepted"
}
]
}

Erros documentados: 400, 403, 413, 503. Erros do Worker podem ter corpo vazio. Etapas de recuperação podem responder 200 {"accepted":false}; ACK HTTP não significa conteúdo exibido. Consulte os schemas e o guia para condições, validade, retry e envelopes.

Página própria desta operação.

Consultar recuperação sem consumir claim. Contrato público existente, separado de administração. Detecção exige opt-in; não chamar sua rota Edge interna diretamente. Capacidades e validade são revalidadas no servidor.

Base de exemplo: https://edge.agilink.invalid/functions/v1/api.

Campo Tipo Obrigatório
version constante sim
appId string sim
token string sim
{
"version": 1,
"appId": "app_loja",
"token": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"
}
Janela do terminal
curl --request POST 'https://edge.agilink.invalid/functions/v1/api/v1/recovery/preview' \
--header 'Content-Type: application/json' \
--data '{"version":1,"appId":"app_loja","token":"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}'

Resposta 200: Sucesso; exemplos fictícios. ACKs de telemetria devem ser lidos por evento.

{
"version": 1,
"appId": "app_loja",
"linkId": "go.example.com~-a~-produto",
"context": {
"publicUri": "https://go.example.com/a/produto"
},
"expiresAt": "2026-10-26T12:00:00Z"
}

Erros documentados: 400, 403, 404, 409, 410, 413, 429, 503. Erros do Worker podem ter corpo vazio. Etapas de recuperação podem responder 200 {"accepted":false}; ACK HTTP não significa conteúdo exibido. Consulte os schemas e o guia para condições, validade, retry e envelopes.

Página própria desta operação.

Reivindicar recuperação com claim persistido. Contrato público existente, separado de administração. Detecção exige opt-in; não chamar sua rota Edge interna diretamente. Capacidades e validade são revalidadas no servidor.

Base de exemplo: https://edge.agilink.invalid/functions/v1/api.

Campo Tipo Obrigatório
version constante sim
appId string sim
token string sim
claimId string sim
{
"version": 1,
"appId": "app_loja",
"token": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA",
"claimId": "80000000-0000-4000-8000-000000000002"
}
Janela do terminal
curl --request POST 'https://edge.agilink.invalid/functions/v1/api/v1/recovery/redeem' \
--header 'Content-Type: application/json' \
--data '{"version":1,"appId":"app_loja","token":"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","claimId":"80000000-0000-4000-8000-000000000002"}'

Resposta 200: Sucesso; exemplos fictícios. ACKs de telemetria devem ser lidos por evento.

{
"version": 1,
"appId": "app_loja",
"linkId": "go.example.com~-a~-produto",
"context": {
"publicUri": "https://go.example.com/a/produto"
},
"expiresAt": "2026-10-26T12:00:00Z"
}

Erros documentados: 400, 403, 404, 409, 410, 413, 429, 503. Erros do Worker podem ter corpo vazio. Etapas de recuperação podem responder 200 {"accepted":false}; ACK HTTP não significa conteúdo exibido. Consulte os schemas e o guia para condições, validade, retry e envelopes.

Página própria desta operação.

Registrar etapa declarada da recuperação. Contrato público existente, separado de administração. Detecção exige opt-in; não chamar sua rota Edge interna diretamente. Capacidades e validade são revalidadas no servidor.

Base de exemplo: https://edge.agilink.invalid/functions/v1/api.

Campo Tipo Obrigatório
version constante sim
appId string sim
token string sim
eventId string sim
stage enum sim
{
"version": 1,
"appId": "app_loja",
"token": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA",
"eventId": "80000000-0000-4000-8000-000000000001",
"stage": "copied"
}
Janela do terminal
curl --request POST 'https://edge.agilink.invalid/functions/v1/api/v1/recovery/stage' \
--header 'Content-Type: application/json' \
--data '{"version":1,"appId":"app_loja","token":"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","eventId":"80000000-0000-4000-8000-000000000001","stage":"copied"}'

Resposta 200: Sucesso; exemplos fictícios. ACKs de telemetria devem ser lidos por evento.

{
"accepted": true
}

Erros documentados: 400, 403, 413, 503. Erros do Worker podem ter corpo vazio. Etapas de recuperação podem responder 200 {"accepted":false}; ACK HTTP não significa conteúdo exibido. Consulte os schemas e o guia para condições, validade, retry e envelopes.

Página própria desta operação.

Detecção opcional: challenge. Contrato público existente, separado de administração. Detecção exige opt-in; não chamar sua rota Edge interna diretamente. Capacidades e validade são revalidadas no servidor.

Base de exemplo: https://go.agilink.invalid.

Campo Tipo Obrigatório
appId string sim
kind enum sim
linkId string não
{
"appId": "app_loja",
"kind": "attempt"
}
Janela do terminal
curl --request POST 'https://go.agilink.invalid/_agilink/recovery/detection/challenge' \
--header 'Content-Type: application/json' \
--data '{"appId":"app_loja","kind":"attempt"}'

Resposta 200: Sucesso; exemplos fictícios. ACKs de telemetria devem ser lidos por evento.

{
"version": 1,
"nonce": "80000000-0000-4000-8000-000000000002",
"challenge": "<challenge-assinado>",
"expiresAt": "2026-10-19T12:02:00Z"
}

Erros documentados: 400, 403, 404, 405, 409, 410, 413, 415, 429, 502, 503. Erros do Worker podem ter corpo vazio. Etapas de recuperação podem responder 200 {"accepted":false}; ACK HTTP não significa conteúdo exibido. Consulte os schemas e o guia para condições, validade, retry e envelopes.

Página própria desta operação.

Detecção opcional: click. Contrato público existente, separado de administração. Detecção exige opt-in; não chamar sua rota Edge interna diretamente. Capacidades e validade são revalidadas no servidor.

Base de exemplo: https://go.agilink.invalid.

Campo Tipo Obrigatório
appId string sim
challenge string sim
signals DetectionSignals sim
{
"appId": "app_loja",
"challenge": "<challenge-assinado>",
"signals": {
"platform": "ios",
"family": "iphone",
"osVersion": "18.0",
"language": "pt-BR",
"timezone": "America/Sao_Paulo",
"screen": {
"width": 390,
"height": 844,
"scale": 3
}
}
}
Janela do terminal
curl --request POST 'https://go.agilink.invalid/_agilink/recovery/detection/click' \
--header 'Content-Type: application/json' \
--data '{"appId":"app_loja","challenge":"<challenge-assinado>","signals":{"platform":"ios","family":"iphone","osVersion":"18.0","language":"pt-BR","timezone":"America/Sao_Paulo","screen":{"width":390,"height":844,"scale":3}}}'

Resposta 200: Sucesso; exemplos fictícios. ACKs de telemetria devem ser lidos por evento.

{
"version": 1,
"mode": "detection",
"accepted": true,
"intentReceipt": "<recibo-de-intencao>"
}

Erros documentados: 400, 403, 404, 405, 409, 410, 413, 415, 429, 502, 503. Erros do Worker podem ter corpo vazio. Etapas de recuperação podem responder 200 {"accepted":false}; ACK HTTP não significa conteúdo exibido. Consulte os schemas e o guia para condições, validade, retry e envelopes.

Página própria desta operação.

Detecção opcional: intent. Contrato público existente, separado de administração. Detecção exige opt-in; não chamar sua rota Edge interna diretamente. Capacidades e validade são revalidadas no servidor.

Base de exemplo: https://go.agilink.invalid.

Campo Tipo Obrigatório
appId string sim
intentReceipt string sim
{
"appId": "app_loja",
"intentReceipt": "<recibo-de-intencao>"
}
Janela do terminal
curl --request POST 'https://go.agilink.invalid/_agilink/recovery/detection/intent' \
--header 'Content-Type: application/json' \
--data '{"appId":"app_loja","intentReceipt":"<recibo-de-intencao>"}'

Resposta 200: Sucesso; exemplos fictícios. ACKs de telemetria devem ser lidos por evento.

{
"version": 1,
"mode": "detection",
"accepted": true
}

Erros documentados: 400, 403, 404, 405, 409, 410, 413, 415, 429, 502, 503. Erros do Worker podem ter corpo vazio. Etapas de recuperação podem responder 200 {"accepted":false}; ACK HTTP não significa conteúdo exibido. Consulte os schemas e o guia para condições, validade, retry e envelopes.

Página própria desta operação.

Detecção opcional: attempt. Contrato público existente, separado de administração. Detecção exige opt-in; não chamar sua rota Edge interna diretamente. Capacidades e validade são revalidadas no servidor.

Base de exemplo: https://go.agilink.invalid.

Campo Tipo Obrigatório
appId string sim
challenge string sim
attemptId string sim
signals DetectionSignals sim
{
"appId": "app_loja",
"challenge": "<challenge-assinado>",
"attemptId": "80000000-0000-4000-8000-000000000002",
"signals": {
"platform": "ios",
"family": "iphone",
"osVersion": "18.0",
"language": "pt-BR",
"timezone": "America/Sao_Paulo",
"screen": {
"width": 390,
"height": 844,
"scale": 3
}
}
}
Janela do terminal
curl --request POST 'https://go.agilink.invalid/_agilink/recovery/detection/attempt' \
--header 'Content-Type: application/json' \
--data '{"appId":"app_loja","challenge":"<challenge-assinado>","attemptId":"80000000-0000-4000-8000-000000000002","signals":{"platform":"ios","family":"iphone","osVersion":"18.0","language":"pt-BR","timezone":"America/Sao_Paulo","screen":{"width":390,"height":844,"scale":3}}}'

Resposta 200: Sucesso; exemplos fictícios. ACKs de telemetria devem ser lidos por evento.

{
"version": 1,
"mode": "detection",
"status": "no_match",
"reason": "no_candidate",
"policyVersion": "agilink-shadow-v4-context"
}

Erros documentados: 400, 403, 404, 405, 409, 410, 413, 415, 429, 502, 503. Erros do Worker podem ter corpo vazio. Etapas de recuperação podem responder 200 {"accepted":false}; ACK HTTP não significa conteúdo exibido. Consulte os schemas e o guia para condições, validade, retry e envelopes.

Página própria desta operação.

Detecção opcional: claim. Contrato público existente, separado de administração. Detecção exige opt-in; não chamar sua rota Edge interna diretamente. Capacidades e validade são revalidadas no servidor.

Base de exemplo: https://go.agilink.invalid.

Campo Tipo Obrigatório
appId string sim
receipt string sim
confirmed boolean sim
{
"appId": "app_loja",
"receipt": "<recibo-do-candidato>",
"confirmed": true
}
Janela do terminal
curl --request POST 'https://go.agilink.invalid/_agilink/recovery/detection/claim' \
--header 'Content-Type: application/json' \
--data '{"appId":"app_loja","receipt":"<recibo-do-candidato>","confirmed":true}'

Resposta 200: Sucesso; exemplos fictícios. ACKs de telemetria devem ser lidos por evento.

{
"version": 1,
"mode": "detection",
"policyVersion": "agilink-shadow-v4-context",
"publicUri": "https://go.example.com/a/produto",
"linkId": "go.example.com~-a~-produto",
"attemptId": "80000000-0000-4000-8000-000000000002"
}

Erros documentados: 400, 403, 404, 405, 409, 410, 413, 415, 429, 502, 503. Erros do Worker podem ter corpo vazio. Etapas de recuperação podem responder 200 {"accepted":false}; ACK HTTP não significa conteúdo exibido. Consulte os schemas e o guia para condições, validade, retry e envelopes.

Página própria desta operação.

Consultar associação Android. Contrato público existente, separado de administração. Detecção exige opt-in; não chamar sua rota Edge interna diretamente. Capacidades e validade são revalidadas no servidor.

Base de exemplo: https://go.agilink.invalid.

Sem corpo de requisição. Associações também aceitam HEAD com corpo de resposta vazio.

Janela do terminal
curl --request GET 'https://go.agilink.invalid/.well-known/assetlinks.json'

Resposta 200: Sucesso; exemplos fictícios. ACKs de telemetria devem ser lidos por evento.

[]

Erros documentados: 404, 405, 503. Erros do Worker podem ter corpo vazio. Etapas de recuperação podem responder 200 {"accepted":false}; ACK HTTP não significa conteúdo exibido. Consulte os schemas e o guia para condições, validade, retry e envelopes.

Página própria desta operação.

Consultar associação iOS. Contrato público existente, separado de administração. Detecção exige opt-in; não chamar sua rota Edge interna diretamente. Capacidades e validade são revalidadas no servidor.

Base de exemplo: https://go.agilink.invalid.

Sem corpo de requisição. Associações também aceitam HEAD com corpo de resposta vazio.

Janela do terminal
curl --request GET 'https://go.agilink.invalid/.well-known/apple-app-site-association'

Resposta 200: Sucesso; exemplos fictícios. ACKs de telemetria devem ser lidos por evento.

{
"applinks": {
"apps": [],
"details": []
}
}

Erros documentados: 404, 405, 503. Erros do Worker podem ter corpo vazio. Etapas de recuperação podem responder 200 {"accepted":false}; ACK HTTP não significa conteúdo exibido. Consulte os schemas e o guia para condições, validade, retry e envelopes.

Página própria desta operação.

Consultar alias AASA. Contrato público existente, separado de administração. Detecção exige opt-in; não chamar sua rota Edge interna diretamente. Capacidades e validade são revalidadas no servidor.

Base de exemplo: https://go.agilink.invalid.

Sem corpo de requisição. Associações também aceitam HEAD com corpo de resposta vazio.

Janela do terminal
curl --request GET 'https://go.agilink.invalid/apple-app-site-association'

Resposta 200: Sucesso; exemplos fictícios. ACKs de telemetria devem ser lidos por evento.

{
"applinks": {
"apps": [],
"details": []
}
}

Erros documentados: 404, 405, 503. Erros do Worker podem ter corpo vazio. Etapas de recuperação podem responder 200 {"accepted":false}; ACK HTTP não significa conteúdo exibido. Consulte os schemas e o guia para condições, validade, retry e envelopes.

Página própria desta operação.