Scailo Logo

Scailo Official Dart SDK

pub package package publisher

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/activities_tags.scailo.pb
sdk/activities_tags.scailo.pbenum
sdk/activities_tags.scailo.pbgrpc
sdk/activities_tags.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