Class: TemplateFox::PDFApi
- Inherits:
-
Object
- Object
- TemplateFox::PDFApi
- Defined in:
- lib/templatefox/api/pdf_api.rb
Instance Attribute Summary collapse
-
#api_client ⇒ Object
Returns the value of attribute api_client.
Instance Method Summary collapse
-
#create_pdf(create_pdf_request, opts = {}) ⇒ CreatePdfResponse
Generate PDF from template Generate a PDF from a saved template with dynamic data.
-
#create_pdf_with_http_info(create_pdf_request, opts = {}) ⇒ Array<(CreatePdfResponse, Integer, Hash)>
Generate PDF from template Generate a PDF from a saved template with dynamic data.
-
#initialize(api_client = ApiClient.default) ⇒ PDFApi
constructor
A new instance of PDFApi.
Constructor Details
Instance Attribute Details
#api_client ⇒ Object
Returns the value of attribute api_client.
17 18 19 |
# File 'lib/templatefox/api/pdf_api.rb', line 17 def api_client @api_client end |
Instance Method Details
#create_pdf(create_pdf_request, opts = {}) ⇒ CreatePdfResponse
Generate PDF from template Generate a PDF from a saved template with dynamic data. Authentication: API Key required (‘x-api-key` header) ## Request Body | Field | Type | Required | Description | |——-|——|———-|————-| | `template_id` | string | ✅ Yes | Template short ID (12 characters) | | `data` | object | ✅ Yes | Key-value data to render in template | | `export_type` | string | No | `url` (default) or `binary` | | `expiration` | integer | No | URL expiration in seconds (60-604800, default: 86400) | ## Export Types - `url` (default): PDF is uploaded to CDN, returns JSON with URL - `binary`: Returns raw PDF bytes directly Credits: 1 credit deducted per successful generation. **Rate Limits:** 60 requests/min (free), 120 requests/min (paid). Headers included in response.
27 28 29 30 |
# File 'lib/templatefox/api/pdf_api.rb', line 27 def create_pdf(create_pdf_request, opts = {}) data, _status_code, _headers = create_pdf_with_http_info(create_pdf_request, opts) data end |
#create_pdf_with_http_info(create_pdf_request, opts = {}) ⇒ Array<(CreatePdfResponse, Integer, Hash)>
Generate PDF from template Generate a PDF from a saved template with dynamic data. Authentication: API Key required (`x-api-key` header) ## Request Body | Field | Type | Required | Description | |——-|——|———-|————-| | `template_id` | string | ✅ Yes | Template short ID (12 characters) | | `data` | object | ✅ Yes | Key-value data to render in template | | `export_type` | string | No | `url` (default) or `binary` | | `expiration` | integer | No | URL expiration in seconds (60-604800, default: 86400) | ## Export Types - `url` (default): PDF is uploaded to CDN, returns JSON with URL - `binary`: Returns raw PDF bytes directly Credits: 1 credit deducted per successful generation. **Rate Limits:** 60 requests/min (free), 120 requests/min (paid). Headers included in response.
37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 |
# File 'lib/templatefox/api/pdf_api.rb', line 37 def create_pdf_with_http_info(create_pdf_request, opts = {}) if @api_client.config.debugging @api_client.config.logger.debug 'Calling API: PDFApi.create_pdf ...' end # verify the required parameter 'create_pdf_request' is set if @api_client.config.client_side_validation && create_pdf_request.nil? fail ArgumentError, "Missing the required parameter 'create_pdf_request' when calling PDFApi.create_pdf" end # resource path local_var_path = '/v1/pdf/create' # query parameters query_params = opts[:query_params] || {} # header parameters header_params = opts[:header_params] || {} # HTTP header 'Accept' (if needed) header_params['Accept'] = @api_client.select_header_accept(['application/json', 'application/pdf']) unless header_params['Accept'] # HTTP header 'Content-Type' content_type = @api_client.select_header_content_type(['application/json']) if !content_type.nil? header_params['Content-Type'] = content_type end # form parameters form_params = opts[:form_params] || {} # http body (model) post_body = opts[:debug_body] || @api_client.object_to_http_body(create_pdf_request) # return_type return_type = opts[:debug_return_type] || 'CreatePdfResponse' # auth_names auth_names = opts[:debug_auth_names] || ['ApiKeyAuth'] = opts.merge( :operation => :"PDFApi.create_pdf", :header_params => header_params, :query_params => query_params, :form_params => form_params, :body => post_body, :auth_names => auth_names, :return_type => return_type ) data, status_code, headers = @api_client.call_api(:POST, local_var_path, ) if @api_client.config.debugging @api_client.config.logger.debug "API called: PDFApi#create_pdf\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end return data, status_code, headers end |