curl --request GET \
--url https://api.spedy.com.br/v1/inbound-service-invoices/sync-status \
--header 'X-Api-Key: <api-key>'import requests
url = "https://api.spedy.com.br/v1/inbound-service-invoices/sync-status"
headers = {"X-Api-Key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-Api-Key': '<api-key>'}};
fetch('https://api.spedy.com.br/v1/inbound-service-invoices/sync-status', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.spedy.com.br/v1/inbound-service-invoices/sync-status",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"X-Api-Key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.spedy.com.br/v1/inbound-service-invoices/sync-status"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-Api-Key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.spedy.com.br/v1/inbound-service-invoices/sync-status")
.header("X-Api-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.spedy.com.br/v1/inbound-service-invoices/sync-status")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-Api-Key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"lastNsu": 123,
"lastSyncAt": "2023-11-07T05:31:56Z",
"nextAllowedSyncAt": "2023-11-07T05:31:56Z",
"lastAttemptOutcome": "neverAttempted",
"lastAttemptMessage": "<string>",
"lastAttemptAt": "2023-11-07T05:31:56Z"
}Status de sincronização de NFS-e Recebidas
Retorna o status da sincronização: quando foi a última e a partir de quando uma nova sincronização é permitida, respeitando o intervalo mínimo entre chamadas.
curl --request GET \
--url https://api.spedy.com.br/v1/inbound-service-invoices/sync-status \
--header 'X-Api-Key: <api-key>'import requests
url = "https://api.spedy.com.br/v1/inbound-service-invoices/sync-status"
headers = {"X-Api-Key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-Api-Key': '<api-key>'}};
fetch('https://api.spedy.com.br/v1/inbound-service-invoices/sync-status', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.spedy.com.br/v1/inbound-service-invoices/sync-status",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"X-Api-Key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.spedy.com.br/v1/inbound-service-invoices/sync-status"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-Api-Key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.spedy.com.br/v1/inbound-service-invoices/sync-status")
.header("X-Api-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.spedy.com.br/v1/inbound-service-invoices/sync-status")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-Api-Key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"lastNsu": 123,
"lastSyncAt": "2023-11-07T05:31:56Z",
"nextAllowedSyncAt": "2023-11-07T05:31:56Z",
"lastAttemptOutcome": "neverAttempted",
"lastAttemptMessage": "<string>",
"lastAttemptAt": "2023-11-07T05:31:56Z"
}Authorizations
Authorization By X-Api-Key inside request's header
Response
OK
Situação atual da sincronização automática de notas fiscais recebidas da empresa.
Último NSU (Número Sequencial Único) lido na distribuição de documentos fiscais. É o ponto de onde a próxima leitura continua; 0 indica que nenhuma sincronização foi concluída ainda.
Data e hora da última sincronização concluída com sucesso, no fuso horário da empresa. Fica em branco enquanto nenhuma tiver sido concluída.
A partir de quando uma nova sincronização pode ser solicitada, no fuso horário da empresa. A autoridade fiscal limita a frequência das consultas: pedidos feitos antes desse horário são recusados.
Resultado da última tentativa de sincronização de notas fiscais recebidas.
Valores possíveis:
- neverAttempted: Nenhuma sincronização foi tentada ainda.
- synchronized: A consulta foi concluída e trouxe documentos novos.
- upToDate: A consulta foi concluída e não havia documentos novos.
- throttledByAuthority: A autoridade fiscal recusou a consulta por excesso de consultas e bloqueou o acesso temporariamente. As consultas são retomadas automaticamente depois do bloqueio.
- communicationFailure: Não foi possível se comunicar com a autoridade fiscal. A consulta é refeita automaticamente.
- unexpectedResponse: A autoridade fiscal respondeu em um formato fora do esperado. A consulta é refeita automaticamente.
- documentApplyFailure: A consulta foi feita, mas um dos documentos recebidos não pôde ser processado. Os documentos lidos antes dele foram importados normalmente, e a leitura é retomada do mesmo ponto na próxima tentativa.
- certificateMissingOrExpired: A empresa está com o recebimento de notas habilitado, mas não tem certificado digital válido — sem ele não é possível consultar a autoridade fiscal. Envie um certificado válido para que a sincronização volte a acontecer.
- unexpectedError: A sincronização não pôde ser concluída por uma falha inesperada, antes de a consulta chegar à autoridade fiscal. A consulta é refeita automaticamente.
neverAttempted, synchronized, upToDate, throttledByAuthority, communicationFailure, unexpectedResponse, documentApplyFailure, certificateMissingOrExpired, unexpectedError Mensagem devolvida pela autoridade fiscal na última tentativa, quando houver. Ajuda a entender o motivo de uma recusa.
Data e hora da última tentativa, no fuso horário da empresa. Diferente da última sincronização, é preenchida também quando a tentativa não teve sucesso.