{"action":"created","comment":{"url":"https://api.github.com/repos/frappe/erpnext_shopify/pulls/comments/49963527","id":49963527,"diff_hunk":"@@ -0,0 +1,159 @@\n+import frappe\n+from frappe import _\n+from .exceptions import ShopifyError\n+from .utils import create_log_entry\n+from .sync_products import make_item\n+from .sync_customers import create_customer\n+from frappe.utils import cstr, flt, nowdate\n+from .shopify_requests import get_request, get_shopify_orders\n+from erpnext.selling.doctype.sales_order.sales_order import make_delivery_note, make_sales_invoice\n+\n+def sync_orders():\n+\tsync_shopify_orders()\n+\n+def sync_shopify_orders():\n+\tfor order in get_shopify_orders():\n+\t\tif valid_customer_and_product(order):\n+\t\t\tcreate_order(order)\n+\n+def valid_customer_and_product(order):\n+\tcustomer_id = order.get(\"customer\", {}).get(\"id\")\n+\tif customer_id:\n+\t\tif not frappe.db.get_value(\"Customer\", {\"shopify_id\": customer_id}, \"name\"):\n+\t\t\tcreate_customer(order.get(\"customer\"))\n+\telse:\n+\t\tcreate_log_entry(order, _(\"Customer is mandatory to create order\"))\n+\t\tfrappe.msgprint(_(\"Customer is mandatory to create order\"))\n+\t\treturn False\n+\t\n+\twarehouse = frappe.get_doc(\"Shopify Settings\", \"Shopify Settings\").warehouse\n+\tfor item in order.get(\"line_items\"):\n+\t\tif not frappe.db.get_value(\"Item\", {\"shopify_id\": item.get(\"product_id\")}, \"name\"):\n+\t\t\titem = get_request(\"/admin/products/{}.json\".format(item.get(\"product_id\")))[\"product\"]\n+\t\t\tmake_item(warehouse, item)\n+\t\n+\treturn True\n+\n+def create_order(order):\n+\tshopify_settings = frappe.get_doc(\"Shopify Settings\", \"Shopify Settings\")\n+\tso = create_salse_order(order, shopify_settings)\n+\tif order.get(\"financial_status\") == \"paid\":\n+\t\tcreate_sales_invoice(order, shopify_settings, so)\n+\n+\tif order.get(\"fulfillments\"):\n+\t\tcreate_delivery_note(order, shopify_settings, so)\n+\n+def create_salse_order(order, shopify_settings):\n+\tso = frappe.db.get_value(\"Sales Order\", {\"shopify_id\": order.get(\"id\")}, \"name\")\n+\tif not so:\n+\t\tso = frappe.get_doc({\n+\t\t\t\"doctype\": \"Sales Order\",\n+\t\t\t\"naming_series\": shopify_settings.sales_order_series or \"SO-Shopify-\",\n+\t\t\t\"shopify_id\": order.get(\"id\"),\n+\t\t\t\"customer\": frappe.db.get_value(\"Customer\", {\"shopify_id\": order.get(\"customer\").get(\"id\")}, \"name\"),\n+\t\t\t\"delivery_date\": nowdate(),\n+\t\t\t\"selling_price_list\": shopify_settings.price_list,\n+\t\t\t\"ignore_pricing_rule\": 1,\n+\t\t\t\"apply_discount_on\": \"Net Total\",\n+\t\t\t\"discount_amount\": get_discounted_amount(order),\n+\t\t\t\"items\": get_item_line(order.get(\"line_items\"), shopify_settings),\n+\t\t\t\"taxes\": get_tax_line(order, order.get(\"shipping_lines\"), shopify_settings)\n+\t\t}).insert()\n+\n+\t\tso.submit()\n+\n+\telse:\n+\t\tso = frappe.get_doc(\"Sales Order\", so)\n+\n+\treturn so\n+\n+def create_sales_invoice(order, shopify_settings, so):\n+\tif not frappe.db.get_value(\"Sales Invoice\", {\"shopify_id\": order.get(\"id\")}, \"name\") and so.docstatus==1 \\\n+\t\tand not so.per_billed:\n+\t\tsi = make_sales_invoice(so.name)\n+\t\tsi.shopify_id = order.get(\"id\")\n+\t\tsi.naming_series = shopify_settings.sales_invoice_series or \"SI-Shopify-\"\n+\t\tsi.is_pos = 1\n+\t\tsi.cash_bank_account = shopify_settings.cash_bank_account\n+\t\tsi.submit()\n+\n+def create_delivery_note(order, shopify_settings, so):\n+\tfor fulfillment in order.get(\"fulfillments\"):\n+\t\tif not frappe.db.get_value(\"Delivery Note\", {\"shopify_id\": fulfillment.get(\"id\")}, \"name\") and so.docstatus==1:\n+\t\t\tdn = make_delivery_note(so.name)\n+\t\t\tdn.shopify_id = fulfillment.get(\"id\")\n+\t\t\tdn.naming_series = shopify_settings.delivery_note_series or \"DN-Shopify-\"\n+\t\t\tdn.items = update_items_qty(dn.items, fulfillment.get(\"line_items\"), shopify_settings)\n+\t\t\tdn.save()\n+\n+def update_items_qty(dn_items, fulfillment_items, shopify_settings):\n+\treturn [dn_item.update({\"qty\": item.get(\"quantity\")}) for item in fulfillment_items for dn_item in dn_items\\\n+\t\t if get_item_code(item) == dn_item.item_code]\n+\n+def get_discounted_amount(order):\n+\tdiscounted_amount = 0.0\n+\tfor discount in order.get(\"discount_codes\"):\n+\t\tdiscounted_amount += flt(discount.get(\"amount\"))\n+\treturn discounted_amount\n+\n+def get_item_line(order_items, shopify_settings):\n+\titems = []\n+\tfor item in order_items:\n+\t\titem_code = get_item_code(item)\n+\t\titems.append({\n+\t\t\t\"item_code\": item_code,\n+\t\t\t\"item_name\": item.get(\"name\"),\n+\t\t\t\"rate\": item.get(\"price\"),\n+\t\t\t\"qty\": item.get(\"quantity\"),\n+\t\t\t\"stock_uom\": item.get(\"sku\"),\n+\t\t\t\"warehouse\": shopify_settings.warehouse\n+\t\t})\n+\treturn items\n+\n+def get_item_code(item):\n+\titem_code = frappe.db.get_value(\"Item\", {\"shopify_id\": item.get(\"variant_id\")}, \"item_code\")\n+\tif not item_code:\n+\t\titem_code = frappe.db.get_value(\"Item\", {\"shopify_id\": item.get(\"product_id\")}, \"item_code\")\n+\n+\treturn item_code\n+\n+def get_tax_line(order, shipping_lines, shopify_settings):\n+\ttaxes = []\n+\tfor tax in order.get(\"tax_lines\"):\n+\t\ttaxes.append({\n+\t\t\t\"charge_type\": _(\"On Net Total\"),\n+\t\t\t\"account_head\": get_tax_account_head(tax),\n+\t\t\t\"description\": tax.get(\"title\") + \"-\" + cstr(tax.get(\"rate\") * 100.00),\n+\t\t\t\"rate\": tax.get(\"rate\") * 100.00,\n+\t\t\t\"included_in_print_rate\": set_included_in_print_rate(order)\n+\t\t})\n+\n+\ttaxes = update_taxes_with_shipping_rule(taxes, shipping_lines)\n+\n+\treturn taxes\n+\n+def set_included_in_print_rate(order):\n+\tif order.get(\"total_tax\"):\n+\t\tif (flt(order.get(\"total_price\")) - flt(order.get(\"total_line_items_price\"))) == 0.0:\n+\t\t\treturn 1\n+\treturn 0\n+\n+def update_taxes_with_shipping_rule(taxes, shipping_lines):\n+\tfor shipping_charge in shipping_lines:\n+\t\ttaxes.append({\n+\t\t\t\"charge_type\": _(\"Actual\"),\n+\t\t\t\"account_head\": get_tax_account_head(shipping_charge),\n+\t\t\t\"description\": shipping_charge[\"title\"],\n+\t\t\t\"tax_amount\": shipping_charge[\"price\"]\n+\t\t})\n+\n+\treturn taxes\n+\n+def get_tax_account_head(tax):\n+\ttax_account =  frappe.db.get_value(\"Shopify Tax Account\", \\\n+\t\t{\"parent\": \"Shopify Settings\", \"shopify_tax\": tax.get(\"title\")}, \"tax_account\")","path":"erpnext_shopify/sync_orders.py","position":154,"original_position":154,"commit_id":"0f5a6116de23b7a9c5378074c92f688281ce6b53","original_commit_id":"0f5a6116de23b7a9c5378074c92f688281ce6b53","user":{"login":"saurabh6790","id":3784093,"avatar_url":"https://avatars.githubusercontent.com/u/3784093?v=3","gravatar_id":"","url":"https://api.github.com/users/saurabh6790","html_url":"https://github.com/saurabh6790","followers_url":"https://api.github.com/users/saurabh6790/followers","following_url":"https://api.github.com/users/saurabh6790/following{/other_user}","gists_url":"https://api.github.com/users/saurabh6790/gists{/gist_id}","starred_url":"https://api.github.com/users/saurabh6790/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/saurabh6790/subscriptions","organizations_url":"https://api.github.com/users/saurabh6790/orgs","repos_url":"https://api.github.com/users/saurabh6790/repos","events_url":"https://api.github.com/users/saurabh6790/events{/privacy}","received_events_url":"https://api.github.com/users/saurabh6790/received_events","type":"User","site_admin":false},"body":"No we do not sync taxes. \r\n\r\ntax lines do not have Id \r\n\r\n```\r\n\"tax_lines\": [\r\n                {\r\n                    \"title\": \"VAT\",\r\n                    \"price\": \"4375.00\",\r\n                    \"rate\": 0.125\r\n                }\r\n            ]\r\n```","created_at":"2016-01-18T05:40:37Z","updated_at":"2016-01-18T05:40:37Z","html_url":"https://github.com/frappe/erpnext_shopify/pull/39#discussion_r49963527","pull_request_url":"https://api.github.com/repos/frappe/erpnext_shopify/pulls/39","_links":{"self":{"href":"https://api.github.com/repos/frappe/erpnext_shopify/pulls/comments/49963527"},"html":{"href":"https://github.com/frappe/erpnext_shopify/pull/39#discussion_r49963527"},"pull_request":{"href":"https://api.github.com/repos/frappe/erpnext_shopify/pulls/39"}}},"pull_request":{"url":"https://api.github.com/repos/frappe/erpnext_shopify/pulls/39","id":56041287,"html_url":"https://github.com/frappe/erpnext_shopify/pull/39","diff_url":"https://github.com/frappe/erpnext_shopify/pull/39.diff","patch_url":"https://github.com/frappe/erpnext_shopify/pull/39.patch","issue_url":"https://api.github.com/repos/frappe/erpnext_shopify/issues/39","number":39,"state":"open","locked":false,"title":"Refactor shopify","user":{"login":"saurabh6790","id":3784093,"avatar_url":"https://avatars.githubusercontent.com/u/3784093?v=3","gravatar_id":"","url":"https://api.github.com/users/saurabh6790","html_url":"https://github.com/saurabh6790","followers_url":"https://api.github.com/users/saurabh6790/followers","following_url":"https://api.github.com/users/saurabh6790/following{/other_user}","gists_url":"https://api.github.com/users/saurabh6790/gists{/gist_id}","starred_url":"https://api.github.com/users/saurabh6790/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/saurabh6790/subscriptions","organizations_url":"https://api.github.com/users/saurabh6790/orgs","repos_url":"https://api.github.com/users/saurabh6790/repos","events_url":"https://api.github.com/users/saurabh6790/events{/privacy}","received_events_url":"https://api.github.com/users/saurabh6790/received_events","type":"User","site_admin":false},"body":"- [ ] Run automated tests\r\n- [ ] Manual testing","created_at":"2016-01-14T14:27:52Z","updated_at":"2016-01-18T05:40:37Z","closed_at":null,"merged_at":null,"merge_commit_sha":"15e0e25066ba9085ac49a54726f661a512985b19","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/frappe/erpnext_shopify/pulls/39/commits","review_comments_url":"https://api.github.com/repos/frappe/erpnext_shopify/pulls/39/comments","review_comment_url":"https://api.github.com/repos/frappe/erpnext_shopify/pulls/comments{/number}","comments_url":"https://api.github.com/repos/frappe/erpnext_shopify/issues/39/comments","statuses_url":"https://api.github.com/repos/frappe/erpnext_shopify/statuses/0f5a6116de23b7a9c5378074c92f688281ce6b53","head":{"label":"saurabh6790:refactor_shopify","ref":"refactor_shopify","sha":"0f5a6116de23b7a9c5378074c92f688281ce6b53","user":{"login":"saurabh6790","id":3784093,"avatar_url":"https://avatars.githubusercontent.com/u/3784093?v=3","gravatar_id":"","url":"https://api.github.com/users/saurabh6790","html_url":"https://github.com/saurabh6790","followers_url":"https://api.github.com/users/saurabh6790/followers","following_url":"https://api.github.com/users/saurabh6790/following{/other_user}","gists_url":"https://api.github.com/users/saurabh6790/gists{/gist_id}","starred_url":"https://api.github.com/users/saurabh6790/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/saurabh6790/subscriptions","organizations_url":"https://api.github.com/users/saurabh6790/orgs","repos_url":"https://api.github.com/users/saurabh6790/repos","events_url":"https://api.github.com/users/saurabh6790/events{/privacy}","received_events_url":"https://api.github.com/users/saurabh6790/received_events","type":"User","site_admin":false},"repo":{"id":42870158,"name":"erpnext_shopify","full_name":"saurabh6790/erpnext_shopify","owner":{"login":"saurabh6790","id":3784093,"avatar_url":"https://avatars.githubusercontent.com/u/3784093?v=3","gravatar_id":"","url":"https://api.github.com/users/saurabh6790","html_url":"https://github.com/saurabh6790","followers_url":"https://api.github.com/users/saurabh6790/followers","following_url":"https://api.github.com/users/saurabh6790/following{/other_user}","gists_url":"https://api.github.com/users/saurabh6790/gists{/gist_id}","starred_url":"https://api.github.com/users/saurabh6790/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/saurabh6790/subscriptions","organizations_url":"https://api.github.com/users/saurabh6790/orgs","repos_url":"https://api.github.com/users/saurabh6790/repos","events_url":"https://api.github.com/users/saurabh6790/events{/privacy}","received_events_url":"https://api.github.com/users/saurabh6790/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/saurabh6790/erpnext_shopify","description":"","fork":true,"url":"https://api.github.com/repos/saurabh6790/erpnext_shopify","forks_url":"https://api.github.com/repos/saurabh6790/erpnext_shopify/forks","keys_url":"https://api.github.com/repos/saurabh6790/erpnext_shopify/keys{/key_id}","collaborators_url":"https://api.github.com/repos/saurabh6790/erpnext_shopify/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/saurabh6790/erpnext_shopify/teams","hooks_url":"https://api.github.com/repos/saurabh6790/erpnext_shopify/hooks","issue_events_url":"https://api.github.com/repos/saurabh6790/erpnext_shopify/issues/events{/number}","events_url":"https://api.github.com/repos/saurabh6790/erpnext_shopify/events","assignees_url":"https://api.github.com/repos/saurabh6790/erpnext_shopify/assignees{/user}","branches_url":"https://api.github.com/repos/saurabh6790/erpnext_shopify/branches{/branch}","tags_url":"https://api.github.com/repos/saurabh6790/erpnext_shopify/tags","blobs_url":"https://api.github.com/repos/saurabh6790/erpnext_shopify/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/saurabh6790/erpnext_shopify/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/saurabh6790/erpnext_shopify/git/refs{/sha}","trees_url":"https://api.github.com/repos/saurabh6790/erpnext_shopify/git/trees{/sha}","statuses_url":"https://api.github.com/repos/saurabh6790/erpnext_shopify/statuses/{sha}","languages_url":"https://api.github.com/repos/saurabh6790/erpnext_shopify/languages","stargazers_url":"https://api.github.com/repos/saurabh6790/erpnext_shopify/stargazers","contributors_url":"https://api.github.com/repos/saurabh6790/erpnext_shopify/contributors","subscribers_url":"https://api.github.com/repos/saurabh6790/erpnext_shopify/subscribers","subscription_url":"https://api.github.com/repos/saurabh6790/erpnext_shopify/subscription","commits_url":"https://api.github.com/repos/saurabh6790/erpnext_shopify/commits{/sha}","git_commits_url":"https://api.github.com/repos/saurabh6790/erpnext_shopify/git/commits{/sha}","comments_url":"https://api.github.com/repos/saurabh6790/erpnext_shopify/comments{/number}","issue_comment_url":"https://api.github.com/repos/saurabh6790/erpnext_shopify/issues/comments{/number}","contents_url":"https://api.github.com/repos/saurabh6790/erpnext_shopify/contents/{+path}","compare_url":"https://api.github.com/repos/saurabh6790/erpnext_shopify/compare/{base}...{head}","merges_url":"https://api.github.com/repos/saurabh6790/erpnext_shopify/merges","archive_url":"https://api.github.com/repos/saurabh6790/erpnext_shopify/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/saurabh6790/erpnext_shopify/downloads","issues_url":"https://api.github.com/repos/saurabh6790/erpnext_shopify/issues{/number}","pulls_url":"https://api.github.com/repos/saurabh6790/erpnext_shopify/pulls{/number}","milestones_url":"https://api.github.com/repos/saurabh6790/erpnext_shopify/milestones{/number}","notifications_url":"https://api.github.com/repos/saurabh6790/erpnext_shopify/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/saurabh6790/erpnext_shopify/labels{/name}","releases_url":"https://api.github.com/repos/saurabh6790/erpnext_shopify/releases{/id}","created_at":"2015-09-21T14:09:50Z","updated_at":"2015-11-06T09:41:32Z","pushed_at":"2016-01-14T14:26:12Z","git_url":"git://github.com/saurabh6790/erpnext_shopify.git","ssh_url":"git@github.com:saurabh6790/erpnext_shopify.git","clone_url":"https://github.com/saurabh6790/erpnext_shopify.git","svn_url":"https://github.com/saurabh6790/erpnext_shopify","homepage":null,"size":1961,"stargazers_count":0,"watchers_count":0,"language":"HTML","has_issues":false,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"frappe:master","ref":"master","sha":"c84ac85cbc6139be720dced653b8f520102d2333","user":{"login":"frappe","id":836974,"avatar_url":"https://avatars.githubusercontent.com/u/836974?v=3","gravatar_id":"","url":"https://api.github.com/users/frappe","html_url":"https://github.com/frappe","followers_url":"https://api.github.com/users/frappe/followers","following_url":"https://api.github.com/users/frappe/following{/other_user}","gists_url":"https://api.github.com/users/frappe/gists{/gist_id}","starred_url":"https://api.github.com/users/frappe/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/frappe/subscriptions","organizations_url":"https://api.github.com/users/frappe/orgs","repos_url":"https://api.github.com/users/frappe/repos","events_url":"https://api.github.com/users/frappe/events{/privacy}","received_events_url":"https://api.github.com/users/frappe/received_events","type":"Organization","site_admin":false},"repo":{"id":35806062,"name":"erpnext_shopify","full_name":"frappe/erpnext_shopify","owner":{"login":"frappe","id":836974,"avatar_url":"https://avatars.githubusercontent.com/u/836974?v=3","gravatar_id":"","url":"https://api.github.com/users/frappe","html_url":"https://github.com/frappe","followers_url":"https://api.github.com/users/frappe/followers","following_url":"https://api.github.com/users/frappe/following{/other_user}","gists_url":"https://api.github.com/users/frappe/gists{/gist_id}","starred_url":"https://api.github.com/users/frappe/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/frappe/subscriptions","organizations_url":"https://api.github.com/users/frappe/orgs","repos_url":"https://api.github.com/users/frappe/repos","events_url":"https://api.github.com/users/frappe/events{/privacy}","received_events_url":"https://api.github.com/users/frappe/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/frappe/erpnext_shopify","description":"Shopify connector for ERPNext","fork":false,"url":"https://api.github.com/repos/frappe/erpnext_shopify","forks_url":"https://api.github.com/repos/frappe/erpnext_shopify/forks","keys_url":"https://api.github.com/repos/frappe/erpnext_shopify/keys{/key_id}","collaborators_url":"https://api.github.com/repos/frappe/erpnext_shopify/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/frappe/erpnext_shopify/teams","hooks_url":"https://api.github.com/repos/frappe/erpnext_shopify/hooks","issue_events_url":"https://api.github.com/repos/frappe/erpnext_shopify/issues/events{/number}","events_url":"https://api.github.com/repos/frappe/erpnext_shopify/events","assignees_url":"https://api.github.com/repos/frappe/erpnext_shopify/assignees{/user}","branches_url":"https://api.github.com/repos/frappe/erpnext_shopify/branches{/branch}","tags_url":"https://api.github.com/repos/frappe/erpnext_shopify/tags","blobs_url":"https://api.github.com/repos/frappe/erpnext_shopify/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/frappe/erpnext_shopify/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/frappe/erpnext_shopify/git/refs{/sha}","trees_url":"https://api.github.com/repos/frappe/erpnext_shopify/git/trees{/sha}","statuses_url":"https://api.github.com/repos/frappe/erpnext_shopify/statuses/{sha}","languages_url":"https://api.github.com/repos/frappe/erpnext_shopify/languages","stargazers_url":"https://api.github.com/repos/frappe/erpnext_shopify/stargazers","contributors_url":"https://api.github.com/repos/frappe/erpnext_shopify/contributors","subscribers_url":"https://api.github.com/repos/frappe/erpnext_shopify/subscribers","subscription_url":"https://api.github.com/repos/frappe/erpnext_shopify/subscription","commits_url":"https://api.github.com/repos/frappe/erpnext_shopify/commits{/sha}","git_commits_url":"https://api.github.com/repos/frappe/erpnext_shopify/git/commits{/sha}","comments_url":"https://api.github.com/repos/frappe/erpnext_shopify/comments{/number}","issue_comment_url":"https://api.github.com/repos/frappe/erpnext_shopify/issues/comments{/number}","contents_url":"https://api.github.com/repos/frappe/erpnext_shopify/contents/{+path}","compare_url":"https://api.github.com/repos/frappe/erpnext_shopify/compare/{base}...{head}","merges_url":"https://api.github.com/repos/frappe/erpnext_shopify/merges","archive_url":"https://api.github.com/repos/frappe/erpnext_shopify/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/frappe/erpnext_shopify/downloads","issues_url":"https://api.github.com/repos/frappe/erpnext_shopify/issues{/number}","pulls_url":"https://api.github.com/repos/frappe/erpnext_shopify/pulls{/number}","milestones_url":"https://api.github.com/repos/frappe/erpnext_shopify/milestones{/number}","notifications_url":"https://api.github.com/repos/frappe/erpnext_shopify/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/frappe/erpnext_shopify/labels{/name}","releases_url":"https://api.github.com/repos/frappe/erpnext_shopify/releases{/id}","created_at":"2015-05-18T08:29:14Z","updated_at":"2016-01-13T09:48:07Z","pushed_at":"2016-01-14T14:27:52Z","git_url":"git://github.com/frappe/erpnext_shopify.git","ssh_url":"git@github.com:frappe/erpnext_shopify.git","clone_url":"https://github.com/frappe/erpnext_shopify.git","svn_url":"https://github.com/frappe/erpnext_shopify","homepage":"https://frappe.github.io/erpnext_shopify","size":4722,"stargazers_count":4,"watchers_count":4,"language":"HTML","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":true,"forks_count":7,"mirror_url":null,"open_issues_count":8,"forks":7,"open_issues":8,"watchers":4,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/frappe/erpnext_shopify/pulls/39"},"html":{"href":"https://github.com/frappe/erpnext_shopify/pull/39"},"issue":{"href":"https://api.github.com/repos/frappe/erpnext_shopify/issues/39"},"comments":{"href":"https://api.github.com/repos/frappe/erpnext_shopify/issues/39/comments"},"review_comments":{"href":"https://api.github.com/repos/frappe/erpnext_shopify/pulls/39/comments"},"review_comment":{"href":"https://api.github.com/repos/frappe/erpnext_shopify/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/frappe/erpnext_shopify/pulls/39/commits"},"statuses":{"href":"https://api.github.com/repos/frappe/erpnext_shopify/statuses/0f5a6116de23b7a9c5378074c92f688281ce6b53"}}}}