{"id":19528513,"url":"https://github.com/orca-scan/orca-webhook-dotnet","last_synced_at":"2026-06-16T00:33:43.284Z","repository":{"id":39658254,"uuid":"323682692","full_name":"orca-scan/orca-webhook-dotnet","owner":"orca-scan","description":"How to build an Orca Scan WebHook endpoint using .Net Core","archived":false,"fork":false,"pushed_at":"2022-05-28T21:51:49.000Z","size":31,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-10-23T14:57:45.718Z","etag":null,"topics":["barcode","dotnetcore","webhook"],"latest_commit_sha":null,"homepage":"","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/orca-scan.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-12-22T16:49:15.000Z","updated_at":"2022-03-12T12:49:20.000Z","dependencies_parsed_at":"2022-08-28T06:50:25.270Z","dependency_job_id":null,"html_url":"https://github.com/orca-scan/orca-webhook-dotnet","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/orca-scan/orca-webhook-dotnet","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/orca-scan%2Forca-webhook-dotnet","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/orca-scan%2Forca-webhook-dotnet/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/orca-scan%2Forca-webhook-dotnet/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/orca-scan%2Forca-webhook-dotnet/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/orca-scan","download_url":"https://codeload.github.com/orca-scan/orca-webhook-dotnet/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/orca-scan%2Forca-webhook-dotnet/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34386320,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-15T02:00:07.085Z","response_time":63,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["barcode","dotnetcore","webhook"],"created_at":"2024-11-11T01:19:06.864Z","updated_at":"2026-06-16T00:33:43.279Z","avatar_url":"https://github.com/orca-scan.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# orca-webhook-dotnet\n\nConnect [Orca Scan](https://orcascan.com) to your own system using webhooks. When a user scans a barcode and adds, updates, or deletes a row, Orca Scan sends the data to your server in real-time - no polling, no manual exports.\n\nThis C# example shows you how to:\n\n- **Receive scan data** from Orca Scan as it happens ([Webhook Out](https://orcascan.com/guides/updating-your-system-data-when-a-barcode-is-scanned-da8bbe42))\n- **Push data back** into Orca Scan from your own system ([Webhook In](https://orcascan.com/guides/updating-orca-scan-data-from-your-system-4b249706))\n\n## Quick start\n\nRequires [.NET SDK](https://dotnet.microsoft.com/download) 6.0 or later.\n\n```bash\ngit clone https://github.com/orca-scan/orca-webhook-dotnet.git\ncd orca-webhook-dotnet\ndotnet run\n```\n\nServer runs on port **8888**.\n\n## Receiving data from Orca Scan (Webhook Out)\n\nWhen a barcode is scanned and a row changes, Orca Scan sends a `POST` request to `/orca-webhook-out` with the row data as JSON. You can use this to sync inventory to your database, trigger alerts, update dashboards — whatever your workflow needs.\n\nEvery request includes these system fields:\n\n| Field | Description |\n|---|---|\n| `___orca_event` | `rows:add`, `rows:update`, `rows:delete`, or `test` |\n| `___orca_sheet_name` | The sheet that triggered the event |\n| `___orca_user_email` | Email of the user _(HTTPS only)_ |\n\nAll other fields match your sheet column names exactly _(case and space sensitive)_.\n\nThe full docs cover additional events like [import](https://orcascan.com/guides/updating-your-system-data-when-a-barcode-is-scanned-da8bbe42#what-information-does-orca-scan-send-when-i-import-data), [clear](https://orcascan.com/guides/updating-your-system-data-when-a-barcode-is-scanned-da8bbe42#what-information-does-orca-scan-send-when-i-clear-data), and [security headers](https://orcascan.com/guides/updating-your-system-data-when-a-barcode-is-scanned-da8bbe42#security).\n\n### Test with cURL\n\n```bash\ncurl -X POST 'http://127.0.0.1:8888/orca-webhook-out' \\\n-H 'Content-Type: application/json' \\\n-d '{\n    \"___orca_event\": \"rows:add\",\n    \"___orca_sheet_name\": \"Vehicle Checks\",\n    \"___orca_user_email\": \"hidden@requires.https\",\n    \"___orca_row_id\": \"5cf5c1efc66a9681047a0f3d\",\n    \"Barcode\": \"4S3BMHB68B3286050\",\n    \"Make\": \"SUBARU\",\n    \"Model\": \"Legacy\",\n    \"Model Year\": \"2011\",\n    \"Vehicle Type\": \"PASSENGER CAR\",\n    \"Plant City\": \"Lafayette\",\n    \"Trim\": \"Premium\",\n    \"Location\": \"52.2034823, 0.1235817\",\n    \"Notes\": \"Needs new tires\"\n}'\n```\n\n### Test with Orca Scan\n\nExpose your local server with [localtunnel](https://github.com/localtunnel/localtunnel):\n\n```bash\nnpx localtunnel --port 8888\n```\n\nThen [add the tunnel URL as your Webhook Out endpoint](https://orcascan.com/guides/capture-barcode-scan-events-with-webhooks-da8bbe42#how-to-set-up-a-webhook-out-url) in the Orca Scan web app and hit **Test**.\n\n\u003e Webhooks are fire-and-forget — they are not retried regardless of HTTP response.\n\n## Pushing data into Orca Scan (Webhook In)\n\nNeed to update Orca Scan from your own system? Hit `GET /trigger-webhook-in` to push a row into a sheet via the [Webhook In API](https://orcascan.com/guides/updating-orca-scan-data-from-your-system-4b249706).\n\nTo connect it to your sheet, update the URL in [server.cs](server.cs):\n\n```\nhttps://api.orcascan.com/sheets/{id}\n```\n\nSee the [REST API docs](https://orcascan.com/guides/barcode-scanning-rest-api-f09a21c3) for all available endpoints.\n\n## Examples in other languages\n\n| Language | Repository |\n|---|---|\n| Node.js | [orca-webhook-node](https://github.com/orca-scan/orca-webhook-node) |\n| Python | [orca-webhook-python](https://github.com/orca-scan/orca-webhook-python) |\n| Go | [orca-webhook-go](https://github.com/orca-scan/orca-webhook-go) |\n| Java | [orca-webhook-java](https://github.com/orca-scan/orca-webhook-java) |\n| PHP | [orca-webhook-php](https://github.com/orca-scan/orca-webhook-php) |\n\n## Help\n\n[Chat to us live](https://orcascan.com/#chat) if you run into any issues.\n\n## License\n\n\u0026copy; Orca Scan, the [Barcode Scanner app for iOS and Android](https://orcascan.com).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Forca-scan%2Forca-webhook-dotnet","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Forca-scan%2Forca-webhook-dotnet","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Forca-scan%2Forca-webhook-dotnet/lists"}