Visão geral
Documentação completa da API Monetizzy para integração de encurtamento e monetização de links em suas aplicações.
A API aceita parâmetros por GET ou POST, dependendo do endpoint. As respostas são retornadas em JSON e normalmente agrupadas por contexto, como authentication, shorten ou domains.
https://monetizzy.com/apiPara usar a API, acesse sua área de desenvolvedor no painel e gere uma chave. Guarde essa chave com segurança, pois ela identifica sua conta nas chamadas.
Autenticação
Envie sua chave no parâmetro key. As chaves de usuário são gerenciadas no painel de desenvolvedores.
Descrição: endpoint utilizado para autenticar uma chave de API e confirmar o usuário associado.
| Parâmetro | Tipo | Descrição |
|---|---|---|
key | string | Chave de API criada no painel de desenvolvedores. |
Exemplo de requisição:
curl "https://monetizzy.com/api/auth?key=SUA_CHAVE"
Exemplo de resposta:
{
"authentication": {
"code": "NCXxhmZ8ropSWzDf5wUiYO",
"status": "success",
"description": "The key was successfully authenticated.",
"user": {
"id": "166235",
"username": "johndoe"
}
}
}
Encurtar link
Endpoint utilizado para criar um novo link encurtado associado ao usuário autenticado.
| Parâmetro | Obrigatório | Descrição |
|---|---|---|
key | Sim | Chave de API do usuário. |
link | Sim | URL completa ou magnet link válido. |
domain | Sim | ID do domínio retornado pela listagem de domínios. |
type | Não | Tipo de publicidade/redirecionamento usado pelo link. |
alias | Não | Alias personalizado. Se omitido, a API gera automaticamente. |
Exemplo de requisição:
curl -X POST "https://monetizzy.com/api/shorten/link" \
-d "key=SUA_CHAVE" \
-d "link=https://www.exemplo.com" \
-d "domain=1" \
-d "type=1"
Exemplo de resposta:
{
"authentication": {
"code": "NCXxhmZ8ropSWzDf5wUiYO",
"status": "success",
"description": "The key was successfully authenticated.",
"user": {
"id": "166235",
"username": "johndoe"
}
},
"shorten": {
"code": "t3sTjGk4XKTPBIqKB70sa7",
"status": "success",
"description": "The link has been shortened.",
"link": "https://example1.com/aFtguIfIbPAv7321"
}
}
Encurtamento automatico para paginas
Use este endpoint para colocar um pequeno script no seu site e transformar automaticamente URLs selecionadas da pagina em links encurtados. Ele aceita uma lista de URLs ou um bloco HTML, remove duplicadas, aplica filtros por dominio e devolve um mapa de substituicao.
data-mtz-short="1" e use include_hosts, exclude_hosts e max_links para manter controle fino sobre o que sera encurtado.O que este endpoint faz:
- Recebe varias URLs de uma pagina em uma unica chamada.
- Remove URLs duplicadas antes de criar links.
- Ignora URLs invalidas, dominios bloqueados e links que ja usam um dominio encurtado ativo.
- Reaproveita links ja criados pelo mesmo usuario quando a URL, o dominio e o tipo forem iguais.
- Se o ID do dominio enviado nao existir, usa automaticamente um dominio ativo aleatorio.
- Retorna um mapa de substituicao com
original,shortened,aliasereused.
| Parâmetro | Obrigatório | Descrição |
|---|---|---|
key | Sim | Chave de API do usuário. |
domain | Sim | ID do domínio retornado pela listagem de domínios. Se o ID nao existir, a API usa um dominio ativo aleatorio e informa isso em summary.domain.fallback. |
links ou urls | Sim | Lista JSON, array ou valores separados por virgula com as URLs que devem ser analisadas. Pode ser array JSON, array de formulario ou string separada por virgula. |
html | Não | Bloco HTML opcional. A API extrai automaticamente URLs de atributos href e src. |
page_url | Não | URL da pagina onde o script esta rodando. Usada junto com same_host_only para limitar links ao mesmo dominio. |
include_hosts | Não | Lista opcional de dominios permitidos. Aceita dominio exato ou wildcard como *.exemplo.com. |
exclude_hosts | Não | Lista opcional de dominios que nunca devem ser encurtados. |
exclude_patterns | Não | Lista de textos que, se aparecerem na URL, fazem o link ser ignorado. Exemplo: #comentarios, /login, checkout. |
same_host_only | Não | Quando verdadeiro, encurta apenas URLs do mesmo host informado em page_url. |
max_links | Não | Limite de links processados por chamada. Padrao 50, maximo 100. |
alias_prefix | Não | Prefixo opcional para os aliases gerados automaticamente. |
Configuracao recomendada para sites comuns:
{
"domain": "1",
"type": 1,
"max_links": 50,
"alias_prefix": "site",
"include_hosts": ["seudominio.com", "*.seudominio.com"],
"exclude_hosts": ["admin.seudominio.com", "checkout.seudominio.com"],
"exclude_patterns": ["/login", "/minha-conta", "#", "mailto:", "tel:"]
}
Configuracao mais conservadora:
{
"domain": "1",
"type": 1,
"same_host_only": true,
"max_links": 20,
"alias_prefix": "download"
}
Configuracao para blogs com links externos:
{
"domain": "1",
"type": 1,
"max_links": 100,
"alias_prefix": "blog",
"exclude_hosts": ["facebook.com", "instagram.com", "youtube.com", "wa.me"],
"exclude_patterns": ["#respond", "/wp-admin", "/wp-login.php"]
}
Exemplo de requisição: JSON direto
curl -X POST "https://monetizzy.com/api/shorten/auto" \
-H "Content-Type: application/json" \
-H "X-API-KEY: SUA_CHAVE" \
-d '{
"key": "SUA_CHAVE",
"domain": "1",
"type": 1,
"page_url": "https://meusite.com/artigo",
"links": [
"https://meusite.com/download/arquivo.zip",
"https://meusite.com/oferta"
],
"include_hosts": ["meusite.com"],
"exclude_patterns": ["#comentarios"],
"max_links": 25,
"alias_prefix": "site"
}'
Exemplo enviando HTML para a API extrair href e src
curl -X POST "https://monetizzy.com/api/shorten/auto" \
-H "Content-Type: application/json" \
-H "X-API-KEY: SUA_CHAVE" \
-d '{
"domain": "1",
"type": 1,
"html": "<a href=\"https://meusite.com/download.zip\">Baixar</a><img src=\"https://cdn.meusite.com/banner.jpg\">",
"include_hosts": ["meusite.com", "cdn.meusite.com"],
"max_links": 10,
"alias_prefix": "html"
}'
Exemplo de resposta:
{
"authentication": {
"status": "sucesso",
"user": {
"id": "166235",
"username": "johndoe"
}
},
"auto_shorten": {
"status": "sucesso",
"description": "Links analisados e encurtados automaticamente.",
"summary": {
"received": 2,
"processed": 2,
"skipped": 0,
"max_links": 25,
"domain": {
"requested_id": "1",
"used_id": "1",
"used_domain": "example1.com",
"fallback": false
}
},
"replacements": [
{
"original": "https://meusite.com/download/arquivo.zip",
"shortened": "https://example1.com/site-aFtguIfIbPAv",
"alias": "site-aFtguIfIbPAv",
"reused": false
}
],
"skipped": [
{
"url": "https://example1.com/link-ja-encurtado",
"reason": "already_short_domain"
}
]
}
}
Exemplo de script para colocar na pagina usando links marcados
<a href="https://meusite.com/download/arquivo.zip" data-mtz-short="1">Baixar arquivo</a>
<a href="https://meusite.com/oferta" data-mtz-short="1">Ver oferta</a>
<script>
(async function () {
const apiKey = 'SUA_CHAVE';
const config = {
domain: '1',
type: 1,
alias_prefix: 'site',
page_url: location.href,
include_hosts: [location.hostname],
exclude_patterns: ['#', '/login', '/minha-conta'],
max_links: 50
};
const markedLinks = [...document.querySelectorAll('a[data-mtz-short="1"]')];
const links = markedLinks.map((item) => item.href).filter(Boolean);
if (links.length === 0) return;
const response = await fetch('https://monetizzy.com/api/shorten/auto', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'X-API-KEY': apiKey
},
body: JSON.stringify({
key: apiKey,
links,
...config
})
});
const data = await response.json();
if (!response.ok || data.auto_shorten?.status !== 'sucesso') {
console.warn('Auto Shorten falhou', data);
return;
}
(data.auto_shorten?.replacements || []).forEach((link) => {
document.querySelectorAll(`a[href="${link.original}"]`).forEach((item) => {
item.href = link.shortened;
item.rel = 'nofollow sponsored noopener';
});
});
})();
</script>
Snippet automatico para todos os links de download da pagina
<script>
(async function () {
const apiKey = 'SUA_CHAVE';
const candidates = [...document.querySelectorAll('a[href]')].filter((item) => {
const href = item.href || '';
return href.includes('/download') || href.endsWith('.zip') || href.endsWith('.apk');
});
const links = candidates.map((item) => item.href);
if (links.length === 0) return;
const response = await fetch('https://monetizzy.com/api/shorten/auto', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'X-API-KEY': apiKey
},
body: JSON.stringify({
key: apiKey,
domain: '1',
type: 1,
page_url: location.href,
links,
same_host_only: true,
max_links: 40,
alias_prefix: 'download'
})
});
const data = await response.json();
const map = new Map((data.auto_shorten?.replacements || []).map((link) => [link.original, link.shortened]));
candidates.forEach((item) => {
if (map.has(item.href)) {
item.href = map.get(item.href);
item.rel = 'nofollow sponsored noopener';
}
});
})();
</script>
Exemplo mais simples: encurtar automaticamente links do MediaFire
Use este modelo quando voce quer colar um unico JavaScript na pagina e deixar que ele encontre sozinho links de um site especifico, como mediafire.com. Basta trocar SUA_CHAVE, domain e, se quiser, adicionar outros dominios na lista hostsParaEncurtar.
<script>
(async function () {
const apiKey = 'SUA_CHAVE';
const domainId = '1';
const tipo = 1;
const hostsParaEncurtar = [
'mediafire.com',
'www.mediafire.com'
];
const linksDaPagina = [...document.querySelectorAll('a[href]')];
const linksParaEncurtar = linksDaPagina
.filter((item) => {
try {
const url = new URL(item.href);
return hostsParaEncurtar.includes(url.hostname);
} catch (error) {
return false;
}
})
.map((item) => item.href);
if (linksParaEncurtar.length === 0) return;
const response = await fetch('https://monetizzy.com/api/shorten/auto', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'X-API-KEY': apiKey
},
body: JSON.stringify({
key: apiKey,
domain: domainId,
type: tipo,
links: linksParaEncurtar,
include_hosts: hostsParaEncurtar,
max_links: 100,
alias_prefix: 'mediafire'
})
});
const data = await response.json();
const substituicoes = data.auto_shorten?.replacements || [];
substituicoes.forEach((link) => {
document.querySelectorAll(`a[href="${link.original}"]`).forEach((item) => {
item.href = link.shortened;
item.rel = 'nofollow sponsored noopener';
});
});
})();
</script>
Versao para varios sites de download
Para encurtar automaticamente links de varios dominios, mantenha o mesmo script e aumente apenas a lista hostsParaEncurtar.
const hostsParaEncurtar = [
'mediafire.com',
'www.mediafire.com',
'mega.nz',
'drive.google.com',
'dropbox.com',
'www.dropbox.com'
];
Motivos comuns em skipped
| Motivo | Significado |
|---|---|
invalid_url | A URL nao e valida ou esta relativa, como /download. Envie URLs absolutas com https://. |
unsupported_scheme | A URL nao usa http ou https. |
different_host | same_host_only esta ativo e a URL nao pertence ao host de page_url. |
host_not_allowed | O host nao esta em include_hosts. |
host_excluded | O host esta em exclude_hosts. |
already_short_domain | A URL ja pertence a um dominio encurtador ativo. |
pattern_excluded | A URL contem algum texto definido em exclude_patterns. |
limit_reached | A chamada ultrapassou max_links. |
Domínios
Retorna os domínios ativos que podem ser usados no parâmetro domain ao encurtar links.
Exemplo de requisição:
curl "https://monetizzy.com/api/domains/list?key=SUA_CHAVE"
Exemplo de resposta:
{
"authentication": {
"code": "NCXxhmZ8ropSWzDf5wUiYO",
"status": "success",
"description": "The key was successfully authenticated.",
"user": {
"id": "166235",
"username": "johndoe"
}
},
"domains": {
"code": "EOr3FGZc3oqSw6VoqUGVyL",
"status": "success",
"list": [
[
"172345",
"example1.com"
],
[
"562451",
"example2.com"
],
[
"934462",
"example3.com"
]
]
}
}
Uso do Proxy
O proxy.monetizzy.com foi criado para permitir requisições seguras para a API do Monetizzy, evitando problemas de CORS e melhorando a segurança das comunicações entre o front-end e os endpoints da API.
Benefícios do proxy:
- Permite chamadas para a API sem restrições de CORS.
- Ajuda a evitar exposição direta da chave no navegador quando usado com uma camada segura.
- Facilita a integração do Monetizzy com aplicações web.
Todas as requisições devem ser enviadas para https://proxy.monetizzy.com com a URL original e o payload nos parâmetros.
curl -X POST "https://proxy.monetizzy.com" \
-H "Content-Type: application/json" \
-d '{
"url": "https://monetizzy.com/api/shorten/link",
"payload": {
"key": "SUA_CHAVE",
"link": "https://www.exemplo.com",
"domain": "1",
"type": 4
}
}'
Autenticação via Proxy
Autentica uma chave usando o proxy como intermediário da requisição.
curl -X POST "https://proxy.monetizzy.com" \
-H "Content-Type: application/json" \
-d '{
"url": "https://monetizzy.com/api/auth",
"payload": {
"key": "SUA_CHAVE"
}
}'
Exemplo de resposta:
{
"authentication": {
"code": "NCXxhmZ8ropSWzDf5wUiYO",
"status": "success",
"description": "The key was successfully authenticated.",
"user": {
"id": "166235",
"username": "johndoe"
}
}
}
Encurtar Link via Proxy
Cria um link encurtado enviando a requisição para o proxy, que repassa o payload para a API do Monetizzy.
curl -X POST "https://proxy.monetizzy.com" \
-H "Content-Type: application/json" \
-d '{
"url": "https://monetizzy.com/api/shorten/link",
"payload": {
"key": "SUA_CHAVE",
"link": "https://www.exemplo.com",
"domain": "1",
"type": 4
}
}'
Exemplo de resposta:
{
"authentication": {
"code": "NCXxhmZ8ropSWzDf5wUiYO",
"status": "success",
"description": "The key was successfully authenticated.",
"user": {
"id": "166235",
"username": "johndoe"
}
},
"shorten": {
"code": "t3sTjGk4XKTPBIqKB70sa7",
"status": "success",
"description": "The link has been shortened.",
"link": "https://example1.com/aFtguIfIbPAv7321"
}
}
Lista de Domínios via Proxy
Retorna a lista de domínios disponíveis usando o proxy como intermediário.
curl -X POST "https://proxy.monetizzy.com" \
-H "Content-Type: application/json" \
-d '{
"url": "https://monetizzy.com/api/domains/list",
"payload": {
"key": "SUA_CHAVE"
}
}'
Exemplo de resposta:
{
"authentication": {
"code": "NCXxhmZ8ropSWzDf5wUiYO",
"status": "success",
"description": "The key was successfully authenticated.",
"user": {
"id": "166235",
"username": "johndoe"
}
},
"domains": {
"code": "EOr3FGZc3oqSw6VoqUGVyL",
"status": "success",
"list": [
[
"172345",
"example1.com"
],
[
"562451",
"example2.com"
],
[
"934462",
"example3.com"
]
]
}
}
Pronto para integrar?
Com esses endpoints você já pode integrar a API do Monetizzy em sua aplicação. Use o proxy para requisições de front-end e a API direta para requisições feitas no back-end.