{"id":19101550,"url":"https://github.com/kdcllc/CometD.NetCore.Salesforce","last_synced_at":"2025-04-18T18:32:40.714Z","repository":{"id":33950177,"uuid":"142211457","full_name":"kdcllc/CometD.NetCore.Salesforce","owner":"kdcllc","description":"CometD Salesforce Implementation.","archived":false,"fork":false,"pushed_at":"2022-06-13T01:37:57.000Z","size":294,"stargazers_count":45,"open_issues_count":11,"forks_count":24,"subscribers_count":6,"default_branch":"master","last_synced_at":"2024-11-05T16:18:41.750Z","etag":null,"topics":["bay","cometd","dotnet-cli","dotnet-core","salesforce","salesforce-apex","salesforce-api","salesforce-developers","salesforce-rest-api","workbench"],"latest_commit_sha":null,"homepage":null,"language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/kdcllc.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null},"funding":{"github":["kdcllc"],"custom":["https://www.buymeacoffee.com/vyve0og"]}},"created_at":"2018-07-24T20:49:11.000Z","updated_at":"2023-08-29T10:45:52.000Z","dependencies_parsed_at":"2022-07-30T21:08:12.520Z","dependency_job_id":null,"html_url":"https://github.com/kdcllc/CometD.NetCore.Salesforce","commit_stats":null,"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kdcllc%2FCometD.NetCore.Salesforce","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kdcllc%2FCometD.NetCore.Salesforce/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kdcllc%2FCometD.NetCore.Salesforce/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kdcllc%2FCometD.NetCore.Salesforce/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kdcllc","download_url":"https://codeload.github.com/kdcllc/CometD.NetCore.Salesforce/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":223783108,"owners_count":17201903,"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":["bay","cometd","dotnet-cli","dotnet-core","salesforce","salesforce-apex","salesforce-api","salesforce-developers","salesforce-rest-api","workbench"],"created_at":"2024-11-09T03:53:20.911Z","updated_at":"2024-11-09T03:57:47.441Z","avatar_url":"https://github.com/kdcllc.png","language":"C#","funding_links":["https://github.com/sponsors/kdcllc","https://www.buymeacoffee.com/vyve0og"],"categories":["others"],"sub_categories":[],"readme":"# CometD.NetCore.Salesforce\n\n[![GitHub license](https://img.shields.io/badge/license-MIT-blue.svg?style=flat-square)](https://raw.githubusercontent.com/kdcllc/cometd-netcore-salesforce/master/LICENSE)\n[![Build status](https://ci.appveyor.com/api/projects/status/baalfhs6vvc38icc?svg=true)](https://ci.appveyor.com/project/kdcllc/cometd-netcore-salesforce)\n[![NuGet](https://img.shields.io/nuget/v/CometD.NetCore.Salesforce.svg)](https://www.nuget.org/packages?q=Bet.AspNetCore)\n![Nuget](https://img.shields.io/nuget/dt/CometD.NetCore.Salesforce)\n[![feedz.io](https://img.shields.io/badge/endpoint.svg?url=https://f.feedz.io/kdcllc/kdcllc/shield/CometD.NetCore.Salesforce/latest)](https://f.feedz.io/kdcllc/kdcllc/packages/CometD.NetCore.Salesforce/latest/download)\n\n_Note: Pre-release packages are distributed via [feedz.io](https://f.feedz.io/kdcllc/kcllc/nuget/index.json)._\n\n## Summary\n\nThis repo contains the CometD .NET Core implementation for Salesforce Platform events.\n\nThese events can be subscribed to and listened to by your custom `Event Listener`. The sample application of this library can be found [here](https://github.com/kdcllc/Bet.BuildingBlocks.SalesforceEventBus).\n\n\nThe solution contains the following:\n\n1. [`CometD.NetCore2.Salesforce`](./src/CometD.NetCore.Salesforce/)\n     - A Salesforce Platform Events implementation based [Even Bus idea of eShopOnContainers](https://github.com/dotnet-architecture/eShopOnContainers).\n     - [Reusable Building Blocks and sample application that listens to Salesforce push events](https://github.com/kdcllc/Bet.BuildingBlocks.SalesforceEventBus).\n\n2. [DotNet Cli tool `salesforce`](./src/AuthApp/)\n   - This dotnet cli tool allows for retrieval of `Access` or `Refresh Tokens`  to be used by any other application.\n   Please refer to [How Are Apps Authenticated with the Web Server OAuth Authentication Flow](https://developer.salesforce.com/docs/atlas.en-us.api_rest.meta/api_rest/intro_understanding_web_server_oauth_flow.htm)\n\n[![buymeacoffee](https://www.buymeacoffee.com/assets/img/custom_images/orange_img.png)](https://www.buymeacoffee.com/vyve0og)\n\n## Give a Star! :star:\n\nIf you like or are using this project to learn or start your solution, please give it a star. Thanks!\n\n## Install\n\n```csharp\n    dotnet add package CometD.NetCore.Salesforce\n```\n\n## Saleforce Setup\n\n[Watch Video](https://www.youtube.com/watch?v=L6OWyCfQD6U)\n\n1. Sing up for development sandbox with Saleforce: [https://developer.salesforce.com/signup](https://developer.salesforce.com/signup).\n2. Create Connected App in Salesforce.\n3. Create a Platform Event.\n\n### Create Connected App in Salesforce\n\n1. Setup -\u003e Quick Find -\u003e manage -\u003e App Manager -\u003e New Connected App.\n2. Basic Info:\n\n![info](./img/new-app-basic-info.jpg)\n\n3. API (Enable OAuth Settings):\n![settings](./img/new-app-api-auth.jpg)\n\n4. Retrieve `Consumer Key` and `Consumer Secret` to be used within the Test App\n\n### Create a Platform Event\n1. Setup -\u003e Quick Find -\u003e Events -\u003e Platform Events -\u003e New Platform Event:\n\n![event](./img/new-platform-event.jpg)\n\n2. Add Custom Field\n\n![event](./img/new-platform-event-field.jpg)\n\n(note: use sandbox custom domain for the login to workbench in order to install this app within your production)\n\nUse workbench to test the Event [workbench](https://workbench.developerforce.com/login.php?startUrl=%2Finsert.php)\n\n## AuthApp\n\n### OAuth Refresh Token Flow\n\n[Use login instead of test](https://github.com/developerforce/Force.com-Toolkit-for-NET/wiki/Web-Server-OAuth-Flow-Sample#am-i-using-the-test-environment)\nSimple application that provides with Web Server OAuth Authentication Flow to retrieve\n`Access Token` and `Refresh Token` to be used within the application.\n\n### Username/Password Flow\n\nTo enable Username/Password flow and grant type, simply omit the auth token and refresh token while providing the username, password and user api token.\n\n## Special thanks to our contributors\n\n* [cwoolum](https://github.com/cwoolum)\n* [ts46235](https://github.com/ts46235)\n* [cternes](https://github.com/cternes)\n* [apaulro](https://github.com/apaulro)\n\n## Related projects\n\n- [Oyatel/CometD.NET](https://github.com/Oyatel/CometD.NET)\n- [nthachus/CometD.NET](https://github.com/nthachus/CometD.NET)\n- [tdawgy/CometD.NetCore](https://github.com/tdawgy/CometD.NetCore)\n- [eShopOnContainers](https://github.com/dotnet-architecture/eShopOnContainers)\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkdcllc%2FCometD.NetCore.Salesforce","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkdcllc%2FCometD.NetCore.Salesforce","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkdcllc%2FCometD.NetCore.Salesforce/lists"}