Development and Testing

Development Process

  • Create an EPC sandbox product by calling the https://api.elliemae.com/partner/v2/products API endpoint for each Partner development environment (e.g. Dev, QA, staging, UAT, production) in your SLDC. Ensure that the following fields are pointing to your corresponding development environments:
  • interfaceUrl : It could point to your development web server, where the main interface page code is deployed, or to your local machine. For more information, please see Development Environment.
  • adminInterfaceUrl : It could point to your development web server, where the admin interface page code is deployed, or to your local machine. For more information, please see Development Environment.
  • webhooks.url : It could point to your development application server, where you would like to receive web hook events generated by EPC. For more information, please see Development Environment.

You need to populate the following sections of your product configuration. Note that not all sections need to be populated in the beginning. You can update your product configuration as you progress in your dev cycle.

  • Data Entitlements. Work with the EPC team (see How do I ask for help?) to define the data entitlements for each product.
  • Access entitlements to enable your integration on your Encompass sandbox instances.
  • Categories to specify the categories that your integration will appear on.
  • Applications to specify which Ellie Mae products your integration supports
  • Workflows to indicate whether the workflow support is interactive or automated
PUT https://api.elliemae.com/partner/v2/products/{product id}
Content-Type: application/json

{
  "id":"8c1757b4-b479-4a2e-a71d-a5f91649d21b"
  "partnerId":"99999999"                        
  "name":"test-product"                         
  "listingName":"Test Product"                  
  "requestTypes":[
    0:"NEW_REQUEST"
    1:"ACCEPTED_ORDER"
  ]
  "environment":"sandbox"       
  "status":"development"
  "interfaceUrl":"https://lender.product.io/"
  "adminInterfaceUrl":"https://admin.product.io/"
  "integrationType":"ASYNC"
  "credential":{
    "required":[...]
    "properties":{...}   
  }
  "tags":{
    "workflows":[...]
    "categories":[...]
    "applications":[...]
  }
  "entitlements":{
    "access":{
      "allow":[
          0:"urn:elli:encompass:BE11172646"
      ]
      "deny":[
      ]
    }
    "data":{
      "origin":{...}
      "transactions":[
      0:{
        "requestTypes":[...]
        "request":{...}
        "response":{...}
        "created":"2019-10-10T18:33:57Z"
        "createdBy":"urn:elli:partner:99999999:environment:test"
        "extensionCount":5
      }
   }
  "webhooks":[
    0:{
      "subscriptionId":"1fb42f88-2e35-43d6-bb69-ec3832c191a3"
      "url":"https://webhook.product.io/"
      "events":[...]
      "resource":"urn:elli:epc:transaction"
    }    
    1:{
      "subscriptionId":"a985bea0-59c5-4638-a7b7-81d027d42323"
      "url":"https://webhook.product.io/"
      "events":[...]
      "resource":"urn:elli:epc:transaction:event"
  ]
  "created":"2019-10-10T18:33:57Z"   
  "createdBy":"urn:elli:partner:99999999:environment:test"
}

Full descriptions of each section can be found on the Register Products API description section.

Acceptance Testing

When your integration is ready for testing with lenders' test environments, you need to give those environments access to your integration. To do that, add a lender's test instance ID that points to your UAT environment to your product instance's access entitlements.

PATCH https://api.elliemae.com/partner/v2/products/{productId}
Content-Type: application/merge-patch+json
 
{
  "entitlements":{
  "access":{
  "allow":[
    0:"urn:elli:encompass:{ACCEPTANCE_TESTING_LENDER_INSTANCEID}"
    1:"urn:elli:encompass:{ACCEPTANCE_TESTING_LENDER_INSTANCEID2}"
  ]
  "deny":[
  ]
  }
}