Neoway for Developers
SEJA BEM-VINDO E BEM-VINDA A DOCUMENTAÇÂO DA NEOWAY
Nesse portal, você poderá acessar a documentação das APIs da Neoway.
Sobre a Neoway
A Neoway oferece soluções inteligentes que transformam informação em conhecimento e geram produtividade e precisão para as estratégias de marketing, compliance, prevenção contra perdas, entre outros.
As APIs permitem que os sistemas consultem diretamente a nossa base de dados para obter e atualizar, sob demanda, as informações relevantes para os seus negócios.
APIs da Neoway
Essa página irá te instruir sobre como utilizar as APIs da Neoway.
Aqui você tem acesso a informações sobre como se autenticar, visualizar códigos de exemplo para fazer requisição, bilhetagem, formatos e status code da resposta.
Para facilitar a integração com seu negócio, temos disponíveis as linguagens Shell, Go, Ruby, Python e Javascript. Veja os exemplos de código na área escura à direita e escolha a linguagem de programação dos exemplos com as guias no canto superior direito.
Se você preferir, temos disponíveis as collections do Postman.
Comercial
Para obter uma conta de API, entre em contato conosco.
API de Dados
A API de dados fornece informações sobre um domínio específico, identificado por uma chave.
Os domínios disponíveis são:
- pessoas
- empresas
Através do endereço padrão desse serviço /v1/data/:domain
,
especificar o domínio de obtenção de dados, como por exemplo:
/v1/data/pessoas/:cpf
/v1/data/empresas/:cnpj
Abaixo teremos detalhes de cada uma das requisições. Mas antes de consumir qualquer endpoint desse, certifique-se que você obteve um token de acesso ao recurso do serviço protegido.
Token
Para obter um token, use esse código:
package main
import (
"fmt"
"strings"
"net/http"
"io/ioutil"
)
func main() {
url := "https://api.neoway.com.br/auth/token"
method := "POST"
payload := strings.NewReader(`{
"application": "<your-application-id>",
"application_secret": "<your-application-secret>"
}`)
client := &http.Client {
}
req, err := http.NewRequest(method, url, payload)
if err != nil {
fmt.Println(err)
return
}
req.Header.Add("Content-Type", "application/json")
res, err := client.Do(req)
if err != nil {
fmt.Println(err)
return
}
defer res.Body.Close()
body, err := ioutil.ReadAll(res.Body)
if err != nil {
fmt.Println(err)
return
}
fmt.Println(string(body))
}
require "uri"
require "net/http"
url = URI("https://api.neoway.com.br/auth/token")
https = Net::HTTP.new(url.host, url.port)
https.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = "application/json"
request.body = "{ \n \"application\": \"<your-application-id>\",\n \"application_secret\": \"<your-application-secret>\" \n}"
response = https.request(request)
puts response.read_body
import requests
url = "https://api.neoway.com.br/auth/token"
payload="{ \n \"application\": \"<your-application-id>\",\n \"application_secret\": \"<your-application-id>\" \n}"
headers = {
'Content-Type': 'application/json'
}
response = requests.request("POST", url, headers=headers, data=payload)
print(response.text)
curl -X POST 'https://api.neoway.com.br/auth/token' \
--header 'Content-Type: application/json' \
--data-raw '{
"application": "<your-application-id>",
"application_secret": "<your-application-secret>"
}'
var myHeaders = new Headers();
myHeaders.append("Content-Type", "application/json");
var raw = JSON.stringify({"application":"<your-application-id>","application_secret":"<your-application-secret>"});
var requestOptions = {
method: 'POST',
headers: myHeaders,
body: raw,
redirect: 'follow'
};
fetch("https://api.neoway.com.br/auth/token", requestOptions)
.then(response => response.text())
.then(result => console.log(result))
.catch(error => console.log('error', error));
O retorno será algo como:
{
"token": "<your-token>"
}
Para acessar a API de dados da Neoway você precisar obter um token de autenticação, para depois conseguir os resursos disponíveis através dos endpoints de API.
A API de dados espera que tenha um cabeçalho Authorization
com o token obtido nesse passo do tipo Bearer
.
Da seguinte maneira:
Authorization: Bearer <your-token>
Request
POST - https://api.neoway.com.br/auth/token
Parâmetros
Parâmetro | Descrição |
---|---|
application | Nome identificador da conta de API. |
application_secret | Senha da conta de API. |
Obter dados de pessoas
Para pegar dados de pessoa, use esse código:
package main
import (
"fmt"
"net/http"
"io/ioutil"
)
func main() {
url := "https://api.neoway.com.br/v1/data/pessoas/:cpf"
method := "GET"
client := &http.Client {
}
req, err := http.NewRequest(method, url, nil)
if err != nil {
fmt.Println(err)
return
}
req.Header.Add("Authorization", "Bearer <your-token>")
res, err := client.Do(req)
if err != nil {
fmt.Println(err)
return
}
defer res.Body.Close()
body, err := ioutil.ReadAll(res.Body)
if err != nil {
fmt.Println(err)
return
}
fmt.Println(string(body))
}
require "uri"
require "net/http"
url = URI("https://api.neoway.com.br/v1/data/pessoas/:cpf")
https = Net::HTTP.new(url.host, url.port)
https.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = "Bearer <your-client-id>"
response = https.request(request)
puts response.read_body
import http.client
conn = http.client.HTTPSConnection("api.neoway.com.br")
payload = ''
headers = {
'Authorization': 'Bearer <your-token>'
}
conn.request("GET", "/v1/data/pessoas/:cpf", payload, headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
curl -X GET 'https://api.neoway.com.br/v1/data/pessoas/:cpf' \
--header 'Authorization: Bearer <your-token>'
var myHeaders = new Headers();
myHeaders.append("Authorization", "Bearer <your-token>");
var requestOptions = {
method: 'GET',
headers: myHeaders,
redirect: 'follow'
};
fetch("https://api.neoway.com.br/v1/data/pessoas/:cpf", requestOptions)
.then(response => response.text())
.then(result => console.log(result))
.catch(error => console.log('error', error));
O comando acima retorna um JSON estruturado, como:
{
"pessoa": {
"cpf": "<cpf>",
"nome": "<Nome da Pessoa>"
...
}
}
Esse endpoint retorna os dados de uma pessoa, pela chave que é o cpf.
Request
GET - https://api.neoway.com.br/v1/data/pessoas/:cpf
Parâmetros
Parâmetro | Descrição |
---|---|
cpf | campo-chave representado pelo cpf para obter os dados da pessoa. |
fields | Use esse parâmetro para filtrar os campos que serão retornados. |
metadata | Se definido como falso, oculta os metadados. Se verdadeiro, mostra metadados. |
Obter dados de empresas
package main
import (
"fmt"
"net/http"
"io/ioutil"
)
func main() {
url := "https://api.neoway.com.br/v1/data/empresas/:cnpj"
method := "GET"
client := &http.Client {
}
req, err := http.NewRequest(method, url, nil)
if err != nil {
fmt.Println(err)
return
}
req.Header.Add("Authorization", "Bearer <your-token>")
res, err := client.Do(req)
if err != nil {
fmt.Println(err)
return
}
defer res.Body.Close()
body, err := ioutil.ReadAll(res.Body)
if err != nil {
fmt.Println(err)
return
}
fmt.Println(string(body))
}
require "uri"
require "net/http"
url = URI("https://api.neoway.com.br/v1/data/empresas/:cnpj")
https = Net::HTTP.new(url.host, url.port)
https.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = "Bearer <your-token>"
response = https.request(request)
puts response.read_body
import http.client
conn = http.client.HTTPSConnection("api.neoway.com.br")
payload = ''
headers = {
'Authorization': 'Bearer <your-token>'
}
conn.request("GET", "/v1/data/empresas/:cnpj", payload, headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
curl -X GET 'https://api.neoway.com.br/v1/data/empresas/:cnpj' \
--header 'Authorization: Bearer <your-token>'
var myHeaders = new Headers();
myHeaders.append("Authorization", "Bearer <your-token>");
var requestOptions = {
method: 'GET',
headers: myHeaders,
redirect: 'follow'
};
fetch("https://api.neoway.com.br/v1/data/empresas/:cnpj", requestOptions)
.then(response => response.text())
.then(result => console.log(result))
.catch(error => console.log('error', error));
O comando acima retorna um JSON estruturado, como:
{
"empresa": {
"cnpj": "<cnpj>",
"razaoSocial": "<razao-social>",
...
}
}
Esse endpoint retorna as informaçõse de uma empresa pelo identificador da empresa cnpj.
HTTP Request
GET - https://api.neoway.com.br/v1/data/empresas/:cnpj
Parâmetros
Parâmetro | Descrição |
---|---|
cnpj | Número identificador da empresa. |
fields | Use esse parâmetro para filtrar os campos que serão retornados. |
metadata | Se definido como falso, oculta os metadados. Se verdadeiro, mostra metadados. |
Status de Respostas
A API de dados tem os seguintes status de respostas:
Status | Descrição | Cobrado? |
---|---|---|
200 - OK | Sua requisição foi respondida com sucesso. | Sim |
400 - Bad Request | Sua solicitação é inválida. | Não |
401 - Unauthorized | Token de acesso ausente ou inválido. | Não |
404 - Not Found | O documento especificado não foi encontrado. | Não |
423 - Locked | Créditos insuficientes para a operação. | Não |
429 - Too Many Requests | Você está solicitando muitos documentos, Vá com calma! | Não |
500 - Internal Server Error | Ocorreu um problema com o nosso servidor. Tente mais tarde. | Não |
503 - Service Unavailable | Estamos temporariamente offline para manutenção. Por favor, tente novamente mais tarde. | Não |