/unstable/site/imagens
Method: GET
Essa rota recebe as imagens que o usuário seleciona em seu painel de preferências (opens in a new tab)
Ela aceita uma Query Strings obrigatória que pode ser um dos elementos do site:
elemento: Elemento
Retorna a URL do elemento como string.
export async function getImage(elemento: Elemento) {
const headers = new Headers();
headers.append("Authorization", `Bearer ${env.NONSTOP_TOKEN}`);
const response = await fetch(
`https://www.usenonstop.com/api/unstable/site/imagens?elemento=${elemento}`,
{ headers },
);
if (response.ok) return (await response.json()) as string;
return null;
}
/unstable/site/contato
Method: GET
Essa rota recebe as informações de contato que o usuário configura em seu perfil (opens in a new tab)
Retorna um objeto Contact
export async function getContact() {
const headers = new Headers();
headers.append("Authorization", `Bearer ${env.NONSTOP_TOKEN}`);
const response = await fetch("https://www.usenonstop.com/api/unstable/site/contato", {
headers
});
if (response.ok) return (await response.json()) as Contact;
return {
name: null,
phone: null,
whatsapp: null,
email: null,
address: null,
socialMedias: [],
creci: null
};
}
/unstable/site/inscrever
Method: GET
Essa rota serve para que visitantes no site possam se inscrever para receber notícias, newsletters e campanhas por email do usuário. Os emails recebidos são armazenados automaticamente pela nonStop.
Retorna um Result
export async function subscribe(email: string) {
const headers = new Headers();
headers.append("Authorization", `Bearer ${env.NONSTOP_TOKEN}`);
const response = await fetch(
`https://www.usenostop.com/api/unstable/site/inscrever?email=${email.toLowerCase()}`,
{ headers },
);
const json = (await response.json()) as Result;
if (!json.ok) return { status: "error", error: json.error } as const;
return { status: "success", message: json.message } as const;
}
/unstable/site/slug
Method: GET
Essa rota serve para pegar o slug do usuário proprietário de determinado domínio customizado.
Retorna uma string com o slug caso tenha sucesso ou um {error: string}
caso falhe.
export async function getSlug({ domain }: { domain: string }) {
const headers = new Headers();
headers.append("Authorization", `Bearer ${env.NONSTOP_TOKEN}`);
const response = await fetch(
`${BASE_URL}/${VERSION}/site/slug?dominio=${domain}`,
{ headers, ...CONFIG },
);
if (response.ok) return (await response.json()) as string
return (await response.json()) as { error: string }
}
/unstable/site/criar-url
Method: GET
Essa rota serve para gerar uma url amigável.
Retorna uma string com a url gerada caso tenha sucesso ou um {error: string}
caso falhe.
export async function createUrl({ original }: { original: string }) {
const headers = new Headers();
headers.append("Authorization", `Bearer ${env.NONSTOP_TOKEN}`);
const response = await fetch(
`${BASE_URL}/${VERSION}/site/criar-url?${original}`,
{ headers, ...CONFIG },
);
if (response.ok) return (await response.json()) as string
return (await response.json()) as { error: string }
}
/unstable/site/recuperar-url
Method: GET
Essa rota serve para recuperar a url original à partir de uma url amigável.
Retorna uma string com a url original caso tenha sucesso ou um {error: string}
caso falhe.
export async function retrieveUrl({ short }: { short: string }) {
const headers = new Headers();
headers.append("Authorization", `Bearer ${env.NONSTOP_TOKEN}`);
const response = await fetch(
`${BASE_URL}/${VERSION}/site/recuperar-url?short=${short}`,
{ headers, ...CONFIG },
);
if (response.ok) return (await response.json()) as string
return (await response.json()) as { error: string }
}
/unstable/site/lead
Method: POST
Essa rota serve para criar leads na nonStop através de um serviço externo
Recebe um body no seguinte formato:
id: string //slug-do-corretor#id-do-imóvel
origin: "SITE" | "OUTROS"
phone: string | null
whatsapp: string | null
name: string | null
email: string,
message: string | null
transactionType: "RENT" | "SELL"
export async function retrieveUrl({ body }: { body: LeadBody }) {
const headers = new Headers();
headers.append("Authorization", `Bearer ${env.NONSTOP_TOKEN}`);
const response = await fetch(
"${BASE_URL}/${VERSION}/site/lead",
{ headers, body, ...CONFIG },
);
if (response.ok) return (await response.json()) as { ok: boolean }
return (await response.json()) as { error: string }
}
/unstable/site/urls
Method: GET
Essa rota recebe todas as URLs das páginas dos imóveis. Pode ser usada para criação de sitemap.
export async function getUrls(slug: string): Promise<string[]> {
const headers = new Headers();
headers.append("Authorization", `Bearer ${env.NONSTOP_TOKEN}`);
const response = await fetch(
`${BASE_URL}/${VERSION}/site/urls?slug=${slug}`,
{
headers,
...CONFIG,
},
);
if (response.ok) return (await response.json()) as string[];
return [];
}
/unstable/site/compartilhar
Method: GET
Essa rota recebe o id de um imóvel e incrementa a contagem de compartilhamento com clientes
export async function incrementShareCount(id: string): Promise<void> {
const headers = new Headers();
headers.append("Authorization", `Bearer ${env.NONSTOP_TOKEN}`);
const response = await fetch(
`${BASE_URL}/${VERSION}/site/compartilhar?id=${id}`,
{
headers,
...CONFIG,
},
);
}