Class: Einvoicing::Connect::FR::Pennylane::Client
- Inherits:
-
Object
- Object
- Einvoicing::Connect::FR::Pennylane::Client
- Defined in:
- lib/einvoicing/connect/fr/pennylane/client.rb
Constant Summary collapse
- BASE_URL =
"https://app.pennylane.com/api/external/v2"- SANDBOX_URL =
"https://sandbox.pennylane.com/api/external/v2"- OAUTH_TOKEN_PATH =
"/oauth/token"- OAUTH_BASE_URL =
"https://app.pennylane.com"- OAUTH_SANDBOX_URL =
"https://sandbox.pennylane.com"
Instance Method Summary collapse
-
#initialize(credentials:, sandbox: false) ⇒ Client
constructor
A new instance of Client.
-
#invoice_status(id) ⇒ Object
Get invoice status by Pennylane invoice ID.
-
#submit_einvoice(facturx_pdf, filename: "factur-x.pdf", invoice_options: nil) ⇒ Object
Submit a Factur-X PDF binary to the e-invoice import endpoint.
Constructor Details
#initialize(credentials:, sandbox: false) ⇒ Client
Returns a new instance of Client.
20 21 22 23 24 |
# File 'lib/einvoicing/connect/fr/pennylane/client.rb', line 20 def initialize(credentials:, sandbox: false) @credentials = credentials @base_url = sandbox ? SANDBOX_URL : BASE_URL @oauth_base = sandbox ? OAUTH_SANDBOX_URL : OAUTH_BASE_URL end |
Instance Method Details
#invoice_status(id) ⇒ Object
Get invoice status by Pennylane invoice ID.
35 36 37 |
# File 'lib/einvoicing/connect/fr/pennylane/client.rb', line 35 def invoice_status(id) get("/customer_invoices/#{id}") end |
#submit_einvoice(facturx_pdf, filename: "factur-x.pdf", invoice_options: nil) ⇒ Object
Submit a Factur-X PDF binary to the e-invoice import endpoint. invoice_options: optional Hash pre-filling customer/line data.
28 29 30 31 32 |
# File 'lib/einvoicing/connect/fr/pennylane/client.rb', line 28 def submit_einvoice(facturx_pdf, filename: "factur-x.pdf", invoice_options: nil) post_multipart("/customer_invoices/e_invoices/imports", file: facturx_pdf, filename: filename, invoice_options: ) end |