Scailo Official Dart SDK
Welcome to the official Dart SDK for the Scailo API. This repository contains a generated gRPC package that allows you to seamlessly integrate your Dart applications with the full suite of Scailo services.
About Scailo
Scailo is a powerful, modern ERP solution designed to be the foundation for your business needs. It provides a wide range of customizable business applications that cover everything from e-commerce, accounting, and CRM to order management, manufacturing, and human resources. With Scailo, you can streamline operations and unify your business processes on a single, scalable platform.
To learn more about what Scailo can do for your business, visit scailo.com.
Installation
To get started, install the SDK as follows:
For pure Dart projects
dart pub add scailo_sdk
For Flutter projects
flutter pub add scailo_sdk
Getting Started & Usage
Interacting with the Scailo API is done through gRPC. The following examples will guide you through connecting to the server, authenticating, and making API calls.
Here is a complete example that logs in, retrieves 5 active users, logs out and shuts down the channel.
import 'package:dotenv/dotenv.dart';
import 'package:fixnum/fixnum.dart';
import 'package:scailo_sdk/sdk/base.scailo.pb.dart';
import 'package:scailo_sdk/sdk/login.scailo.pb.dart';
import 'package:scailo_sdk/sdk/users.scailo.pb.dart';
import 'package:scailo_sdk/utilities.dart';
void main() async {
var env = DotEnv(includePlatformEnvironment: true)..load();
var scailoAPI = env.getOrElse("SCAILO_API", () => "http://localhost:21000");
var username = env.getOrElse("USERNAME", () => "");
var password = env.getOrElse("PASSWORD", () => "");
if (scailoAPI.isEmpty || username.isEmpty || password.isEmpty) {
throw Exception(
"SCAILO_API, USERNAME and PASSWORD must be set as environment variables",
);
}
createClientChannel(domain: scailoAPI);
var loginServiceClient = getScailoClientForLoginService();
var loginResp = await loginServiceClient.loginAsEmployeePrimary(
UserLoginRequest(username: username, plainTextPassword: password),
);
// This is important, as once set, the auth token will be used for all subsequent requests
setAuthToken(token: loginResp.authToken);
// Retrieve all the Users
var usersServiceClient = getScailoClientForUsersService();
var resp = await usersServiceClient.filter(
UsersServiceFilterReq(
count: Int64(5),
isActive: BOOL_FILTER.BOOL_FILTER_TRUE,
),
);
// Print all the available users
print(resp.list);
// Logout will require the auth token, so retrieve the client for login service again
var logoutServiceClient = getScailoClientForLoginService();
await logoutServiceClient.logout(LogoutRequest());
// Shutdown the channel
await getClientChannel().shutdown();
}
API Use Cases
The Scailo API is extensive and allows you to build powerful integrations. Some common use cases include:
-
E-commerce Integration: Sync orders, customer data, and inventory levels between Scailo and platforms like Shopify or WooCommerce.
-
Automate Business Processes: Automatically transfer data from a CRM or Warehouse Management System (WMS) directly into the ERP.
-
Financial Management: Connect Scailo with accounting systems to automate invoice generation and financial reporting.
-
Custom Workflows: Build custom applications and workflows tailored to your specific business logic.
For more detailed information on what you can build, please see our API documentation.
Libraries
- permissions
- sdk/absences.scailo.pb
- sdk/absences.scailo.pbenum
- sdk/absences.scailo.pbgrpc
- sdk/absences.scailo.pbjson
- sdk/actions_codes.scailo.pb
- sdk/actions_codes.scailo.pbenum
- sdk/actions_codes.scailo.pbgrpc
- sdk/actions_codes.scailo.pbjson
- sdk/activities.scailo.pb
- sdk/activities.scailo.pbenum
- sdk/activities.scailo.pbgrpc
- sdk/activities.scailo.pbjson
- sdk/activities_groups.scailo.pb
- sdk/activities_groups.scailo.pbenum
- sdk/activities_groups.scailo.pbgrpc
- sdk/activities_groups.scailo.pbjson
- sdk/activities_statuses.scailo.pb
- sdk/activities_statuses.scailo.pbenum
- sdk/activities_statuses.scailo.pbgrpc
- sdk/activities_statuses.scailo.pbjson
- sdk/announcements.scailo.pb
- sdk/announcements.scailo.pbenum
- sdk/announcements.scailo.pbgrpc
- sdk/announcements.scailo.pbjson
- sdk/asset_indents.scailo.pb
- sdk/asset_indents.scailo.pbenum
- sdk/asset_indents.scailo.pbgrpc
- sdk/asset_indents.scailo.pbjson
- sdk/associates.scailo.pb
- sdk/associates.scailo.pbenum
- sdk/associates.scailo.pbgrpc
- sdk/associates.scailo.pbjson
- sdk/attendances.scailo.pb
- sdk/attendances.scailo.pbenum
- sdk/attendances.scailo.pbgrpc
- sdk/attendances.scailo.pbjson
- sdk/attendances_amendments.scailo.pb
- sdk/attendances_amendments.scailo.pbenum
- sdk/attendances_amendments.scailo.pbgrpc
- sdk/attendances_amendments.scailo.pbjson
- sdk/bank_accounts.scailo.pb
- sdk/bank_accounts.scailo.pbenum
- sdk/bank_accounts.scailo.pbgrpc
- sdk/bank_accounts.scailo.pbjson
- sdk/base.scailo.pb
- sdk/base.scailo.pbenum
- sdk/base.scailo.pbjson
- sdk/client_streams.scailo.pb
- sdk/client_streams.scailo.pbenum
- sdk/client_streams.scailo.pbgrpc
- sdk/client_streams.scailo.pbjson
- sdk/clients.scailo.pb
- sdk/clients.scailo.pbenum
- sdk/clients.scailo.pbgrpc
- sdk/clients.scailo.pbjson
- sdk/components.scailo.pb
- sdk/components.scailo.pbenum
- sdk/components.scailo.pbgrpc
- sdk/components.scailo.pbjson
- sdk/credit_notes.scailo.pb
- sdk/credit_notes.scailo.pbenum
- sdk/credit_notes.scailo.pbgrpc
- sdk/credit_notes.scailo.pbjson
- sdk/currencies.scailo.pb
- sdk/currencies.scailo.pbenum
- sdk/currencies.scailo.pbgrpc
- sdk/currencies.scailo.pbjson
- sdk/debit_notes.scailo.pb
- sdk/debit_notes.scailo.pbenum
- sdk/debit_notes.scailo.pbgrpc
- sdk/debit_notes.scailo.pbjson
- sdk/departments.scailo.pb
- sdk/departments.scailo.pbenum
- sdk/departments.scailo.pbgrpc
- sdk/departments.scailo.pbjson
- sdk/equations_families.scailo.pb
- sdk/equations_families.scailo.pbenum
- sdk/equations_families.scailo.pbgrpc
- sdk/equations_families.scailo.pbjson
- sdk/equations_replaceables.scailo.pb
- sdk/equations_replaceables.scailo.pbenum
- sdk/equations_replaceables.scailo.pbgrpc
- sdk/equations_replaceables.scailo.pbjson
- sdk/equations_sales_bundles.scailo.pb
- sdk/equations_sales_bundles.scailo.pbenum
- sdk/equations_sales_bundles.scailo.pbgrpc
- sdk/equations_sales_bundles.scailo.pbjson
- sdk/equations_work_orders.scailo.pb
- sdk/equations_work_orders.scailo.pbenum
- sdk/equations_work_orders.scailo.pbgrpc
- sdk/equations_work_orders.scailo.pbjson
- sdk/equipments.scailo.pb
- sdk/equipments.scailo.pbenum
- sdk/equipments.scailo.pbgrpc
- sdk/equipments.scailo.pbjson
- sdk/expenses.scailo.pb
- sdk/expenses.scailo.pbenum
- sdk/expenses.scailo.pbgrpc
- sdk/expenses.scailo.pbjson
- sdk/families.scailo.pb
- sdk/families.scailo.pbenum
- sdk/families.scailo.pbgrpc
- sdk/families.scailo.pbjson
- sdk/feedstocks.scailo.pb
- sdk/feedstocks.scailo.pbenum
- sdk/feedstocks.scailo.pbgrpc
- sdk/feedstocks.scailo.pbjson
- sdk/forms_fields.scailo.pb
- sdk/forms_fields.scailo.pbenum
- sdk/forms_fields.scailo.pbgrpc
- sdk/forms_fields.scailo.pbjson
- sdk/forms_fields_data.scailo.pb
- sdk/forms_fields_data.scailo.pbenum
- sdk/forms_fields_data.scailo.pbgrpc
- sdk/forms_fields_data.scailo.pbjson
- sdk/forms_sections.scailo.pb
- sdk/forms_sections.scailo.pbenum
- sdk/forms_sections.scailo.pbgrpc
- sdk/forms_sections.scailo.pbjson
- sdk/general_settings.scailo.pb
- sdk/general_settings.scailo.pbenum
- sdk/general_settings.scailo.pbgrpc
- sdk/general_settings.scailo.pbjson
- sdk/general_streams.scailo.pb
- sdk/general_streams.scailo.pbenum
- sdk/general_streams.scailo.pbgrpc
- sdk/general_streams.scailo.pbjson
- sdk/goals.scailo.pb
- sdk/goals.scailo.pbenum
- sdk/goals.scailo.pbgrpc
- sdk/goals.scailo.pbjson
- sdk/goods_dispatches.scailo.pb
- sdk/goods_dispatches.scailo.pbenum
- sdk/goods_dispatches.scailo.pbgrpc
- sdk/goods_dispatches.scailo.pbjson
- sdk/goods_receipts.scailo.pb
- sdk/goods_receipts.scailo.pbenum
- sdk/goods_receipts.scailo.pbgrpc
- sdk/goods_receipts.scailo.pbjson
- sdk/holidays.scailo.pb
- sdk/holidays.scailo.pbenum
- sdk/holidays.scailo.pbgrpc
- sdk/holidays.scailo.pbjson
- sdk/infrastructures.scailo.pb
- sdk/infrastructures.scailo.pbenum
- sdk/infrastructures.scailo.pbgrpc
- sdk/infrastructures.scailo.pbjson
- sdk/inventory.scailo.pb
- sdk/inventory.scailo.pbenum
- sdk/inventory.scailo.pbgrpc
- sdk/inventory.scailo.pbjson
- sdk/inward_jobs.scailo.pb
- sdk/inward_jobs.scailo.pbenum
- sdk/inward_jobs.scailo.pbgrpc
- sdk/inward_jobs.scailo.pbjson
- sdk/inward_jobs_free_issue_materials.scailo.pb
- sdk/inward_jobs_free_issue_materials.scailo.pbenum
- sdk/inward_jobs_free_issue_materials.scailo.pbgrpc
- sdk/inward_jobs_free_issue_materials.scailo.pbjson
- sdk/inward_jobs_free_issue_materials_returns.scailo.pb
- sdk/inward_jobs_free_issue_materials_returns.scailo.pbenum
- sdk/inward_jobs_free_issue_materials_returns.scailo.pbgrpc
- sdk/inward_jobs_free_issue_materials_returns.scailo.pbjson
- sdk/labels.scailo.pb
- sdk/labels.scailo.pbenum
- sdk/labels.scailo.pbgrpc
- sdk/labels.scailo.pbjson
- sdk/leaves_adjustments.scailo.pb
- sdk/leaves_adjustments.scailo.pbenum
- sdk/leaves_adjustments.scailo.pbgrpc
- sdk/leaves_adjustments.scailo.pbjson
- sdk/leaves_logs.scailo.pb
- sdk/leaves_logs.scailo.pbenum
- sdk/leaves_logs.scailo.pbgrpc
- sdk/leaves_logs.scailo.pbjson
- sdk/leaves_requests.scailo.pb
- sdk/leaves_requests.scailo.pbenum
- sdk/leaves_requests.scailo.pbgrpc
- sdk/leaves_requests.scailo.pbjson
- sdk/leaves_types.scailo.pb
- sdk/leaves_types.scailo.pbenum
- sdk/leaves_types.scailo.pbgrpc
- sdk/leaves_types.scailo.pbjson
- sdk/ledgers.scailo.pb
- sdk/ledgers.scailo.pbenum
- sdk/ledgers.scailo.pbgrpc
- sdk/ledgers.scailo.pbjson
- sdk/locations.scailo.pb
- sdk/locations.scailo.pbenum
- sdk/locations.scailo.pbgrpc
- sdk/locations.scailo.pbjson
- sdk/login.scailo.pb
- sdk/login.scailo.pbenum
- sdk/login.scailo.pbgrpc
- sdk/login.scailo.pbjson
- sdk/magic_links.scailo.pb
- sdk/magic_links.scailo.pbenum
- sdk/magic_links.scailo.pbgrpc
- sdk/magic_links.scailo.pbjson
- sdk/meetings.scailo.pb
- sdk/meetings.scailo.pbenum
- sdk/meetings.scailo.pbgrpc
- sdk/meetings.scailo.pbjson
- sdk/merchandises.scailo.pb
- sdk/merchandises.scailo.pbenum
- sdk/merchandises.scailo.pbgrpc
- sdk/merchandises.scailo.pbjson
- sdk/notes.scailo.pb
- sdk/notes.scailo.pbenum
- sdk/notes.scailo.pbgrpc
- sdk/notes.scailo.pbjson
- sdk/on_duties.scailo.pb
- sdk/on_duties.scailo.pbenum
- sdk/on_duties.scailo.pbgrpc
- sdk/on_duties.scailo.pbjson
- sdk/outward_jobs.scailo.pb
- sdk/outward_jobs.scailo.pbenum
- sdk/outward_jobs.scailo.pbgrpc
- sdk/outward_jobs.scailo.pbjson
- sdk/outward_jobs_free_issue_materials.scailo.pb
- sdk/outward_jobs_free_issue_materials.scailo.pbenum
- sdk/outward_jobs_free_issue_materials.scailo.pbgrpc
- sdk/outward_jobs_free_issue_materials.scailo.pbjson
- sdk/outward_jobs_free_issue_materials_returns.scailo.pb
- sdk/outward_jobs_free_issue_materials_returns.scailo.pbenum
- sdk/outward_jobs_free_issue_materials_returns.scailo.pbgrpc
- sdk/outward_jobs_free_issue_materials_returns.scailo.pbjson
- sdk/overtimes.scailo.pb
- sdk/overtimes.scailo.pbenum
- sdk/overtimes.scailo.pbgrpc
- sdk/overtimes.scailo.pbjson
- sdk/payroll_groups.scailo.pb
- sdk/payroll_groups.scailo.pbenum
- sdk/payroll_groups.scailo.pbgrpc
- sdk/payroll_groups.scailo.pbjson
- sdk/payroll_params.scailo.pb
- sdk/payroll_params.scailo.pbenum
- sdk/payroll_params.scailo.pbgrpc
- sdk/payroll_params.scailo.pbjson
- sdk/production_indents.scailo.pb
- sdk/production_indents.scailo.pbenum
- sdk/production_indents.scailo.pbgrpc
- sdk/production_indents.scailo.pbjson
- sdk/production_plans.scailo.pb
- sdk/production_plans.scailo.pbenum
- sdk/production_plans.scailo.pbgrpc
- sdk/production_plans.scailo.pbjson
- sdk/products.scailo.pb
- sdk/products.scailo.pbenum
- sdk/products.scailo.pbgrpc
- sdk/products.scailo.pbjson
- sdk/proforma_invoices.scailo.pb
- sdk/proforma_invoices.scailo.pbenum
- sdk/proforma_invoices.scailo.pbgrpc
- sdk/proforma_invoices.scailo.pbjson
- sdk/projects.scailo.pb
- sdk/projects.scailo.pbenum
- sdk/projects.scailo.pbgrpc
- sdk/projects.scailo.pbjson
- sdk/purchases_enquiries.scailo.pb
- sdk/purchases_enquiries.scailo.pbenum
- sdk/purchases_enquiries.scailo.pbgrpc
- sdk/purchases_enquiries.scailo.pbjson
- sdk/purchases_indents.scailo.pb
- sdk/purchases_indents.scailo.pbenum
- sdk/purchases_indents.scailo.pbgrpc
- sdk/purchases_indents.scailo.pbjson
- sdk/purchases_orders.scailo.pb
- sdk/purchases_orders.scailo.pbenum
- sdk/purchases_orders.scailo.pbgrpc
- sdk/purchases_orders.scailo.pbjson
- sdk/purchases_payments.scailo.pb
- sdk/purchases_payments.scailo.pbenum
- sdk/purchases_payments.scailo.pbgrpc
- sdk/purchases_payments.scailo.pbjson
- sdk/purchases_returns.scailo.pb
- sdk/purchases_returns.scailo.pbenum
- sdk/purchases_returns.scailo.pbgrpc
- sdk/purchases_returns.scailo.pbjson
- sdk/qc_groups.scailo.pb
- sdk/qc_groups.scailo.pbenum
- sdk/qc_groups.scailo.pbgrpc
- sdk/qc_groups.scailo.pbjson
- sdk/qc_params.scailo.pb
- sdk/qc_params.scailo.pbenum
- sdk/qc_params.scailo.pbgrpc
- sdk/qc_params.scailo.pbjson
- sdk/qc_samples.scailo.pb
- sdk/qc_samples.scailo.pbenum
- sdk/qc_samples.scailo.pbgrpc
- sdk/qc_samples.scailo.pbjson
- sdk/quotations_requests.scailo.pb
- sdk/quotations_requests.scailo.pbenum
- sdk/quotations_requests.scailo.pbgrpc
- sdk/quotations_requests.scailo.pbjson
- sdk/quotations_responses.scailo.pb
- sdk/quotations_responses.scailo.pbenum
- sdk/quotations_responses.scailo.pbgrpc
- sdk/quotations_responses.scailo.pbjson
- sdk/replaceable_indents.scailo.pb
- sdk/replaceable_indents.scailo.pbenum
- sdk/replaceable_indents.scailo.pbgrpc
- sdk/replaceable_indents.scailo.pbjson
- sdk/roles.scailo.pb
- sdk/roles.scailo.pbenum
- sdk/roles.scailo.pbgrpc
- sdk/roles.scailo.pbjson
- sdk/salaries.scailo.pb
- sdk/salaries.scailo.pbenum
- sdk/salaries.scailo.pbgrpc
- sdk/salaries.scailo.pbjson
- sdk/sales_enquiries.scailo.pb
- sdk/sales_enquiries.scailo.pbenum
- sdk/sales_enquiries.scailo.pbgrpc
- sdk/sales_enquiries.scailo.pbjson
- sdk/sales_invoices.scailo.pb
- sdk/sales_invoices.scailo.pbenum
- sdk/sales_invoices.scailo.pbgrpc
- sdk/sales_invoices.scailo.pbjson
- sdk/sales_orders.scailo.pb
- sdk/sales_orders.scailo.pbenum
- sdk/sales_orders.scailo.pbgrpc
- sdk/sales_orders.scailo.pbjson
- sdk/sales_quotations.scailo.pb
- sdk/sales_quotations.scailo.pbenum
- sdk/sales_quotations.scailo.pbgrpc
- sdk/sales_quotations.scailo.pbjson
- sdk/sales_receipts.scailo.pb
- sdk/sales_receipts.scailo.pbenum
- sdk/sales_receipts.scailo.pbgrpc
- sdk/sales_receipts.scailo.pbjson
- sdk/sales_returns.scailo.pb
- sdk/sales_returns.scailo.pbenum
- sdk/sales_returns.scailo.pbgrpc
- sdk/sales_returns.scailo.pbjson
- sdk/shifts.scailo.pb
- sdk/shifts.scailo.pbenum
- sdk/shifts.scailo.pbgrpc
- sdk/shifts.scailo.pbjson
- sdk/shifts_groups.scailo.pb
- sdk/shifts_groups.scailo.pbenum
- sdk/shifts_groups.scailo.pbgrpc
- sdk/shifts_groups.scailo.pbjson
- sdk/skills_groups.scailo.pb
- sdk/skills_groups.scailo.pbenum
- sdk/skills_groups.scailo.pbgrpc
- sdk/skills_groups.scailo.pbjson
- sdk/skills_params.scailo.pb
- sdk/skills_params.scailo.pbenum
- sdk/skills_params.scailo.pbgrpc
- sdk/skills_params.scailo.pbjson
- sdk/stock_audits.scailo.pb
- sdk/stock_audits.scailo.pbenum
- sdk/stock_audits.scailo.pbgrpc
- sdk/stock_audits.scailo.pbjson
- sdk/stock_issuances.scailo.pb
- sdk/stock_issuances.scailo.pbenum
- sdk/stock_issuances.scailo.pbgrpc
- sdk/stock_issuances.scailo.pbjson
- sdk/stock_returns.scailo.pb
- sdk/stock_returns.scailo.pbenum
- sdk/stock_returns.scailo.pbgrpc
- sdk/stock_returns.scailo.pbjson
- sdk/storages.scailo.pb
- sdk/storages.scailo.pbenum
- sdk/storages.scailo.pbgrpc
- sdk/storages.scailo.pbjson
- sdk/stores.scailo.pb
- sdk/stores.scailo.pbenum
- sdk/stores.scailo.pbgrpc
- sdk/stores.scailo.pbjson
- sdk/supply_offers.scailo.pb
- sdk/supply_offers.scailo.pbenum
- sdk/supply_offers.scailo.pbgrpc
- sdk/supply_offers.scailo.pbjson
- sdk/tax_groups.scailo.pb
- sdk/tax_groups.scailo.pbenum
- sdk/tax_groups.scailo.pbgrpc
- sdk/tax_groups.scailo.pbjson
- sdk/tax_params.scailo.pb
- sdk/tax_params.scailo.pbenum
- sdk/tax_params.scailo.pbgrpc
- sdk/tax_params.scailo.pbjson
- sdk/teams.scailo.pb
- sdk/teams.scailo.pbenum
- sdk/teams.scailo.pbgrpc
- sdk/teams.scailo.pbjson
- sdk/transactional_emails.scailo.pb
- sdk/transactional_emails.scailo.pbenum
- sdk/transactional_emails.scailo.pbgrpc
- sdk/transactional_emails.scailo.pbjson
- sdk/units_of_materials.scailo.pb
- sdk/units_of_materials.scailo.pbenum
- sdk/units_of_materials.scailo.pbgrpc
- sdk/units_of_materials.scailo.pbjson
- sdk/users.scailo.pb
- sdk/users.scailo.pbenum
- sdk/users.scailo.pbgrpc
- sdk/users.scailo.pbjson
- sdk/vault.scailo.pb
- sdk/vault.scailo.pbenum
- sdk/vault.scailo.pbgrpc
- sdk/vault.scailo.pbjson
- sdk/vault_commons.scailo.pb
- sdk/vault_commons.scailo.pbenum
- sdk/vault_commons.scailo.pbjson
- sdk/vault_files.scailo.pb
- sdk/vault_files.scailo.pbenum
- sdk/vault_files.scailo.pbjson
- sdk/vault_folders.scailo.pb
- sdk/vault_folders.scailo.pbenum
- sdk/vault_folders.scailo.pbjson
- sdk/vendor_invoices.scailo.pb
- sdk/vendor_invoices.scailo.pbenum
- sdk/vendor_invoices.scailo.pbgrpc
- sdk/vendor_invoices.scailo.pbjson
- sdk/vendor_streams.scailo.pb
- sdk/vendor_streams.scailo.pbenum
- sdk/vendor_streams.scailo.pbgrpc
- sdk/vendor_streams.scailo.pbjson
- sdk/vendors.scailo.pb
- sdk/vendors.scailo.pbenum
- sdk/vendors.scailo.pbgrpc
- sdk/vendors.scailo.pbjson
- sdk/visitations.scailo.pb
- sdk/visitations.scailo.pbenum
- sdk/visitations.scailo.pbgrpc
- sdk/visitations.scailo.pbjson
- sdk/work_orders.scailo.pb
- sdk/work_orders.scailo.pbenum
- sdk/work_orders.scailo.pbgrpc
- sdk/work_orders.scailo.pbjson
- sdk/workflows_rules.scailo.pb
- sdk/workflows_rules.scailo.pbenum
- sdk/workflows_rules.scailo.pbgrpc
- sdk/workflows_rules.scailo.pbjson
- utilities