Recorrência de NFS-e
Gerar as linhas de uma recorrência (sem gravar)
POST https://apifiscal.weesy.com.br/v1/recorrencias/linhas
Abrir na referência interativaCalcula as datas e os valores das ocorrências para você mostrar ao cliente antes de criar. Nada é gravado.
A ocorrência n (1 = primeiraData) cai em:
semanal: +7 dias × (n − 1);quinzenal: +14 dias × (n − 1);mensal,bimestral,trimestral,semestral,anual: +1, 2, 3, 6 ou 12 meses × (n − 1), sempre a partir do dia da primeira data. Mês sem esse dia usa o último dia do mês, sem mudar o dia de referência: 31/01 → 28/02 → 31/03.
Cada linha sai com o valor informado.
Exemplo de chamada
cURL
curl --request POST \
--url "https://apifiscal.weesy.com.br/v1/recorrencias/linhas" \
--header "Authorization: Bearer $WEESY_TOKEN" \
--header "Content-Type: application/json" \
--data '{
"periodicidade": "mensal",
"quantidade": 3,
"primeiraData": "2027-01-31",
"valor": 450
}'Node.js
const resposta = await fetch("https://apifiscal.weesy.com.br/v1/recorrencias/linhas", {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.WEESY_TOKEN}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
"periodicidade": "mensal",
"quantidade": 3,
"primeiraData": "2027-01-31",
"valor": 450
}),
});
console.log(resposta.status, await resposta.text());Python
import os
import requests
resposta = requests.post(
"https://apifiscal.weesy.com.br/v1/recorrencias/linhas",
headers={"Authorization": f"Bearer {os.environ['WEESY_TOKEN']}"},
json={
"periodicidade": "mensal",
"quantidade": 3,
"primeiraData": "2027-01-31",
"valor": 450,
},
timeout=30,
)
print(resposta.status_code, resposta.text)PHP
<?php
$corpo = <<<'JSON'
{
"periodicidade": "mensal",
"quantidade": 3,
"primeiraData": "2027-01-31",
"valor": 450
}
JSON;
$contexto = stream_context_create(["http" => [
"method" => "POST",
"header" => implode("\r\n", ["Authorization: Bearer " . getenv("WEESY_TOKEN"), "Content-Type: application/json"]),
"content" => $corpo,
"ignore_errors" => true, // lê o corpo também nas respostas de erro
]]);
$resposta = file_get_contents("https://apifiscal.weesy.com.br/v1/recorrencias/linhas", false, $contexto);
echo $http_response_header[0], PHP_EOL, $resposta, PHP_EOL;C#
using System.Net.Http.Headers;
using System.Text;
using var http = new HttpClient();
http.DefaultRequestHeaders.Authorization =
new AuthenticationHeaderValue("Bearer", Environment.GetEnvironmentVariable("WEESY_TOKEN"));
var corpo = """
{
"periodicidade": "mensal",
"quantidade": 3,
"primeiraData": "2027-01-31",
"valor": 450
}
""";
using var resposta = await http.PostAsync(
"https://apifiscal.weesy.com.br/v1/recorrencias/linhas",
new StringContent(corpo, Encoding.UTF8, "application/json"));
Console.WriteLine($"{(int)resposta.StatusCode} {await resposta.Content.ReadAsStringAsync()}");Corpo da requisição
| Campo | Tipo | Descrição |
|---|---|---|
| periodicidade obrigatório | string | Valores: |
| quantidade obrigatório | integer | |
| primeiraData obrigatório | string (date) | De hoje em diante (Brasília). |
| valor obrigatório | number | Valor em reais, como número com 2 casas decimais (ex. |
Exemplo
JSON
{
"periodicidade": "mensal",
"quantidade": 3,
"primeiraData": "2027-01-31",
"valor": 450
}Respostas
- 200: As linhas.
- 400: Algum dado está errado ou faltando. A lista erros diz qual campo e o que corrigir (code = validacao). (formato de erro)
- 401: Token ausente, errado ou revogado (credencialinvalida). Confira o cabeçalho Authorization. (formato de erro)
Campos da resposta 200
| Campo | Tipo | Descrição |
|---|---|---|
| linhas obrigatório | array de object | |
| linhas[] obrigatório | integer | |
| linhas[] obrigatório | string (date) | |
| linhas[] obrigatório | number | Valor em reais, como número com 2 casas decimais (ex. |
Exemplo de resposta 200
JSON
← Voltar ao início{
"linhas": [
{
"numero": 1,
"dataPrevista": "2027-01-31",
"valor": 450
},
{
"numero": 2,
"dataPrevista": "2027-02-28",
"valor": 450
},
{
"numero": 3,
"dataPrevista": "2027-03-31",
"valor": 450
}
]
}