Weesy Docs

Recorrência de NFS-e

Editar data ou valor de uma ocorrência

PATCH https://apifiscal.weesy.com.br/v1/recorrencias/{id}/ocorrencias/{numero}

Abrir na referência interativa

Só ocorrência programada. dataPrevista: de hoje em diante, sem repetir a data de outra programada e entre a programada anterior e a seguinte. valor: maior que zero. Mudar o valor grava valorEditado (verdadeiro se diferente do valor do modelo).

avisoVespera na resposta: sem_aviso quando a nota sai sem o e-mail da véspera (a data é hoje, ou é amanhã e o aviso de hoje já saiu); senão com_aviso. Os e-mails da véspera só existem para as empresas do ERP Weesy; para integradores é sempre sem_aviso.

Parâmetros

NomeOndeTipoDescrição
id
obrigatório
caminhostring
numero
obrigatório
caminhointeger

Exemplo de chamada

cURL

curl --request PATCH \
  --url "https://apifiscal.weesy.com.br/v1/recorrencias/6ade6278e8340a492a46b564/ocorrencias/<numero>" \
  --header "Authorization: Bearer $WEESY_TOKEN" \
  --header "Content-Type: application/json" \
  --data '{}'

Node.js

const resposta = await fetch("https://apifiscal.weesy.com.br/v1/recorrencias/6ade6278e8340a492a46b564/ocorrencias/<numero>", {
  method: "PATCH",
  headers: {
    Authorization: `Bearer ${process.env.WEESY_TOKEN}`,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({}),
});
console.log(resposta.status, await resposta.text());

Python

import os

import requests

resposta = requests.patch(
    "https://apifiscal.weesy.com.br/v1/recorrencias/6ade6278e8340a492a46b564/ocorrencias/<numero>",
    headers={"Authorization": f"Bearer {os.environ['WEESY_TOKEN']}"},
    json={},
    timeout=30,
)
print(resposta.status_code, resposta.text)

PHP

<?php

$corpo = <<<'JSON'
{}
JSON;

$contexto = stream_context_create(["http" => [
    "method" => "PATCH",
    "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/6ade6278e8340a492a46b564/ocorrencias/<numero>", 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 = """
    {}
    """;

using var resposta = await http.PatchAsync(
    "https://apifiscal.weesy.com.br/v1/recorrencias/6ade6278e8340a492a46b564/ocorrencias/<numero>",
    new StringContent(corpo, Encoding.UTF8, "application/json"));
Console.WriteLine($"{(int)resposta.StatusCode} {await resposta.Content.ReadAsStringAsync()}");

Corpo da requisição

CampoTipoDescrição
dataPrevistastring (date)
valornumber

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

Respostas

Campos da resposta 200

CampoTipoDescrição
numero
obrigatório
integer
dataPrevista
obrigatório
string (date)

O dia (Brasília) em que a nota sai, às 08:00; vira a competencia da nota.

valor
obrigatório
number

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

valorEditado
obrigatório
boolean

O valor foi mudado à mão e não acompanha o valor do modelo.

situacao
obrigatório
string
  • programada — vai ser emitida às 08:00 da data prevista;
  • emitida — a nota foi criada (acompanhe a nota em nota); final;
  • falhou — a emissão foi recusada (motivo em falha); não tentamos de novo sozinhos — corrija e use Emitir agora;
  • pulada — não será emitida (dá para desfazer até 07:59 do dia);
  • perdida — passou de 3 dias da data prevista sem emitir; use Emitir agora se ainda quiser a nota;
  • cancelada — a recorrência foi cancelada; final.

Valores: programada, emitida, falhou, pulada, perdida, cancelada.

emitirAgora
obrigatório
boolean

Marcada por Emitir agora; sai na próxima execução (até 5 min).

idIntegracaostring ou null

O da nota desta ocorrência: rec-{id}-{numero} ou rec-{id}-{numero}-m{k}.

avisadaEmstring (date-time) ou null

Quando entrou no aviso da véspera (só empresas do ERP Weesy).

motivoImpedimentoobject ou null

O que impediria a emissão, visto na véspera.

motivoImpedimento.codestring
motivoImpedimento.mensagemstring
notaobject ou null

A nota emitida, lida na hora.

nota.idstring

O id que a Weesy dá ao documento. Guarde como texto e não tente interpretar.

nota.numerostring ou null

Número da NFS-e; nulo até autorizar.

nota.statusstring

Em que pé está a nota. Novos valores podem aparecer: trate valor desconhecido sem quebrar.

ValorO que quer dizerO que fazer
recebidaRecebemos a nota e vamos enviar à prefeituraAguardar
em_processamentoEnviada à prefeitura, aguardando a respostaAguardar
autorizadaA prefeitura autorizou — a nota tem número e código de verificaçãoPronto: baixe o PDF e o XML
rejeitadaA prefeitura recusou por algum dado erradoLeia o motivo em mensagens, corrija e emita de novo com o mesmo idIntegracao
erroNão conseguimos falar com a prefeitura (fora do ar, demora)Tentar emitir de novo
cancelamento_solicitadoPedimos o cancelamento, aguardando a prefeituraAguardar
canceladaA prefeitura cancelou a nota—
cancelamento_rejeitadoA prefeitura recusou o cancelamento — a nota continua valendoLeia o motivo; às vezes é preciso cancelar no site da prefeitura
ValorSignificado
recebidaRecebemos a nota e vamos enviar à prefeitura
em_processamentoEnviada à prefeitura, aguardando a resposta
autorizadaAutorizada pela prefeitura
rejeitadaRecusada pela prefeitura — corrija e emita de novo
erroNão conseguimos falar com a prefeitura — tente de novo
cancelamento_solicitadoCancelamento pedido, aguardando a prefeitura
canceladaCancelada pela prefeitura
cancelamento_rejeitadoA prefeitura recusou o cancelamento
falhaobject ou null

Por que não saiu.

falha.codestring
falha.mensagemstring
falha.emstring (date-time)
avisoVesperastring

Só na resposta de Editar data ou valor.

Valores: com_aviso, sem_aviso.

mensagemstring

Só na resposta de Emitir agora.

← Voltar ao início