Weesy Docs

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 interativa

Calcula 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:

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

CampoTipoDescrição
periodicidade
obrigatório
string

Valores: semanal, quinzenal, mensal, bimestral, trimestral, semestral, anual.

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. 100.00). Não mande como texto.

Exemplo

JSON
{
  "periodicidade": "mensal",
  "quantidade": 3,
  "primeiraData": "2027-01-31",
  "valor": 450
}

Respostas

Campos da resposta 200

CampoTipoDescrição
linhas
obrigatório
array de object
linhas[].numero
obrigatório
integer
linhas[].dataPrevista
obrigatório
string (date)
linhas[].valor
obrigatório
number

Valor em reais, como número com 2 casas decimais (ex. 100.00). Não mande como texto.

Exemplo de resposta 200

JSON
{
  "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
    }
  ]
}
← Voltar ao início