POP | Electronic Invoicing for Europe
Gere faturas eletrônicas em conformidade (Peppol UBL, PDF, FatturaPA XML) e envie-as diretamente para a Rede Peppol, o SdI italiano e outros.
Documentação
pop-mcp
Servidor MCP (Model Context Protocol) para POP — permitindo que LLMs gerem, enviem e gerenciem faturas eletrônicas italianas (FatturaPA/SdI), Peppol, KSeF, ZUGFeRD/Factur-X e faturas em PDF diretamente de assistentes de IA.
npm:
@getpopapi/pop-mcp· Remoto:https://mcp.popapi.io/mcp
MCP Remoto (HTTP) — a forma mais rápida de começar
Não quer instalar nada? O pop-mcp roda como um servidor MCP hospedado e multi-tenant em:
https://mcp.popapi.io/mcp
Acesse popapi.io para obter uma chave de licença e aponte qualquer cliente compatível com MCP para essa URL com sua chave como token Bearer. Sem instalação local, sem variável de ambiente POP_API_KEY, sem etapa de build — esta é a forma recomendada de experimentar o pop-mcp para a maioria das pessoas. Use a configuração local via stdio abaixo apenas se você precisar especificamente de uma configuração do Claude Desktop executando um processo na sua própria máquina.
Como funciona
Este endpoint fala MCP 2026-07-28, que é totalmente stateless: não há handshake initialize nem sessão para abrir ou rastrear. Cada requisição é autocontida — ela nomeia sua própria versão de protocolo e capacidades — e o servidor a responde de forma independente. Por isso, este é um endpoint multi-tenant: ele nunca lê um POP_API_KEY fixo do próprio ambiente. Cada requisição deve carregar sua própria chave de licença POP como token Bearer:
Authorization: Bearer <your_license_key>
Um cabeçalho Authorization ausente ou malformado retorna um 401 com error_code: "unauthorized_user" antes que qualquer chamada à API POP seja feita. Uma chave inválida, porém bem formada, é passada diretamente para a API da POP e exibe qualquer erro que a POP retornar (unauthorized_user, insufficient_level, etc.) — o servidor não revalida chaves por conta própria.
Qualquer cliente MCP HTTP moderno pode se conectar: Claude (conector remoto), a OpenAI Responses API, n8n, MCP Inspector ou uma integração personalizada — não apenas o Claude Desktop. Todas as ferramentas de fatura, status, avançadas e de onboarding estão disponíveis; as ferramentas de onboarding usam seu próprio onboarding_token por chamada e não exigem a chave Bearer.
Exemplo com curl
Descubra as versões de protocolo e capacidades suportadas pelo servidor (opcional — os clientes também podem simplesmente chamar tools/list ou tools/call diretamente e tratar um erro de negociação de versão inline):
curl -X POST https://mcp.popapi.io/mcp \
-H "Content-Type: application/json" \
-H "Authorization: Bearer your_license_key_here" \
-H "MCP-Protocol-Version: 2026-07-28" \
-H "Mcp-Method: server/discover" \
-d '{
"jsonrpc": "2.0",
"id": 1,
"method": "server/discover",
"params": { "_meta": { "io.modelcontextprotocol/protocolVersion": "2026-07-28", "io.modelcontextprotocol/clientCapabilities": {} } }
}'
Liste as ferramentas disponíveis — cada requisição é autocontida, então o _meta (versão do protocolo + capacidades do cliente) viaja em cada chamada, não apenas na primeira:
curl -X POST https://mcp.popapi.io/mcp \
-H "Content-Type: application/json" \
-H "Authorization: Bearer your_license_key_here" \
-H "MCP-Protocol-Version: 2026-07-28" \
-H "Mcp-Method: tools/list" \
-d '{
"jsonrpc": "2.0",
"id": 2,
"method": "tools/list",
"params": { "_meta": { "io.modelcontextprotocol/protocolVersion": "2026-07-28", "io.modelcontextprotocol/clientCapabilities": {} } }
}'
O catálogo de ferramentas é idêntico para cada chave de licença, então as respostas de tools/list e server/discover carregam uma dica de cache público de uma hora (ttlMs: 3600000, cacheScope: "public") — clientes e gateways podem armazená-las em cache entre tenants.
MCP-Protocol-VersioneMcp-Methodsão obrigatórios em toda requisição (conforme SEP-2243) e devem corresponder exatamente ao_meta.protocolVersionemethoddo corpo, caso contrário o servidor rejeita a requisição com um400e erro JSON-RPC-32020(HeaderMismatch). Requisiçõestools/callexigem adicionalmente um cabeçalhoMcp-Namecorrespondente aparams.name.
Exemplo com MCP Inspector
npx @modelcontextprotocol/inspector
Configure-o para conectar a https://mcp.popapi.io/mcp com o cabeçalho Authorization: Bearer <your_license_key>.
Este endpoint roda como uma função serverless da Vercel (api/mcp.ts → src/mcpHandler.ts). Para executá-lo localmente: npx vercel dev (requer vercel link no projeto primeiro).
O que é POP?
POP é um serviço em nuvem para geração e entrega de faturas eletrônicas, com suporte a:
- 🇮🇹 Faturamento eletrônico italiano (FatturaPA/SdI) — em conformidade com o D.Lgs. 127/2015
- 🇪🇺 Peppol — faturamento B2B transfronteiriço pan-europeu (UBL 2.1)
- 📄 Faturas em PDF — personalizadas, com entrega por e-mail
- ✅ Validação — códigos fiscais, números de IVA, verificações pré-envio de documentos
- 🗄️ Preservação — arquivamento legal italiano (conservazione sostitutiva)
Ferramentas Disponíveis (11 no total)
Criação de Faturas
| Ferramenta | Endpoint | Plano |
|---|---|---|
pop_create_sdi_invoice | POST /create-xml | Qualquer |
pop_create_peppol_invoice | POST /create-ubl | Qualquer (Basic+ para enviar) |
pop_create_pdf_invoice | POST /create-pdf | Qualquer (Basic+ para e-mail) |
pop_create_ksef_invoice | POST /create-ksef-xml | Qualquer (configuração KSeF para envio via provedor) |
pop_create_zugferd_invoice | POST /create-zugferd | Qualquer |
pop_sync_zoho_document | POST /integration/zoho/sync | Conector Zoho obrigatório |
Status e Recuperação
| Ferramenta | Endpoint | Plano |
|---|---|---|
pop_get_invoice_status | POST /sdi/document-notifications | Qualquer |
pop_get_peppol_document | POST /peppol/document-get | Basic+ |
pop_get_sdi_document | POST /sdi/document-get | Basic+ |
Validação e SdI Avançado
| Ferramenta | Endpoint | Plano |
|---|---|---|
pop_verify_sdi_document | POST /sdi/document-verify | Basic+ |
pop_preserve_document | POST /sdi/document-preserve | Basic+ |
Pré-requisitos
- Node.js >= 20
- Uma chave de licença POP
- Para envio SdI/Peppol: integração ativa na sua conta POP (plano Basic/Growth)
Autenticação
Obtenha Sua Chave de Licença
Novo na POP? Visite popapi.io para criar sua conta e obter sua chave de licença.
Usuários somente de API podem ativar sua conta e obter um license_key com este fluxo:
- Abra https://popapi.io/otp-login/
- Informe seu endereço de e-mail
- Receba uma senha de uso único (OTP) por e-mail e informe-a
- Conclua o assistente de configuração
- Abra https://popapi.io/ → Conta > API
- Copie o
license_keypadrão gerado
Gerenciamento de Chaves
- Sua conta inclui um
license_keypadrão, visível em Conta > API - Você pode gerar chaves adicionais vinculadas à mesma conta a partir dessa mesma página
- Todo
license_keydeve ser tratado como uma credencial secreta — não o envie para o controle de versão
Primeiros Passos Recomendados
- Obtenha seu
license_key - Teste-o com
GET /account-profile - Envie uma requisição de geração de documento com um payload real
- Adicione integrações opcionais de entrega somente depois que a geração local funcionar
Instalação
Via npm (recomendado)
npm install -g @getpopapi/pop-mcp
A partir do Código-Fonte
git clone https://github.com/getpopapi/pop-mcp
cd pop-mcp
npm install
npm run build
Configuração
Defina sua chave de licença POP como uma variável de ambiente:
export POP_API_KEY=your_license_key_here
Opcional — use o ambiente de staging:
export POP_ENVIRONMENT=staging
Configuração do Claude Desktop
Adicione ao seu claude_desktop_config.json:
Se instalado via npm:
{
"mcpServers": {
"pop": {
"command": "pop-mcp",
"env": {
"POP_API_KEY": "your_license_key_here"
}
}
}
}
Se executado a partir do código-fonte:
{
"mcpServers": {
"pop": {
"command": "node",
"args": ["/path/to/pop-mcp/dist/cli.js"],
"env": {
"POP_API_KEY": "your_license_key_here"
}
}
}
}
Locais dos arquivos de configuração:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json - Linux:
~/.config/Claude/claude_desktop_config.json
Referência de Ferramentas
O license_key é sempre injetado automaticamente a partir de POP_API_KEY — nunca o passe manualmente.
pop_create_sdi_invoice
Gere um documento XML FatturaPA italiano. Opcionalmente, envie-o ao SdI (Sistema di Interscambio).
Entradas MCP:
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
data | object | ✅ | Dados completos da fatura (veja Estrutura de Dados da Fatura) |
submit_to_sdi | boolean | — | Defina true para enviar ao SdI. Requer plano Basic+ com integração SdI ativa. Padrão: false |
integration | object | — | Substitui a configuração de integração. Substitui submit_to_sdi se definido. |
environment | string | — | Ambiente de destino (ex.: "sandbox") |
Opções de integração para integration.use:
"sdi-via-pop"ou"sdi"— Enviar via POP SdI"pop-to-webhook"— Entregar a um webhook (requerid)"fatture-in-cloud"— Entregar ao Fatture in Cloud
Payload da API enviado:
{
"license_key": "YOUR_LICENSE_KEY",
"user_agent": "pop-mcp",
"user_agent_version": "1.0.0",
"data": { "...invoice fields..." },
"integration": { "use": "sdi-via-pop", "action": "create" }
}
integrationé omitido quandosubmit_to_sdiéfalsee nenhuma substituição é fornecida (geração somente XML).
pop_create_peppol_invoice
Gere um documento Peppol UBL 2.1. Opcionalmente, envie-o à rede Peppol.
Entradas MCP:
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
data | object | ✅ | Dados completos da fatura. customer_type deve ser "company" ou "freelance" |
submit_to_peppol | boolean | — | Defina true para enviar à rede Peppol. Requer plano Basic+. Padrão: false |
integration | object | — | Substitui a configuração de integração |
environment | string | — | Ambiente de destino |
Opções de integração para integration.use:
"peppol-via-pop"ou"peppol"— Enviar via POP Peppol"pop-to-webhook"— Entregar a um webhook (requerid)
Payload da API enviado:
{
"license_key": "YOUR_LICENSE_KEY",
"user_agent": "pop-mcp",
"user_agent_version": "1.0.0",
"data": { "...invoice fields..." },
"integration": { "use": "peppol-via-pop", "action": "create" }
}
pop_create_pdf_invoice
Gere uma fatura em PDF personalizada. Opcionalmente, envie-a por e-mail para até 3 destinatários.
Entradas MCP:
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
data | object | ✅ | Dados da fatura. Deve incluir data.pdf para configurações específicas de PDF |
send_email | boolean | — | Defina true para enviar o PDF por e-mail (requer data.pdf.email_invoice, plano Basic+). Padrão: false |
environment | string | — | Ambiente de destino |
Campos de data.pdf:
| Campo | Descrição |
|---|---|
doc_type_title | Título exibido no documento (ex.: "Invoice", "Receipt") |
logo_url | URL do logotipo da empresa (HTTPS) |
head.store_info_address | Endereço do fornecedor como string no cabeçalho |
head.billing[] | Matriz de endereço de cobrança do cliente |
head.shipping[] | Matriz de endereço de entrega (opcional) |
email_invoice.to | Até 3 endereços de e-mail dos destinatários |
email_invoice.from | Endereço de resposta (reply-to) |
footer_text | Mensagem personalizada de rodapé |
total_tax | Valor total de impostos como string |
Payload da API enviado:
{
"license_key": "YOUR_LICENSE_KEY",
"user_agent": "pop-mcp",
"user_agent_version": "1.0.0",
"data": {
"...invoice fields...",
"pdf": {
"doc_type_title": "Invoice",
"logo_url": "https://example.com/logo.png",
"head": { "store_info_address": "Via Roma 1, 00100 Roma IT", "billing": [] },
"total_tax": "22.00",
"email_invoice": { "to": ["customer@example.com"] }
}
}
}
pop_create_ksef_invoice
Gere uma fatura ou nota de crédito XML KSeF FA(3) polonesa. Opcionalmente, envie-a por meio de uma integração configurada com provedor KSeF.
Entradas MCP:
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
data | object | ✅ | Dados completos da fatura para geração KSeF FA(3) |
integration | object | — | Configuração opcional de envio ao provedor KSeF: { use: "ksef" | "ksef-via-pop", action } |
environment | string | — | Ambiente de destino (ex.: "sandbox") |
Regras de domínio específicas do KSeF:
- Somente Polônia —
transfer_lender.personal_data.tax_id_vat.country_iddeve ser"PL"com um NIP de 10 dígitos comoid_code customer_typedeve ser"company"ou"freelance"(sem pessoas físicas)natureé sempre obrigatório no nível superior para KSeF (diferente de SdI/Peppol, onde só é exigido com IVA 0%) — reutiliza os mesmos códigos de natureza SdI (N1,N2.1,N2.2,N3.1,N3.2,N4, ...) para derivar a variante fiscal interna do KSeFtransmitter_datanão é usado (conceito exclusivo do SdI)payment_data.payment_detailsaceita apenasMP01,MP02/MP03,MP05,MP08— outros códigos de método de pagamento são rejeitados no momento da geração- A geração de XML base está disponível em qualquer plano; o envio via provedor por meio de
integration.use: "ksef"requer um plano Basic+ e o fornecedor já cadastrado como entidade legal KSeF no painel da POP
Payload da API enviado:
{
"license_key": "YOUR_LICENSE_KEY",
"user_agent": "pop-mcp",
"user_agent_version": "1.0.0",
"data": { "...invoice fields...", "nature": "N1" },
"integration": { "use": "ksef", "action": "create" }
}
integrationé omitido completamente para geração local somente XML (sem envio via provedor).
Retorna: XML FA(3) bruto (application/xml) para geração local, ou JSON (com um UUID) quando enviado por meio de uma integração com provedor.
pop_create_zugferd_invoice
Gere um pacote de documentos ZUGFeRD/Factur-X: um PDF visual, um XML CII EN16931 e um PDF/A-3 híbrido com o XML incorporado.
Entradas MCP:
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
data | object | ✅ | Dados completos da fatura para geração ZUGFeRD/Factur-X |
environment | string | — | Ambiente de destino (ex.: "sandbox") |
Esta ferramenta não possui parâmetro integration — a geração ZUGFeRD é apenas local, sem etapa de envio/entrega. |
Payload da API enviado:
{
"license_key": "YOUR_LICENSE_KEY",
"user_agent": "pop-mcp",
"user_agent_version": "1.0.0",
"data": { "...invoice fields..." }
}
Retorna: JSON com metadados de geração e três anexos codificados em Base64:
{
"success": true,
"data": {
"valid": true,
"profile": "EN16931",
"attachments": {
"pdf": { "filename": "...", "mime": "application/pdf", "content_base64": "..." },
"xml": { "filename": "...", "mime": "application/xml", "content_base64": "..." },
"hybrid_pdf": { "filename": "...", "mime": "application/pdf", "content_base64": "..." }
},
"validation": { "...": "..." },
"errors": [],
"warnings": []
}
}
pop_get_invoice_status
Recupere o status de processamento e as notificações SdI para uma fatura enviada.
Entradas MCP:
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
uuid | string (UUID) | ✅ | UUID da fatura retornado por pop_create_sdi_invoice quando submit_to_sdi=true |
response_format | "markdown" | "json" | — | Formato de saída. Padrão: "markdown" |
environment | string | — | Ambiente de destino |
Payload da API enviado:
{
"license_key": "YOUR_LICENSE_KEY",
"integration": { "uuid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" }
}
Status de notificação SdI: pending · accepted · rejected · delivery
O processamento SdI é assíncrono e pode levar de minutos a horas. Tente novamente se nenhuma notificação for retornada ainda.
pop_get_peppol_document
Recupere um documento Peppol da rede por UUID.
Entradas MCP:
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
uuid | string (UUID) | ✅ | UUID do documento Peppol de pop_create_peppol_invoice |
zone | string (2 caracteres) | — | Código do país do ponto de acesso Peppol (ex.: "BE" para Bélgica). Obrigatório para algumas regiões. |
response_format | "markdown" | "json" | — | Formato de saída. Padrão: "markdown" |
environment | string | — | Ambiente de destino |
Payload da API enviado:
{
"license_key": "YOUR_LICENSE_KEY",
"integration": { "uuid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", "zone": "IT" }
}
zoneé omitido do payload se não for fornecido.
pop_get_sdi_document
Recupere um documento SdI (FatturaPA) arquivado do armazenamento POP por UUID.
Entradas MCP:
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
uuid | string (UUID) | ✅ | UUID do documento SdI |
response_format | "markdown" | "json" | — | Formato de saída. Padrão: "markdown" |
environment | string | — | Ambiente de destino |
Payload da API enviado:
{
"license_key": "YOUR_LICENSE_KEY",
"integration": { "uuid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" }
}
Requer: plano Basic+ com integração SdI ativa.
pop_verify_sdi_document
Valide um documento XML SdI para conformidade antes do envio. Não envia o documento.
Entradas MCP:
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
xml_base64 | string | ✅ | O documento XML SdI codificado como uma string Base64 |
environment | string | — | Ambiente de destino |
Payload da API enviado:
{
"license_key": "YOUR_LICENSE_KEY",
"skip_business_check": true,
"integration": { "xml": "<base64-encoded-xml-string>" }
}
Verificações de validação realizadas: conformidade com esquema XML · formato do código fiscal · validade do número de IVA · presença de campos obrigatórios · consistência de valores
Requer: plano Basic+ com integração SdI ativa e empresa registrada.
pop_preserve_document
Arquive um documento SdI em armazenamento digital certificado de longo prazo (conservazione sostitutiva). A lei italiana exige que as faturas sejam preservadas por 10 anos.
Entradas MCP:
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
uuid | string (UUID) | ✅ | UUID do documento SdI a ser arquivado |
environment | string | — | Ambiente de destino |
Payload da API enviado:
{
"license_key": "YOUR_LICENSE_KEY",
"integration": { "uuid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" }
}
Importante: Chame esta ferramenta apenas quando
pop_get_invoice_statusretornar o statusRC(Ricevuta di Consegna) ouMC(Mancata Consegna). Não chame para os statusNS,EC,SEouDT.
Requer: plano Basic+ com integração SdI ativa.
Exemplos de Uso
Gerar uma Fatura Italiana Simples (Somente XML)
Pergunte ao seu assistente de IA:
"Crie uma fatura FatturaPA para 1000€ + 22% de IVA para Rossi SRL (IVA IT12345678901, Milão). Minha empresa é Bianchi SRL (IVA IT98765432109, Roma), usando pagamento por transferência bancária para IBAN IT60X0542811101000000123456."
Enviar Fatura para o SdI
"Crie e envie para o SdI uma fatura #45 para serviços de consultoria, 500€ + 22% de IVA para o cliente Mario Rossi (código fiscal RSSMRA80A01H501U) em Roma."
Verificar Status da Fatura Após o Envio
"Qual é o status da fatura SdI com UUID abc123-def456-...?"
Gerar PDF com Entrega por E-mail
"Crie uma fatura em PDF para o pedido #123 e envie por e-mail para customer@example.com."
Verificar Documento SdI Antes do Envio
"Verifique o documento SdI com UUID abc123-... para conformidade antes do envio."
Requisitos do Plano
| Recurso | Free | Basic/Growth | Pro |
|---|---|---|---|
| Geração de XML (local) | ✅ | ✅ | ✅ |
| Geração de PDF | ✅ | ✅ | ✅ |
| Envio SdI | ❌ | ✅ | ✅ |
| Envio Peppol | ❌ | ✅ | ✅ |
| Entrega de PDF por e-mail | ❌ | ✅ | ✅ |
| Verificação de documento SdI | ❌ | ✅ | ✅ |
| Preservação de documentos | ❌ | ✅ | ✅ |
Testes
MCP Inspector (Interativo)
npm run inspector
# or
npx @modelcontextprotocol/inspector dist/cli.js
Teste Rápido de Fumaça
POP_API_KEY=your_key node -e "
import('./dist/cli.js').catch(e => {
if (e.message.includes('stdin')) process.exit(0);
console.error(e); process.exit(1);
});
"
Listagem de Esquema da Ferramenta de Teste
echo '{"jsonrpc":"2.0","id":1,"method":"tools/list","params":{}}' | POP_API_KEY=test node dist/cli.js
Desenvolvimento
# Run with auto-reload
npm run dev
# Build
npm run build
# Clean build artifacts
npm run clean
Estrutura de Dados da Fatura
O parâmetro data para criação de fatura segue a estrutura FatturaPA:
data
├── id Invoice/order ID (numeric)
├── filename Output filename without extension (e.g. 'IT99900088876_00009')
├── type "invoice" | "credit_note"
├── version "FPR12" | "FPA12"
├── sdi_type 7-char SDI code ('0000000' for private individuals)
├── customer_type "private" | "company" | "freelance" | "pa"
├── nature VAT exemption code (required when rate is 0%, e.g. 'N2.1', 'N6.1')
├── transmitter_data
│ ├── transmitter_id { country_id, id_code }
│ ├── progressive Transmission progressive ID (e.g. '00001')
│ ├── transmitter_format "FPR12" | "FPA12"
│ ├── sdi_code 7-char code
│ ├── transmitter_contact { phone, email }
│ └── recipient_pec PEC email (alternative to sdi_code)
├── transfer_lender Supplier/seller
│ ├── personal_data { tax_id_vat: { country_id, id_code, tax_regime }, company_name }
│ ├── place { address, zip_code, city, province_id, country_id }
│ └── contact { phone, email }
├── transferee_client Customer/buyer
│ ├── personal_data { tax_id_vat, tax_id_code (fiscal code for IT private), company_name }
│ └── place { address, zip_code, city, province_id, country_id }
├── invoice_body
│ ├── general_data { doc_type (TD01|TD04), date (YYYY-MM-DD), invoice_number, currency }
│ └── total_document_amount
├── order_items[]
│ ├── description, quantity, unit
│ ├── unit_price, total_price
│ ├── rate VAT rate as string (e.g. '22.00')
│ ├── total_tax VAT amount (number)
│ └── item_type "product" | "shipping" | "fee"
├── payment_data
│ ├── terms_payment TP01 (instalment) | TP02 (full) | TP03 (advance)
│ ├── payment_details MP01 (Cash) | MP02 (Check) | MP05 (Bank Transfer) | MP08 (Credit Card) | ...
│ ├── payment_amount
│ ├── beneficiary Required for MP05 (bank transfer)
│ ├── financial_institution Required for MP05
│ └── iban Required for MP05
├── purchase_order_data (optional) { id, date }
├── connected_invoice_data[] (required for credit notes) { id, date }
├── overrides (optional) { language, bollo_force_apply }
└── pdf (only for pop_create_pdf_invoice)
├── doc_type_title
├── logo_url
├── head { store_info_address, billing[], shipping[] }
├── total_tax
├── email_invoice { to[] (max 3), from }
└── footer_text
Referência de Erros
| Código de Erro | Significado | Solução |
|---|---|---|
unauthorized_user | Chave de licença inválida | Verifique POP_API_KEY |
insufficient_level | Plano muito baixo | Faça upgrade do plano POP |
business_not_registered | Nenhum perfil de empresa | Registre-se em popapi.io |
integration_inactive | SdI/Peppol não habilitado | Ative em popapi.io |
pop_api_email_limit | >3 destinatários de e-mail | Reduza para no máximo 3 |
pop_api_email_not_allowed | O plano não permite e-mail | Faça upgrade para Basic+ |
Projetos Relacionados
- n8n-nodes-pop — nós da comunidade n8n para POP
- POP — Site oficial
- Documentação da API — Documentação do Postman
Licença
MIT © getpopapi