{"id":20672106,"url":"https://github.com/workarea-commerce/workarea-orderbot","last_synced_at":"2025-10-29T10:14:42.973Z","repository":{"id":56898447,"uuid":"215875812","full_name":"workarea-commerce/workarea-orderbot","owner":"workarea-commerce","description":null,"archived":false,"fork":false,"pushed_at":"2020-07-23T12:46:25.000Z","size":101,"stargazers_count":4,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-29T11:51:41.915Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/workarea-commerce.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2019-10-17T20:02:08.000Z","updated_at":"2021-11-08T10:34:09.000Z","dependencies_parsed_at":"2022-08-21T02:20:27.615Z","dependency_job_id":null,"html_url":"https://github.com/workarea-commerce/workarea-orderbot","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/workarea-commerce%2Fworkarea-orderbot","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/workarea-commerce%2Fworkarea-orderbot/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/workarea-commerce%2Fworkarea-orderbot/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/workarea-commerce%2Fworkarea-orderbot/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/workarea-commerce","download_url":"https://codeload.github.com/workarea-commerce/workarea-orderbot/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":249161095,"owners_count":21222468,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-16T20:32:04.024Z","updated_at":"2025-10-29T10:14:42.878Z","avatar_url":"https://github.com/workarea-commerce.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"Workarea Orderbot\n================================================================================\n\nOrderbot integration for the Workarea platform.\n\nThis integration pulls catalog information from the Orderbot REST API and pushes order and customer data back.\n\nOverview\n--------------------------------------------------------------------------------\n\nThe following catalog data is pulled from Orderbot:\n\n* Products\n* Pricing\n* Inventory\n* Fulfillments\n\nThe following is pushed to Orderbot:\n\n* Orders\n* Customer data (contained in order)\n\nThe synchronization of data relies on cron jobs defined in this plugin.\n\nThe defaults are:\n\n* **Products**: Daily at 2:00am\n* **Inventory**: Every hour on the hour\n* **Pricing**: Every hour at the 30 minute mark\n* **Fulfillments**: Every 20 minutes\n\nHost apps can change these defaults by redefining them in their own initializer.\n\nEach of these scheduled jobs are designed to only pull records from Orderbot that have changed since the last run of the job. You can pass an argument named \"from_updated_on\" with a datetime to the job via the the command line if you need to run an import on a longer time frame.\n\nFor example:\n```ruby\n Workarea::Orderbot::ProductImporter.new.perform(from_updated_on: 1.month.ago) # gets all products updated within the last month\n```\n\nUseful information is stored in ```Workarea::Orderbot::ImportLog``` with data about which import ran, when it started and finished.\n\nOrders placed in Workarea are queued in Sidekiq and are not sent in a batch.\n\nProduct Import Notes\n--------------------------------------------------------------------------------\n\nThe product import task saves import data into a collection defined at ```Workarea::Orderbot::ProductImportData```. This collection is then iterated over and creates products and their associated variants. Products not imported at the end of the process will remain in the collection. Relevant error data is stored in the ```error_message``` on the class. Check this field if a record is stuck in the import process.\n\nThe product import task will attempt to save the product details from Orderbot by making a call to the custom fields endpoint. These custom field names can not have the \".\" or \"$\" characters because of the way they are stored in the Workarea product details hash. If details from Orderbot are not importing a good place to start debugging is checking for those characters in the Orderbot custom fields admin.\n\nThe Orderbot fields \"Group\" and \"Category\" will be imported as product filters which can be used for category creation in the Workarea admin.\n\nOrder Export Notes\n--------------------------------------------------------------------------------\n\nOrders are put into a Sidekiq queue on order place. Orders that have been successfully sent to Orderbot will have the Orderbot order ID saved to the model as well as when a timestamp for the when it was exported.\n\nA new Orderbot customer is created if the order's user does not have a customer ID associated to it already. The Orderbot customer ID will be attached to the user model if the order was a placed by a logged in user. Guest checkouts will be referenced by a users email in Orderbot.\n\nConfiguration\n--------------------------------------------------------------------------------\n\nThis integration's configuration can be controlled via the admin configuration panel.\n\nNotable configurations:\n\n* **Orderbot API Email Address**: Email address used to login to your Orderbot admin. This user must have API access.\n* **Orderbot API Password**: Password used to login to the Orderbot admin.\n* **Order Guide ID**: The order guide ID used to get products and prices. Recommended to not leave this field blank.\n* **Inventory Distribution Center ID**: The distribution center ID to pull inventory from. Leaving this field blank will pull inventory for all DCs and can lead to unexpected results.\n\nSee the \"Orderbot\" section under configuration for more options and details.\n\nGetting Started\n--------------------------------------------------------------------------------\n\nThis gem contains a Rails engine that must be mounted onto a host Rails application.\n\nAdd the gem to your application's Gemfile:\n\n    # ...\n    gem 'workarea-orderbot'\n    # ...\n\nUpdate your application's bundle.\n\n    cd path/to/application\n    bundle\n\n\nWorkarea Platform Documentation\n--------------------------------------------------------------------------------\n\nSee [https://developer.workarea.com](https://developer.workarea.com) for Workarea platform documentation.\n\nLicense\n--------------------------------------------------------------------------------\n\nWorkarea Orderbot is released under the [Business Software License](LICENSE)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fworkarea-commerce%2Fworkarea-orderbot","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fworkarea-commerce%2Fworkarea-orderbot","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fworkarea-commerce%2Fworkarea-orderbot/lists"}