Create a Custom Order Provider Plugin #
Pragma Engine supports having multiple custom Order Provider Plugins. This guide covers creating a custom plugin to implement the Orders service with a provider of your choice.
For an example of how to create a custom plugin, see Custom Identity Providers.
1. Create an Order Provider Plugin class #
Below is a plugin interface to implement a custom Order Provider Plugin:
interface OrderProviderPlugin : PragmaServicePlugin {
    fun getType(): OrderProviderType
    fun getName(): String
    suspend fun syncOrders(accountId: String, orders: Orders)
}
2. Add a new enum value #
Add your ext provider:
AccountRpcExt.proto
enum ExtIdProvider {
  EXT_UNUSED = 0; 
  reserved 1 to 100; // Pragma supported Id Providers
  //  === EXTENSIONS (101+) ===
  EXAMPLE_PROVIDER = 101;
}
3. Configure the Order Provider Plugin #
To enable your custom plugin update your social config:
social: 
  pluginConfigs:
    ThirdPartyNodeService.orderProviderPlugins:
      plugins:
        Example:
          class: "ext.order.ExampleOrderProviderPlugin"