lockstep_sdk 2022.4.32.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (94) hide show
  1. checksums.yaml +7 -0
  2. data/lib/lockstep_sdk/clients/activities_client.rb +119 -0
  3. data/lib/lockstep_sdk/clients/api_keys_client.rb +78 -0
  4. data/lib/lockstep_sdk/clients/app_enrollments_client.rb +121 -0
  5. data/lib/lockstep_sdk/clients/applications_client.rb +100 -0
  6. data/lib/lockstep_sdk/clients/attachments_client.rb +121 -0
  7. data/lib/lockstep_sdk/clients/code_definitions_client.rb +60 -0
  8. data/lib/lockstep_sdk/clients/companies_client.rb +123 -0
  9. data/lib/lockstep_sdk/clients/contacts_client.rb +90 -0
  10. data/lib/lockstep_sdk/clients/credit_memo_applied_client.rb +92 -0
  11. data/lib/lockstep_sdk/clients/currencies_client.rb +55 -0
  12. data/lib/lockstep_sdk/clients/custom_field_definitions_client.rb +94 -0
  13. data/lib/lockstep_sdk/clients/custom_field_values_client.rb +97 -0
  14. data/lib/lockstep_sdk/clients/definitions_client.rb +95 -0
  15. data/lib/lockstep_sdk/clients/emails_client.rb +108 -0
  16. data/lib/lockstep_sdk/clients/invoice_history_client.rb +56 -0
  17. data/lib/lockstep_sdk/clients/invoices_client.rb +126 -0
  18. data/lib/lockstep_sdk/clients/leads_client.rb +40 -0
  19. data/lib/lockstep_sdk/clients/notes_client.rb +84 -0
  20. data/lib/lockstep_sdk/clients/payment_applications_client.rb +92 -0
  21. data/lib/lockstep_sdk/clients/payments_client.rb +138 -0
  22. data/lib/lockstep_sdk/clients/provisioning_client.rb +56 -0
  23. data/lib/lockstep_sdk/clients/reports_client.rb +114 -0
  24. data/lib/lockstep_sdk/clients/status_client.rb +53 -0
  25. data/lib/lockstep_sdk/clients/sync_client.rb +97 -0
  26. data/lib/lockstep_sdk/clients/user_accounts_client.rb +127 -0
  27. data/lib/lockstep_sdk/clients/user_roles_client.rb +54 -0
  28. data/lib/lockstep_sdk/lockstep_api.rb +264 -0
  29. data/lib/lockstep_sdk/models/activity_model.rb +221 -0
  30. data/lib/lockstep_sdk/models/activity_stream_item_model.rb +104 -0
  31. data/lib/lockstep_sdk/models/activity_xref_model.rb +72 -0
  32. data/lib/lockstep_sdk/models/aging_model.rb +62 -0
  33. data/lib/lockstep_sdk/models/api_key_model.rb +116 -0
  34. data/lib/lockstep_sdk/models/app_enrollment_custom_field_model.rb +110 -0
  35. data/lib/lockstep_sdk/models/app_enrollment_model.rb +151 -0
  36. data/lib/lockstep_sdk/models/application_model.rb +166 -0
  37. data/lib/lockstep_sdk/models/ar_aging_header_info_model.rb +86 -0
  38. data/lib/lockstep_sdk/models/ar_header_info_model.rb +170 -0
  39. data/lib/lockstep_sdk/models/at_risk_invoice_summary_model.rb +140 -0
  40. data/lib/lockstep_sdk/models/attachment_header_info_model.rb +74 -0
  41. data/lib/lockstep_sdk/models/attachment_model.rb +122 -0
  42. data/lib/lockstep_sdk/models/bulk_currency_conversion_model.rb +56 -0
  43. data/lib/lockstep_sdk/models/cashflow_report_model.rb +74 -0
  44. data/lib/lockstep_sdk/models/code_definition_model.rb +99 -0
  45. data/lib/lockstep_sdk/models/company_model.rb +336 -0
  46. data/lib/lockstep_sdk/models/connector_info_model.rb +69 -0
  47. data/lib/lockstep_sdk/models/contact_model.rb +227 -0
  48. data/lib/lockstep_sdk/models/country_model.rb +116 -0
  49. data/lib/lockstep_sdk/models/credit_memo_applied_model.rb +150 -0
  50. data/lib/lockstep_sdk/models/credit_memo_invoice_model.rb +116 -0
  51. data/lib/lockstep_sdk/models/currency_model.rb +74 -0
  52. data/lib/lockstep_sdk/models/currency_rate_model.rb +68 -0
  53. data/lib/lockstep_sdk/models/custom_field_definition_model.rb +121 -0
  54. data/lib/lockstep_sdk/models/custom_field_value_model.rb +115 -0
  55. data/lib/lockstep_sdk/models/customer_details_model.rb +164 -0
  56. data/lib/lockstep_sdk/models/customer_details_payment_model.rb +104 -0
  57. data/lib/lockstep_sdk/models/customer_summary_model.rb +134 -0
  58. data/lib/lockstep_sdk/models/daily_sales_outstanding_report_model.rb +62 -0
  59. data/lib/lockstep_sdk/models/developer_account_submit_model.rb +62 -0
  60. data/lib/lockstep_sdk/models/email_model.rb +245 -0
  61. data/lib/lockstep_sdk/models/erp_info_data_model.rb +63 -0
  62. data/lib/lockstep_sdk/models/erp_info_model.rb +56 -0
  63. data/lib/lockstep_sdk/models/erp_model.rb +62 -0
  64. data/lib/lockstep_sdk/models/invite_data_model.rb +56 -0
  65. data/lib/lockstep_sdk/models/invite_model.rb +68 -0
  66. data/lib/lockstep_sdk/models/invite_submit_model.rb +50 -0
  67. data/lib/lockstep_sdk/models/invoice_address_model.rb +140 -0
  68. data/lib/lockstep_sdk/models/invoice_history_model.rb +238 -0
  69. data/lib/lockstep_sdk/models/invoice_line_model.rb +194 -0
  70. data/lib/lockstep_sdk/models/invoice_model.rb +325 -0
  71. data/lib/lockstep_sdk/models/invoice_payment_detail_model.rb +104 -0
  72. data/lib/lockstep_sdk/models/invoice_summary_model.rb +134 -0
  73. data/lib/lockstep_sdk/models/lead_model.rb +74 -0
  74. data/lib/lockstep_sdk/models/note_model.rb +121 -0
  75. data/lib/lockstep_sdk/models/payment_applied_model.rb +131 -0
  76. data/lib/lockstep_sdk/models/payment_detail_header_model.rb +80 -0
  77. data/lib/lockstep_sdk/models/payment_detail_model.rb +176 -0
  78. data/lib/lockstep_sdk/models/payment_model.rb +206 -0
  79. data/lib/lockstep_sdk/models/payment_summary_model.rb +128 -0
  80. data/lib/lockstep_sdk/models/provisioning_finalize_request_model.rb +74 -0
  81. data/lib/lockstep_sdk/models/provisioning_model.rb +74 -0
  82. data/lib/lockstep_sdk/models/provisioning_response_model.rb +86 -0
  83. data/lib/lockstep_sdk/models/risk_rate_model.rb +98 -0
  84. data/lib/lockstep_sdk/models/state_model.rb +62 -0
  85. data/lib/lockstep_sdk/models/status_model.rb +128 -0
  86. data/lib/lockstep_sdk/models/sync_entity_result_model.rb +74 -0
  87. data/lib/lockstep_sdk/models/sync_request_model.rb +98 -0
  88. data/lib/lockstep_sdk/models/sync_submit_model.rb +50 -0
  89. data/lib/lockstep_sdk/models/transfer_owner_model.rb +56 -0
  90. data/lib/lockstep_sdk/models/transfer_owner_submit_model.rb +50 -0
  91. data/lib/lockstep_sdk/models/user_account_model.rb +240 -0
  92. data/lib/lockstep_sdk/models/user_role_model.rb +86 -0
  93. data/lib/lockstep_sdk/version.rb +3 -0
  94. metadata +150 -0
@@ -0,0 +1,95 @@
1
+ #
2
+ # Lockstep Software Development Kit for Ruby
3
+ #
4
+ # (c) 2021-2022 Lockstep, Inc.
5
+ #
6
+ # For the full copyright and license information, please view the LICENSE
7
+ # file that was distributed with this source code.
8
+ #
9
+ # @author Ted Spence <tspence@lockstep.io>
10
+ # @author Manish Narayan B S <manish.n@lockstep.io>
11
+ # @author Rishi Rajkumar Jawahar <rjawahar@lockstep.io>
12
+ # @copyright 2021-2022 Lockstep, Inc.
13
+ # @version 2022.4
14
+ # @link https://github.com/Lockstep-Network/lockstep-sdk-ruby
15
+ #
16
+
17
+
18
+ require 'awrence'
19
+
20
+ class DefinitionsClient
21
+
22
+ ##
23
+ # Initialize the DefinitionsClient class with a lockstepsdk instance.
24
+ # @param lockstepsdk [LockstepApi] The Lockstep API client object for this connection
25
+ def initialize(lockstepsdk)
26
+ @lockstepsdk = lockstepsdk
27
+ end
28
+
29
+
30
+ ##
31
+ # Queries the ISO3166 List of Countries using the specified filtering, sorting, nested fetch, and pagination rules requested.
32
+ #
33
+ # More information on querying can be found on the [Searchlight Query Language](https://developer.lockstep.io/docs/querying-with-searchlight) page on the Lockstep Developer website. Your program may want to show a list of countries. The ISO maintains a list of countries called [ISO3166](https://www.iso.org/iso-3166-country-codes.html). For convenience, this list is available in the API.
34
+ #
35
+ # @param filter [string] The filter for this query. See [Searchlight Query Language](https://developer.lockstep.io/docs/querying-with-searchlight)
36
+ # @param include_param [string] To fetch additional data on this object, specify the list of elements to retrieve. No collections are currently available, but may be offered in the future.
37
+ # @param order [string] The sort order for this query. See See [Searchlight Query Language](https://developer.lockstep.io/docs/querying-with-searchlight)
38
+ # @param page_size [int32] The page size for results (default 200). See [Searchlight Query Language](https://developer.lockstep.io/docs/querying-with-searchlight)
39
+ # @param page_number [int32] The page number for results (default 0). See [Searchlight Query Language](https://developer.lockstep.io/docs/querying-with-searchlight)
40
+ def query_countries(filter:, include_param:, order:, page_size:, page_number:)
41
+ path = "/api/v1/Definitions/countries"
42
+ params = {:filter => filter, :include => include_param, :order => order, :pageSize => page_size, :pageNumber => page_number}
43
+ @lockstepsdk.request(:get, path, nil, params)
44
+ end
45
+
46
+ ##
47
+ # Queries Currencies on the Lockstep Platform using the specified filtering, sorting, nested fetch, and pagination rules requested.
48
+ #
49
+ # More information on querying can be found on the [Searchlight Query Language](https://developer.lockstep.io/docs/querying-with-searchlight) page on the Lockstep Developer website.
50
+ #
51
+ # Your app may wish to make use of a reference list that contains names and attributes for all ISO-4217 defined currency codes. This information is provided via a query endpoint so that you can use this API to provide a user selection screen.
52
+ #
53
+ # @param filter [string] The filter for this query. See [Searchlight Query Language](https://developer.lockstep.io/docs/querying-with-searchlight)
54
+ # @param include_param [string] To fetch additional data on this object, specify the list of elements to retrieve. No collections are currently available, but may be offered in the future.
55
+ # @param order [string] The sort order for this query. See See [Searchlight Query Language](https://developer.lockstep.io/docs/querying-with-searchlight)
56
+ # @param page_size [int32] The page size for results (default 200). See [Searchlight Query Language](https://developer.lockstep.io/docs/querying-with-searchlight)
57
+ # @param page_number [int32] The page number for results (default 0). See [Searchlight Query Language](https://developer.lockstep.io/docs/querying-with-searchlight)
58
+ def query_currencies(filter:, include_param:, order:, page_size:, page_number:)
59
+ path = "/api/v1/Definitions/currencies"
60
+ params = {:filter => filter, :include => include_param, :order => order, :pageSize => page_size, :pageNumber => page_number}
61
+ @lockstepsdk.request(:get, path, nil, params)
62
+ end
63
+
64
+ ##
65
+ # Queries the list of States in the United States using the specified filtering, sorting, nested fetch, and pagination rules requested.
66
+ #
67
+ # More information on querying can be found on the [Searchlight Query Language](https://developer.lockstep.io/docs/querying-with-searchlight) page on the Lockstep Developer website. Your app may wish to make use of a reference list that contains names and codes for all states in the United States. This information is provided for the United States since many financial systems require mailing addresses that use codes for states.
68
+ #
69
+ # @param filter [string] The filter for this query. See [Searchlight Query Language](https://developer.lockstep.io/docs/querying-with-searchlight)
70
+ # @param include_param [string] To fetch additional data on this object, specify the list of elements to retrieve. No collections are currently available, but may be offered in the future.
71
+ # @param order [string] The sort order for this query. See See [Searchlight Query Language](https://developer.lockstep.io/docs/querying-with-searchlight)
72
+ # @param page_size [int32] The page size for results (default 200). See [Searchlight Query Language](https://developer.lockstep.io/docs/querying-with-searchlight)
73
+ # @param page_number [int32] The page number for results (default 0). See [Searchlight Query Language](https://developer.lockstep.io/docs/querying-with-searchlight)
74
+ def query_states(filter:, include_param:, order:, page_size:, page_number:)
75
+ path = "/api/v1/Definitions/states"
76
+ params = {:filter => filter, :include => include_param, :order => order, :pageSize => page_size, :pageNumber => page_number}
77
+ @lockstepsdk.request(:get, path, nil, params)
78
+ end
79
+
80
+ ##
81
+ # Queries a list of financial systems using the specified filtering, sorting, nested fetch, and pagination rules requested.
82
+ #
83
+ # More information on querying can be found on the [Searchlight Query Language](https://developer.lockstep.io/docs/querying-with-searchlight) page on the Lockstep Developer website. Lockstep provides a list of financial systems that may be useful as a selection screen that allows customers to select from a list. You can query these items by name or attributes and use this data source to help users complete a selection.
84
+ #
85
+ # @param filter [string] The filter for this query. See [Searchlight Query Language](https://developer.lockstep.io/docs/querying-with-searchlight)
86
+ # @param include_param [string] To fetch additional data on this object, specify the list of elements to retrieve. No collections are currently available, but may be offered in the future.
87
+ # @param order [string] The sort order for this query. See See [Searchlight Query Language](https://developer.lockstep.io/docs/querying-with-searchlight)
88
+ # @param page_size [int32] The page size for results (default 200). See [Searchlight Query Language](https://developer.lockstep.io/docs/querying-with-searchlight)
89
+ # @param page_number [int32] The page number for results (default 0). See [Searchlight Query Language](https://developer.lockstep.io/docs/querying-with-searchlight)
90
+ def query_financial_systems(filter:, include_param:, order:, page_size:, page_number:)
91
+ path = "/api/v1/Definitions/financialsystems"
92
+ params = {:filter => filter, :include => include_param, :order => order, :pageSize => page_size, :pageNumber => page_number}
93
+ @lockstepsdk.request(:get, path, nil, params)
94
+ end
95
+ end
@@ -0,0 +1,108 @@
1
+ #
2
+ # Lockstep Software Development Kit for Ruby
3
+ #
4
+ # (c) 2021-2022 Lockstep, Inc.
5
+ #
6
+ # For the full copyright and license information, please view the LICENSE
7
+ # file that was distributed with this source code.
8
+ #
9
+ # @author Ted Spence <tspence@lockstep.io>
10
+ # @author Manish Narayan B S <manish.n@lockstep.io>
11
+ # @author Rishi Rajkumar Jawahar <rjawahar@lockstep.io>
12
+ # @copyright 2021-2022 Lockstep, Inc.
13
+ # @version 2022.4
14
+ # @link https://github.com/Lockstep-Network/lockstep-sdk-ruby
15
+ #
16
+
17
+
18
+ require 'awrence'
19
+
20
+ class EmailsClient
21
+
22
+ ##
23
+ # Initialize the EmailsClient class with a lockstepsdk instance.
24
+ # @param lockstepsdk [LockstepApi] The Lockstep API client object for this connection
25
+ def initialize(lockstepsdk)
26
+ @lockstepsdk = lockstepsdk
27
+ end
28
+
29
+
30
+ ##
31
+ # Retrieves the email with the specified email identifier.
32
+ #
33
+ # An Email represents a communication sent from one company to another. The creator of the email is identified by the `CompanyId` field, recipient(s) by the `EmailTo` field, and cc recipient(s) by the 'EmailCC' field. The Email Model represents an email and a number of different metadata attributes related to the creation, storage, and ownership of the email.
34
+ #
35
+ # @param id [uuid] The unique ID number of the Email to retrieve.
36
+ # @param include_param [string] To fetch additional data on this object, specify the list of elements to retrieve. Available collections: Attachments, CustomFields, Notes, ResponseOrigin
37
+ def retrieve_email(id:, include_param:)
38
+ path = "/api/v1/Emails/#{id}"
39
+ params = {:include => include_param}
40
+ @lockstepsdk.request(:get, path, nil, params)
41
+ end
42
+
43
+ ##
44
+ # Updates an existing Email with the information supplied to this PATCH call.
45
+ #
46
+ # The PATCH method allows you to change specific values on the object while leaving other values alone. As input you should supply a list of field names and new values. If you do not provide the name of a field, that field will remain unchanged. This allows you to ensure that you are only updating the specific fields desired.
47
+ #
48
+ # An Email represents a communication sent from one company to another. The creator of the email is identified by the `CompanyId` field, recipient(s) by the `EmailTo` field, and cc recipient(s) by the 'EmailCC' field. The Email Model represents an email and a number of different metadata attributes related to the creation, storage, and ownership of the email.
49
+ #
50
+ # @param id [uuid] The unique Lockstep Platform ID number of the email to update
51
+ # @param body [object] A list of changes to apply to this Email
52
+ def update_email(id:, body:)
53
+ path = "/api/v1/Emails/#{id}"
54
+ @lockstepsdk.request(:patch, path, body.to_camelback_keys.to_json, nil)
55
+ end
56
+
57
+ ##
58
+ # Deletes the Email referred to by this unique identifier.
59
+ #
60
+ # An Email represents a communication sent from one company to another. The creator of the email is identified by the `CompanyId` field, recipient(s) by the `EmailTo` field, and cc recipient(s) by the 'EmailCC' field. The Email Model represents an email and a number of different metadata attributes related to the creation, storage, and ownership of the email.
61
+ #
62
+ # @param id [uuid] The unique Lockstep Platform ID number of the Email to delete
63
+ def delete_email(id:)
64
+ path = "/api/v1/Emails/#{id}"
65
+ @lockstepsdk.request(:delete, path, nil, nil)
66
+ end
67
+
68
+ ##
69
+ # Retrieves a signature logo for the email with the specified identifier and increments 'ViewCount'.
70
+ #
71
+ # An Email represents a communication sent from one company to another. The creator of the email is identified by the `CompanyId` field, recipient(s) by the `EmailTo` field, and cc recipient(s) by the 'EmailCC' field. The Email Model represents an email and a number of different metadata attributes related to the creation, storage, and ownership of the email.
72
+ #
73
+ # @param email_id [uuid] The unique ID number of the Email to retrieve.
74
+ # @param nonce [uuid] The random nonce applied at time of url creation.
75
+ def retrieve_email_logo(email_id:, nonce:)
76
+ path = "/api/v1/Emails/#{emailId}/logo/#{nonce}"
77
+ @lockstepsdk.request(:get, path, nil, nil)
78
+ end
79
+
80
+ ##
81
+ # Creates one or more emails from the specified array of Email Models
82
+ #
83
+ # An Email represents a communication sent from one company to another. The creator of the email is identified by the `CompanyId` field, recipient(s) by the `EmailTo` field, and cc recipient(s) by the 'EmailCC' field. The Email Model represents an email and a number of different metadata attributes related to the creation, storage, and ownership of the email.
84
+ #
85
+ # @param body [EmailModel] The array of emails to be created
86
+ def create_emails(body:)
87
+ path = "/api/v1/Emails"
88
+ @lockstepsdk.request(:post, path, body, nil)
89
+ end
90
+
91
+ ##
92
+ # Queries Emails on the Lockstep Platform using the specified filtering, sorting, nested fetch, and pagination rules requested.
93
+ #
94
+ # More information on querying can be found on the [Searchlight Query Language](https://developer.lockstep.io/docs/querying-with-searchlight) page on the Lockstep Developer website.
95
+ #
96
+ # An Email represents a communication sent from one company to another. The creator of the email is identified by the `CompanyId` field, recipient(s) by the `EmailTo` field, and cc recipient(s) by the 'EmailCC' field. The Email Model represents an email and a number of different metadata attributes related to the creation, storage, and ownership of the email.
97
+ #
98
+ # @param filter [string] The filter to use to select from the list of available applications, in the [Searchlight query syntax](https://github.com/tspence/csharp-searchlight).
99
+ # @param include_param [string] To fetch additional data on this object, specify the list of elements to retrieve. Available collections: Attachments, CustomFields, Notes, ResponseOrigin
100
+ # @param order [string] The sort order for the results, in the [Searchlight order syntax](https://github.com/tspence/csharp-searchlight).
101
+ # @param page_size [int32] The page size for results (default 200). See [Searchlight Query Language](https://developer.lockstep.io/docs/querying-with-searchlight)
102
+ # @param page_number [int32] The page number for results (default 0). See [Searchlight Query Language](https://developer.lockstep.io/docs/querying-with-searchlight)
103
+ def query_emails(filter:, include_param:, order:, page_size:, page_number:)
104
+ path = "/api/v1/Emails/query"
105
+ params = {:filter => filter, :include => include_param, :order => order, :pageSize => page_size, :pageNumber => page_number}
106
+ @lockstepsdk.request(:get, path, nil, params)
107
+ end
108
+ end
@@ -0,0 +1,56 @@
1
+ #
2
+ # Lockstep Software Development Kit for Ruby
3
+ #
4
+ # (c) 2021-2022 Lockstep, Inc.
5
+ #
6
+ # For the full copyright and license information, please view the LICENSE
7
+ # file that was distributed with this source code.
8
+ #
9
+ # @author Ted Spence <tspence@lockstep.io>
10
+ # @author Manish Narayan B S <manish.n@lockstep.io>
11
+ # @author Rishi Rajkumar Jawahar <rjawahar@lockstep.io>
12
+ # @copyright 2021-2022 Lockstep, Inc.
13
+ # @version 2022.4
14
+ # @link https://github.com/Lockstep-Network/lockstep-sdk-ruby
15
+ #
16
+
17
+
18
+ require 'awrence'
19
+
20
+ class InvoiceHistoryClient
21
+
22
+ ##
23
+ # Initialize the InvoiceHistoryClient class with a lockstepsdk instance.
24
+ # @param lockstepsdk [LockstepApi] The Lockstep API client object for this connection
25
+ def initialize(lockstepsdk)
26
+ @lockstepsdk = lockstepsdk
27
+ end
28
+
29
+
30
+ ##
31
+ # Retrieves the history of the Invoice specified by this unique identifier.
32
+ #
33
+ # An Invoice represents a bill sent from one company to another. The Lockstep Platform tracks changes to each Invoice so that you can observe the changes over time. You can view the InvoiceHistory list to monitor and observe the changes of this Invoice and track the dates when changes occurred.
34
+ #
35
+ # @param id [uuid] The unique Lockstep Platform ID number of this invoice; NOT the customer's ERP key
36
+ def retrieve_invoice_history(id:)
37
+ path = "/api/v1/InvoiceHistory/#{id}"
38
+ @lockstepsdk.request(:get, path, nil, nil)
39
+ end
40
+
41
+ ##
42
+ # Queries Invoice History for this account using the specified filtering, sorting, and pagination rules requested.
43
+ #
44
+ # An Invoice represents a bill sent from one company to another. The Lockstep Platform tracks changes to each Invoice so that you can observe the changes over time. You can view the InvoiceHistory list to monitor and observe the changes of this Invoice and track the dates when changes occurred.
45
+ #
46
+ # @param filter [string] The filter for this query. See [Searchlight Query Language](https://developer.lockstep.io/docs/querying-with-searchlight)
47
+ # @param include_param [string] To fetch additional data on this object, specify the list of elements to retrieve. No collections are currently available for querying but may be available in the future.
48
+ # @param order [string] The sort order for this query. See See [Searchlight Query Language](https://developer.lockstep.io/docs/querying-with-searchlight)
49
+ # @param page_size [int32] The page size for results (default 200). See [Searchlight Query Language](https://developer.lockstep.io/docs/querying-with-searchlight)
50
+ # @param page_number [int32] The page number for results (default 0). See [Searchlight Query Language](https://developer.lockstep.io/docs/querying-with-searchlight)
51
+ def query_invoice_history(filter:, include_param:, order:, page_size:, page_number:)
52
+ path = "/api/v1/InvoiceHistory/query"
53
+ params = {:filter => filter, :include => include_param, :order => order, :pageSize => page_size, :pageNumber => page_number}
54
+ @lockstepsdk.request(:get, path, nil, params)
55
+ end
56
+ end
@@ -0,0 +1,126 @@
1
+ #
2
+ # Lockstep Software Development Kit for Ruby
3
+ #
4
+ # (c) 2021-2022 Lockstep, Inc.
5
+ #
6
+ # For the full copyright and license information, please view the LICENSE
7
+ # file that was distributed with this source code.
8
+ #
9
+ # @author Ted Spence <tspence@lockstep.io>
10
+ # @author Manish Narayan B S <manish.n@lockstep.io>
11
+ # @author Rishi Rajkumar Jawahar <rjawahar@lockstep.io>
12
+ # @copyright 2021-2022 Lockstep, Inc.
13
+ # @version 2022.4
14
+ # @link https://github.com/Lockstep-Network/lockstep-sdk-ruby
15
+ #
16
+
17
+
18
+ require 'awrence'
19
+
20
+ class InvoicesClient
21
+
22
+ ##
23
+ # Initialize the InvoicesClient class with a lockstepsdk instance.
24
+ # @param lockstepsdk [LockstepApi] The Lockstep API client object for this connection
25
+ def initialize(lockstepsdk)
26
+ @lockstepsdk = lockstepsdk
27
+ end
28
+
29
+
30
+ ##
31
+ # Retrieves the Invoice specified by this unique identifier, optionally including nested data sets.
32
+ #
33
+ # An Invoice represents a bill sent from one company to another. The creator of the invoice is identified by the `CompanyId` field, and the recipient of the invoice is identified by the `CustomerId` field. Most invoices are uniquely identified both by a Lockstep Platform ID number and a customer ERP "key" that was generated by the system that originated the invoice. Invoices have a total amount and a due date, and when some payments have been made on the Invoice the `TotalAmount` and the `OutstandingBalanceAmount` may be different.
34
+ #
35
+ # @param id [uuid] The unique Lockstep Platform ID number of this invoice; NOT the customer's ERP key
36
+ # @param include_param [string] To fetch additional data on this object, specify the list of elements to retrieve. Available collections: Addresses, Lines, Payments, Notes, Attachments, Company, Customer, CustomFields, CreditMemos
37
+ def retrieve_invoice(id:, include_param:)
38
+ path = "/api/v1/Invoices/#{id}"
39
+ params = {:include => include_param}
40
+ @lockstepsdk.request(:get, path, nil, params)
41
+ end
42
+
43
+ ##
44
+ # Updates an existing Invoice with the information supplied to this PATCH call.
45
+ #
46
+ # The PATCH method allows you to change specific values on the object while leaving other values alone. As input you should supply a list of field names and new values. If you do not provide the name of a field, that field will remain unchanged. This allows you to ensure that you are only updating the specific fields desired. An Invoice represents a bill sent from one company to another. The creator of the invoice is identified by the `CompanyId` field, and the recipient of the invoice is identified by the `CustomerId` field. Most invoices are uniquely identified both by a Lockstep Platform ID number and a customer ERP "key" that was generated by the system that originated the invoice. Invoices have a total amount and a due date, and when some payments have been made on the Invoice the `TotalAmount` and the `OutstandingBalanceAmount` may be different.
47
+ #
48
+ # @param id [uuid] The unique Lockstep Platform ID number of the invoice to update; NOT the customer's ERP key
49
+ # @param body [object] A list of changes to apply to this Invoice
50
+ def update_invoice(id:, body:)
51
+ path = "/api/v1/Invoices/#{id}"
52
+ @lockstepsdk.request(:patch, path, body.to_camelback_keys.to_json, nil)
53
+ end
54
+
55
+ ##
56
+ # Deletes the Invoice referred to by this unique identifier. An Invoice represents a bill sent from one company to another. The creator of the invoice is identified by the `CompanyId` field, and the recipient of the invoice is identified by the `CustomerId` field. Most invoices are uniquely identified both by a Lockstep Platform ID number and a customer ERP "key" that was generated by the system that originated the invoice. Invoices have a total amount and a due date, and when some payments have been made on the Invoice the `TotalAmount` and the `OutstandingBalanceAmount` may be different.
57
+ #
58
+ # @param id [uuid] The unique Lockstep Platform ID number of the invoice to delete; NOT the customer's ERP key
59
+ def delete_invoice(id:)
60
+ path = "/api/v1/Invoices/#{id}"
61
+ @lockstepsdk.request(:delete, path, nil, nil)
62
+ end
63
+
64
+ ##
65
+ # Creates one or more Invoices within this account and returns the records as created.
66
+ #
67
+ # An Invoice represents a bill sent from one company to another. The creator of the invoice is identified by the `CompanyId` field, and the recipient of the invoice is identified by the `CustomerId` field. Most invoices are uniquely identified both by a Lockstep Platform ID number and a customer ERP "key" that was generated by the system that originated the invoice. Invoices have a total amount and a due date, and when some payments have been made on the Invoice the `TotalAmount` and the `OutstandingBalanceAmount` may be different.
68
+ #
69
+ # @param body [InvoiceModel] The Invoices to create
70
+ def create_invoices(body:)
71
+ path = "/api/v1/Invoices"
72
+ @lockstepsdk.request(:post, path, body, nil)
73
+ end
74
+
75
+ ##
76
+ # Queries Invoices for this account using the specified filtering, sorting, nested fetch, and pagination rules requested.
77
+ #
78
+ # More information on querying can be found on the [Searchlight Query Language](https://developer.lockstep.io/docs/querying-with-searchlight) page on the Lockstep Developer website. An Invoice represents a bill sent from one company to another. The creator of the invoice is identified by the `CompanyId` field, and the recipient of the invoice is identified by the `CustomerId` field. Most invoices are uniquely identified both by a Lockstep Platform ID number and a customer ERP "key" that was generated by the system that originated the invoice. Invoices have a total amount and a due date, and when some payments have been made on the Invoice the `TotalAmount` and the `OutstandingBalanceAmount` may be different.
79
+ #
80
+ # @param filter [string] The filter for this query. See [Searchlight Query Language](https://developer.lockstep.io/docs/querying-with-searchlight)
81
+ # @param include_param [string] To fetch additional data on this object, specify the list of elements to retrieve. Available collections: Addresses, Lines, Payments, Notes, Attachments, Company, Customer, CustomFields, CreditMemos
82
+ # @param order [string] The sort order for this query. See See [Searchlight Query Language](https://developer.lockstep.io/docs/querying-with-searchlight)
83
+ # @param page_size [int32] The page size for results (default 200). See [Searchlight Query Language](https://developer.lockstep.io/docs/querying-with-searchlight)
84
+ # @param page_number [int32] The page number for results (default 0). See [Searchlight Query Language](https://developer.lockstep.io/docs/querying-with-searchlight)
85
+ def query_invoices(filter:, include_param:, order:, page_size:, page_number:)
86
+ path = "/api/v1/Invoices/query"
87
+ params = {:filter => filter, :include => include_param, :order => order, :pageSize => page_size, :pageNumber => page_number}
88
+ @lockstepsdk.request(:get, path, nil, params)
89
+ end
90
+
91
+ ##
92
+ # Queries Invoices for this account using the specified filtering, sorting, nested fetch, and pagination rules requested. Display the results using the Invoice Summary View format.
93
+ #
94
+ # More information on querying can be found on the [Searchlight Query Language](https://developer.lockstep.io/docs/querying-with-searchlight) page on the Lockstep Developer website.
95
+ #
96
+ # The Invoice Summary View represents a slightly different view of the data and includes some extra fields that might be useful. For more information, see the data format of the Invoice Summary Model.
97
+ #
98
+ # @param filter [string] The filter for this query. See [Searchlight Query Language](https://developer.lockstep.io/docs/querying-with-searchlight)
99
+ # @param include_param [string] To fetch additional data on this object, specify the list of elements to retrieve. No collections are currently available but may be offered in the future
100
+ # @param order [string] The sort order for this query. See See [Searchlight Query Language](https://developer.lockstep.io/docs/querying-with-searchlight)
101
+ # @param page_size [int32] The page size for results (default 200). See [Searchlight Query Language](https://developer.lockstep.io/docs/querying-with-searchlight)
102
+ # @param page_number [int32] The page number for results (default 0). See [Searchlight Query Language](https://developer.lockstep.io/docs/querying-with-searchlight)
103
+ def query_invoice_summary_view(filter:, include_param:, order:, page_size:, page_number:)
104
+ path = "/api/v1/Invoices/views/summary"
105
+ params = {:filter => filter, :include => include_param, :order => order, :pageSize => page_size, :pageNumber => page_number}
106
+ @lockstepsdk.request(:get, path, nil, params)
107
+ end
108
+
109
+ ##
110
+ # Queries At Risk Invoices for this account using the specified filtering, sorting, nested fetch, and pagination rules requested. Display the results using the At Risk Invoice Summary View format.
111
+ #
112
+ # More information on querying can be found on the [Searchlight Query Language](https://developer.lockstep.io/docs/querying-with-searchlight) page on the Lockstep Developer website.
113
+ #
114
+ # The At Risk Invoice Summary View represents a slightly different view of the data and includes some extra fields that might be useful. For more information, see the data format of the At Risk Invoice Summary Model.
115
+ #
116
+ # @param filter [string] The filter for this query. See [Searchlight Query Language](https://developer.lockstep.io/docs/querying-with-searchlight)
117
+ # @param include_param [string] To fetch additional data on this object, specify the list of elements to retrieve. No collections are currently available but may be offered in the future
118
+ # @param order [string] The sort order for this query. See See [Searchlight Query Language](https://developer.lockstep.io/docs/querying-with-searchlight)
119
+ # @param page_size [int32] The page size for results (default 200). See [Searchlight Query Language](https://developer.lockstep.io/docs/querying-with-searchlight)
120
+ # @param page_number [int32] The page number for results (default 0). See [Searchlight Query Language](https://developer.lockstep.io/docs/querying-with-searchlight)
121
+ def query_at_risk_invoice_summary_view(filter:, include_param:, order:, page_size:, page_number:)
122
+ path = "/api/v1/Invoices/views/at-risk-summary"
123
+ params = {:filter => filter, :include => include_param, :order => order, :pageSize => page_size, :pageNumber => page_number}
124
+ @lockstepsdk.request(:get, path, nil, params)
125
+ end
126
+ end
@@ -0,0 +1,40 @@
1
+ #
2
+ # Lockstep Software Development Kit for Ruby
3
+ #
4
+ # (c) 2021-2022 Lockstep, Inc.
5
+ #
6
+ # For the full copyright and license information, please view the LICENSE
7
+ # file that was distributed with this source code.
8
+ #
9
+ # @author Ted Spence <tspence@lockstep.io>
10
+ # @author Manish Narayan B S <manish.n@lockstep.io>
11
+ # @author Rishi Rajkumar Jawahar <rjawahar@lockstep.io>
12
+ # @copyright 2021-2022 Lockstep, Inc.
13
+ # @version 2022.4
14
+ # @link https://github.com/Lockstep-Network/lockstep-sdk-ruby
15
+ #
16
+
17
+
18
+ require 'awrence'
19
+
20
+ class LeadsClient
21
+
22
+ ##
23
+ # Initialize the LeadsClient class with a lockstepsdk instance.
24
+ # @param lockstepsdk [LockstepApi] The Lockstep API client object for this connection
25
+ def initialize(lockstepsdk)
26
+ @lockstepsdk = lockstepsdk
27
+ end
28
+
29
+
30
+ ##
31
+ # Creates one or more Leads within the Lockstep platform and returns the records as created.
32
+ #
33
+ # A Lead is a person who is interested in the Lockstep platform but needs certain new features in order to use it. If you are interested in the Lockstep platform, you can create a lead with your information and our team will prioritize the feature you need.
34
+ #
35
+ # @param body [LeadModel] The Leads to create
36
+ def create_leads(body:)
37
+ path = "/api/v1/Leads"
38
+ @lockstepsdk.request(:post, path, body, nil)
39
+ end
40
+ end
@@ -0,0 +1,84 @@
1
+ #
2
+ # Lockstep Software Development Kit for Ruby
3
+ #
4
+ # (c) 2021-2022 Lockstep, Inc.
5
+ #
6
+ # For the full copyright and license information, please view the LICENSE
7
+ # file that was distributed with this source code.
8
+ #
9
+ # @author Ted Spence <tspence@lockstep.io>
10
+ # @author Manish Narayan B S <manish.n@lockstep.io>
11
+ # @author Rishi Rajkumar Jawahar <rjawahar@lockstep.io>
12
+ # @copyright 2021-2022 Lockstep, Inc.
13
+ # @version 2022.4
14
+ # @link https://github.com/Lockstep-Network/lockstep-sdk-ruby
15
+ #
16
+
17
+
18
+ require 'awrence'
19
+
20
+ class NotesClient
21
+
22
+ ##
23
+ # Initialize the NotesClient class with a lockstepsdk instance.
24
+ # @param lockstepsdk [LockstepApi] The Lockstep API client object for this connection
25
+ def initialize(lockstepsdk)
26
+ @lockstepsdk = lockstepsdk
27
+ end
28
+
29
+
30
+ ##
31
+ # Retrieves the note with the specified note identifier. A note is a customizable text string that can be attached to various account attributes within Lockstep. You can use notes for internal communication, correspondence with clients, or personal reminders. The Note Model represents a note and a number of different metadata attributes related to the creation, storage, and ownership of the note.
32
+ #
33
+ # See [Extensibility](https://developer.lockstep.io/docs/extensibility) for more information.
34
+ #
35
+ # @param id [uuid] The unique ID number of the Note to retrieve
36
+ # @param include_param [string] To fetch additional data on this object, specify the list of elements to retrieve. No collections are currently available but may be offered in the future
37
+ def retrieve_note(id:, include_param:)
38
+ path = "/api/v1/Notes/#{id}"
39
+ params = {:include => include_param}
40
+ @lockstepsdk.request(:get, path, nil, params)
41
+ end
42
+
43
+ ##
44
+ # Archives the Note with the unique ID specified. A note is a customizable text string that can be attached to various account attributes within Lockstep. You can use notes for internal communication, correspondence with clients, or personal reminders. The Note Model represents a note and a number of different metadata attributes related to the creation, storage, and ownership of the note.
45
+ #
46
+ # See [Extensibility](https://developer.lockstep.io/docs/extensibility) for more information.
47
+ #
48
+ # @param id [uuid] Note id to be archived
49
+ def archive_note(id:)
50
+ path = "/api/v1/Notes/#{id}"
51
+ @lockstepsdk.request(:delete, path, nil, nil)
52
+ end
53
+
54
+ ##
55
+ # Creates one or more notes from the specified array of Note Models
56
+ #
57
+ # A note is a customizable text string that can be attached to various account attributes within Lockstep. You can use notes for internal communication, correspondence with clients, or personal reminders. The Note Model represents a note and a number of different metadata attributes related to the creation, storage, and ownership of the note.
58
+ #
59
+ # See [Extensibility](https://developer.lockstep.io/docs/extensibility) for more information.
60
+ #
61
+ # @param body [NoteModel] The array of notes to be created
62
+ def create_notes(body:)
63
+ path = "/api/v1/Notes"
64
+ @lockstepsdk.request(:post, path, body, nil)
65
+ end
66
+
67
+ ##
68
+ # Queries Notes on the Lockstep Platform using the specified filtering, sorting, nested fetch, and pagination rules requested.
69
+ #
70
+ # More information on querying can be found on the [Searchlight Query Language](https://developer.lockstep.io/docs/querying-with-searchlight) page on the Lockstep Developer website. A note is a customizable text string that can be attached to various account attributes within Lockstep. You can use notes for internal communication, correspondence with clients, or personal reminders. The Note Model represents a note and a number of different metadata attributes related to the creation, storage, and ownership of the note.
71
+ #
72
+ # See [Extensibility](https://developer.lockstep.io/docs/extensibility) for more information.
73
+ #
74
+ # @param filter [string] The filter to use to select from the list of available applications, in the [Searchlight query syntax](https://github.com/tspence/csharp-searchlight).
75
+ # @param include_param [string] To fetch additional data on this object, specify the list of elements to retrieve. No collections are currently available but may be offered in the future
76
+ # @param order [string] The sort order for the results, in the [Searchlight order syntax](https://github.com/tspence/csharp-searchlight).
77
+ # @param page_size [int32] The page size for results (default 200, maximum of 10,000)
78
+ # @param page_number [int32] The page number for results (default 0)
79
+ def query_notes(filter:, include_param:, order:, page_size:, page_number:)
80
+ path = "/api/v1/Notes/query"
81
+ params = {:filter => filter, :include => include_param, :order => order, :pageSize => page_size, :pageNumber => page_number}
82
+ @lockstepsdk.request(:get, path, nil, params)
83
+ end
84
+ end
@@ -0,0 +1,92 @@
1
+ #
2
+ # Lockstep Software Development Kit for Ruby
3
+ #
4
+ # (c) 2021-2022 Lockstep, Inc.
5
+ #
6
+ # For the full copyright and license information, please view the LICENSE
7
+ # file that was distributed with this source code.
8
+ #
9
+ # @author Ted Spence <tspence@lockstep.io>
10
+ # @author Manish Narayan B S <manish.n@lockstep.io>
11
+ # @author Rishi Rajkumar Jawahar <rjawahar@lockstep.io>
12
+ # @copyright 2021-2022 Lockstep, Inc.
13
+ # @version 2022.4
14
+ # @link https://github.com/Lockstep-Network/lockstep-sdk-ruby
15
+ #
16
+
17
+
18
+ require 'awrence'
19
+
20
+ class PaymentApplicationsClient
21
+
22
+ ##
23
+ # Initialize the PaymentApplicationsClient class with a lockstepsdk instance.
24
+ # @param lockstepsdk [LockstepApi] The Lockstep API client object for this connection
25
+ def initialize(lockstepsdk)
26
+ @lockstepsdk = lockstepsdk
27
+ end
28
+
29
+
30
+ ##
31
+ # Retrieves the Payment Application specified by this unique identifier, optionally including nested data sets.
32
+ #
33
+ # A Payment Application is created by a business who receives a Payment from a customer. A customer may make a single Payment to match an Invoice exactly, a partial Payment for an Invoice, or a single Payment may be made for multiple smaller Invoices. The Payment Application contains information about which Invoices are connected to which Payments and for which amounts.
34
+ #
35
+ # @param id [uuid] The unique Lockstep Platform ID number of this Payment Application; NOT the customer's ERP key
36
+ # @param include_param [string] To fetch additional data on this object, specify the list of elements to retrieve. Available collections: Invoice
37
+ def retrieve_payment_application(id:, include_param:)
38
+ path = "/api/v1/PaymentApplications/#{id}"
39
+ params = {:include => include_param}
40
+ @lockstepsdk.request(:get, path, nil, params)
41
+ end
42
+
43
+ ##
44
+ # Updates an existing Payment Application with the information supplied to this PATCH call.
45
+ #
46
+ # The PATCH method allows you to change specific values on the object while leaving other values alone. As input you should supply a list of field names and new values. If you do not provide the name of a field, that field will remain unchanged. This allows you to ensure that you are only updating the specific fields desired. A Payment Application is created by a business who receives a Payment from a customer. A customer may make a single Payment to match an Invoice exactly, a partial Payment for an Invoice, or a single Payment may be made for multiple smaller Invoices. The Payment Application contains information about which Invoices are connected to which Payments and for which amounts.
47
+ #
48
+ # @param id [uuid] The unique Lockstep Platform ID number of the Payment Application to update; NOT the customer's ERP key
49
+ # @param body [object] A list of changes to apply to this Payment Application
50
+ def update_payment_application(id:, body:)
51
+ path = "/api/v1/PaymentApplications/#{id}"
52
+ @lockstepsdk.request(:patch, path, body.to_camelback_keys.to_json, nil)
53
+ end
54
+
55
+ ##
56
+ # Deletes the Payment Application referred to by this unique identifier.
57
+ #
58
+ # A Payment Application is created by a business who receives a Payment from a customer. A customer may make a single Payment to match an Invoice exactly, a partial Payment for an Invoice, or a single Payment may be made for multiple smaller Invoices. The Payment Application contains information about which Invoices are connected to which Payments and for which amounts.
59
+ #
60
+ # @param id [uuid] The unique Lockstep Platform ID number of the Payment Application to delete; NOT the customer's ERP key
61
+ def delete_payment_application(id:)
62
+ path = "/api/v1/PaymentApplications/#{id}"
63
+ @lockstepsdk.request(:delete, path, nil, nil)
64
+ end
65
+
66
+ ##
67
+ # Creates one or more Payment Applications within this account and returns the records as created.
68
+ #
69
+ # A Payment Application is created by a business who receives a Payment from a customer. A customer may make a single Payment to match an Invoice exactly, a partial Payment for an Invoice, or a single Payment may be made for multiple smaller Invoices. The Payment Application contains information about which Invoices are connected to which Payments and for which amounts.
70
+ #
71
+ # @param body [PaymentAppliedModel] The Payment Applications to create
72
+ def create_payment_applications(body:)
73
+ path = "/api/v1/PaymentApplications"
74
+ @lockstepsdk.request(:post, path, body, nil)
75
+ end
76
+
77
+ ##
78
+ # Queries Payment Applications for this account using the specified filtering, sorting, nested fetch, and pagination rules requested.
79
+ #
80
+ # More information on querying can be found on the [Searchlight Query Language](https://developer.lockstep.io/docs/querying-with-searchlight) page on the Lockstep Developer website. A Payment Application is created by a business who receives a Payment from a customer. A customer may make a single Payment to match an Invoice exactly, a partial Payment for an Invoice, or a single Payment may be made for multiple smaller Invoices. The Payment Application contains information about which Invoices are connected to which Payments and for which amounts.
81
+ #
82
+ # @param filter [string] The filter for this query. See [Searchlight Query Language](https://developer.lockstep.io/docs/querying-with-searchlight)
83
+ # @param include_param [string] To fetch additional data on this object, specify the list of elements to retrieve. Available collections: Invoice
84
+ # @param order [string] The sort order for this query. See See [Searchlight Query Language](https://developer.lockstep.io/docs/querying-with-searchlight)
85
+ # @param page_size [int32] The page size for results (default 200). See [Searchlight Query Language](https://developer.lockstep.io/docs/querying-with-searchlight)
86
+ # @param page_number [int32] The page number for results (default 0). See [Searchlight Query Language](https://developer.lockstep.io/docs/querying-with-searchlight)
87
+ def query_payment_applications(filter:, include_param:, order:, page_size:, page_number:)
88
+ path = "/api/v1/PaymentApplications/query"
89
+ params = {:filter => filter, :include => include_param, :order => order, :pageSize => page_size, :pageNumber => page_number}
90
+ @lockstepsdk.request(:get, path, nil, params)
91
+ end
92
+ end