Snippets

Maiquel Ludwig Searchbar API Reference

You are viewing an old version of this snippet. View the current version.
Revised by Maiquel Ludwig 297777a

Searchbar.org API Reference

Este documento detalha as principais rotas da API para usuário desenvolvedor e integração com o Searchbar.


Antes de começar

A Url base da API do Searchbar é

https://api.searchbar.org/v1

Erros Genéricos

Código Descrição
401 Usuário não autorizado ou token inválida
400 Request mal formatado
422 Payload/json com campos faltantes

Autenticação

Para ter acesso à API Searchbar é necessário obter uma token de autorização que deve ser incluída como Bearer Token no cabeçalho "Authentication" em todos os demais requests.

"Authorization" : "Bearer [sua_token_de_authorização]"

POST /account/login

{
    "email": "seuemail@exemplo.com",
    "password": "suasenha"
}
Parâmetro Tipo Descrição
email String O email da sua conta Searchbar
password String A senha da sua conta Searchbar

Exemplo Retorno

{
    "user": "meuemail@exemplo.com",
    "token": "eyJhbGciOiJIUzI1NiIsInR5cCJ6IkpXVCJ9.eyJpZCI6IjViZWM2MzIxN2IartcwMjJlMDU3OGNlMyIsInRva2VuVHlwZSI6InByaXZhdGUiLCJyb2xlIjoiQURNSU4iLCJpYXQiOjE1OTE2NzYwNjksImV4cCI6MTU5MTc2MjQ2OX0.Gotjepi8xfa8oakzVg2eMkEm3GMpCuNvmkdcJejJEyc",
    "publicToken": "eyJhbGciOiJIUzI1NiPirnR5cCI6IkpXVCJ9.eyJpZCI6IjViZWM2MzIxN2IwYTcwMfg45sU3OGNlMyIsInRva2VuVHlwZSI6InB1YmxpYyIsImlhdCI6MTU5MTY3NjA2OSwiZXhwIjoxNTkxNzYyNDY5fQ.Ve68IS19aMrddWf800V1eDCKa_vy8Kqvek5UDT0o7b0",
    "expirationDate": "2020-04-21T04:14:29.000Z"
}
Parâmetro Tipo Descrição
user String O email da sua conta Searchbar
token String Sua token privada para utilização da API. Não publique em páginas públicas. Expira após 24hrs
publicToken String Sua token pública para utilização em ambientes públicos. Não Expira.
expirationDate ISO Date Data da expiração da sua token privada. Após esse período, é necessário novo login

GET /account/site

Retorna os sites cadastrados e indexados na sua conta.

[
    {
        "name": "Site Principal",
        "sitemap": "https://meusite.com.br/sitemap.xml",
        "site": "https://meusite.com.br",
        "active": true
    }
]
Parâmetro Tipo Descrição
name String Alias do site
sitemap String Caso seja informado um sitemap, ou o crowler encontre algum automaticamente, o endereço do Arquivo sitemap.xml é retornado
site String URL base do Site indexado
active Boolean Ativo ou Inativo

POST /account/site

Define o site principal da sua conta.

Cuidado: este request atualiza todas as páginas da sua conta, exceto as inseridas manualmente pelo usuário.

{
    "site":"https://meunovosite.com.br"
}
Parâmetro Tipo Descrição
site String URL do site a ser indexado

GET /page/

Efetua uma busca por texto nas páginas indexadas na sua conta

GET /page/?q=termo&offset=0&size=10
Parâmetro Tipo Descrição
q String Query a ser buscada
offset Number Define o offset de paginação para retornar a busca
size Number Define a quantidade de resultados por página retornada (máximo 100)

Exemplo de Retorno

{
    {
        "term": "termo",
        "total": 61,
        "from": "0",
        "to": 10,
        "results": [
            {
                "_index": "pages",
                "_type": "page",
                "_id": "5edf0eded584ee21c924c732",
                "_score": 2,
                "_source": {
                    "url": "https://meunovosite.com.br/about-us/",
                    "account": "5bec63217b0a7022e0578ce3",
                    "status": "PROCESSED",
                    "origin": "SITEMAP",
                    "weight": 1,
                    "description": "This is the page result description...",
                    "title": "Page Title"
                },
                "highlight": {
                    "description.special": [
                        "This is a <em>highlighted</em> text description..."
                    ]
                }
            }
        }
    }
}
Parâmetro Tipo Descrição
term String Termo buscado
total Number Quantidade total de páginas encontradas que atendem ao termo buscado
from Number Início da paginação atual
to Number Fim da paginação atual
results Array Lista de Resultados

POST /page/

Insere páginas customizadas ou atualiza páginas existentes.

Importante: Este recurso possui rate control, limite de 50 páginas adicionáveis no mesmo request e o Paylod não deve ultrapassar 500 KBs.

{
    "pages": [
        {
            "url": "http://example.com/1",
            "title": "This is a title example",
            "description": "This is the description from the page. It can be a large text."
        },
        {
            "url": "http://example.com/2",
            "title": "This is a title example 2",
            "description": "This is the description from the page. It can be a large text.",
            "image": "https://upload.wikimedia.org/wikipedia/commons/b/b6/Image_created_with_a_mobile_phone.png"
        },
        {
            "url": "http://example.com/3",
            "title": "This is a title example 3 ",
            "description": "This is the description from the page. It can be a large text.",
            "weight": "2"
        }
    ]
}
Parâmetro Tipo Descrição
pages Array Array de Pages
url String URL da página a ser adicionada (Obrigatório)
title String Título da página a ser adicionada (Obrigatório)
description String Descrição da página a ser adicionada
weight Number Peso da página. Páginas multiplicam seu score com o seu peso para se tornarem artificialmente mais relevantes.

DELETE /page/

Remove a lista de páginas enviadas ou remove todas as páginas

{
    "deleteAll": false,
    "deleteList": [
        "http://example.com/1",
        "http://example.com/2",
        "http://example.com/3",
        "http://example.com/5"
        ]
}
Parâmetro Tipo Descrição
deleteAll Boolean Quando true, remove todas as páginas indexadas na conta
deleteList Array Lista com as URLs das páginas a serem deletadas
HTTPS SSH

You can clone a snippet to your computer for local editing. Learn more.