Methods

Follow

Note: We recommend that you use the latest version of our DPS web services for any new development or when you perform updates to an integration using an older version of our web services. Please review our web services listing to read up on our latest version.

Web Service Overview

All of the methods of our 3rd generation web service take user credentials as the first parameter. This should help to:

  1. Make it clearer that authentication is required
  2. Make it easier to use across all frameworks and languages

The process of accessing these is pretty much the same in all systems:

  1. Create the object for the service
  2. Create the object for the credentials
  3. Create any additional objects required to call the method of your choice
  4. Submit the objects and other parameters to the service
  5. Process the results

There are some code samples for popular frameworks to assist you with integration.

Details about each method:

GetEntry

If you have an IDNUM and no further details, or limited details, you can use this method to pull back the entire DPL record.

Definition

public DPLv3_0Entry GetEntry( 
     DPLv3_0Credentials credentials, 
     int idnum,
     DPLv3_0ListSource source // added in v3.0
);

Notes

An invalid IDNUM will return a null result.

SearchDpl

The cornerstone of our web service and the main method that you will be concerned with, this allows you to search our list in a manner similar to that of the website. The search request object is rather complex and will allow you to construct queries that go well above what is possible from the website. Please review our code samples to get yourself familliar with some common search request queries.

Your search will be limited to a maximum of 75 match constructs across all groups and no more than 5 matches can reference the NAME or STREET fields. This should be more than sufficient for your needs, but helps us to restrict the use to single transactions, if you are in need of large batch transactions, please consider our bulk screening product, or implement your batch screening one name at a time.

Each search is charged at least 1 transaction with a minimum of 1 per name or street screened. The rate for that transaction is in your contract.

Definition

public DPLv3_0Report SearchDpl( // return type changed in v3.0
    DPLv3_0Credentials credentials, // changed in v3.0
    Search  request 
 );

Notes

Signature changed in v3.0, changes noted above.

If you find that the search results are consistantly slower that you would like, and your query object is very involved, it is possible that simplification will greatly optimize your request. Multiple calls to the service for one transaction in your database is not unheard of.

If your results would return more than 1,000 hits only the first 1,000 will be returned.

Searches on the field "country" are restricted to the "Phrase" scope since they are two letter codes. If you do choose a "Word" scope the system will rewrite the search for you.

LastUpdate

This method will return the date of the last update to the most recently updated (or added) entry in our DPL. You can use this method to trigger other events that only need to happen when we update the list like download a data export.

Definition

public DateTime LastUpdate(
     DPLv3_0Credentials credentials // changed in v3.0
);

Notes

Signature changed in v3.0, changes noted above.

This data is updated live so if we are in the middle of an update it will change multiple times, if you are going to use this as suggested above, don't check it until after 8PM EST/EDT to ensure that all updates for the day are done.

LicenseRequired

Is a license required to export your goods? Given a proper ECCN and ISO 2 letter country code, this method will tell you whether a license is required and any additional details that you need to be concerned with.

Definition

public LinceseRequiredResult LicenseRequired( 
    DPLv3_0Credentials credentials, // changed in v3.0
    string eccnCode, 
    string iso2Country 
 );

Notes

Signature changed in v3.0, changes noted above.

The ISO 2 Country code must be a valid code or this method will return unintended results.

IsCountryEmbargoed

There are a few countries that are straight out embargoed. These are special cases that are not addressed by the SearchDpl method, and if you do not have a system that already checks for embargoed countries we recommend using this method to ensure you are compliant.

Definition

public bool IsCountryEmbargoed( 
   DPLv3_0Credentials credentials, // changed in v3.0
   string iso2Letter   
);

Notes

Signature changed in v3.0, changes noted above.

The country code MUST be an ISO 2 letter code or this method will not return the expected results.

GetUserDetails

This method returns the details of the user account used in the credentials. You can use this to confirm that you are using the correct account by reviewing the details, it can also be used to determine what permissions that account has on the website.

Definition

public DPLv3_0User GetUserDetails( // return type changed in v3.0
   DPLv3_0Credentials credentials // changed in v3.0
);

Notes

Signature changed in v3.0, changes noted above.

DPLv3_0User.WebService will always be true or you wouldn't have been able to make the request for the information.

GetCodeDetails

Our DPL entries are all related to source lists which we represent as a "Code", this method will allow you to pull back additional details about that code like the full name and the country of origin.

Definition

public code GetCodeDetails(
    DPLv3_0Credentials credentials, // changed in v3.0
    string listCode    
);

Notes

Signature changed in v3.0, changes noted above.

An invalid code will return a null result.

GetCountryDetails

We use ISO 2 letter codes for our countries, but if you need additional information about a country, like the full name, you can use this method.

Definition

public country GetCountryDetails(
    DPLv3_0Credentials credentials, // changed in v3.0
    string countryCode    
);

Notes

Signature changed in v3.0, changes noted above.

And invalid country request will receive a null result.

GetAliases

Each entry on our denied party list may have additional aliases or be an alias of another entry on the list. This method takes an entries unique ID (IDNUM) and returns any aliases we have in the system. If the entry has no aliases and isn't an alias it will return an empty list.

Definition

public List<DPLv3_0Entry> GetAliases( // returned value type changed in v3.0
   DPLv3_0Credentials credentials, // changed in v3.0
   int IDNUM
);

Notes

Signature changed in v3.0, changes noted above.

If you request aliases for an IDNUM that isn't valid you will also receive a null list.

AddDynamicScreeningListEntry

This method is for our customers who utilize the Dynamic Screening List (DSL). In addition to the entry form available from the website, you can use this method and integrate population of your list straight out of your ERP or Accounting system. If you would like to check for the existance of an entry on your DSL you can use the GetDynamicScreeningListEntrymethod.

Definition

public int (bool in v2.0) AddDynamicScreeningListEntry(
   DPLv3_0Credentials credentials, // changed in v3.0
   DPLv3_0DuplicateHandlingType type, // added in v2.1, altered in v3.0
   string Name,
   string Street1,
   string Street2,
   string City,
   string Region,
   string ISO2LetterCountryCode,
   string UserDefinedCode,
   string Notes,
   int clientSuppliedId // added in v2.1
);

Notes

Signature changed in v2.1, changes noted above.
Signature changed in v3.0, changes noted above.

All country codes used by MKDS are ISO 2 letter country codes. You can review our current list on the mkdenial.com website.

UpdateDynamicScreeningListEntry

This method is for our customers who utilize the Dynamic Screening List (DSL). In addition to the entry form available from the website, you can use this method and update your list straight out of your ERP or Accounting system. If you would like to check for the existance of an entry on your DSL you can use the GetDynamicScreeningListEntry method.

Definition

public bool UpdateDynamicScreeningListEntry( 
   DPLv3_0Credentials credentials, // changed in v3.0
   int id,
   bool idIsCustomers,
   string Name,
   string Street1,
   string Street2,
   string City,
   string Region,
   string ISO2LetterCountryCode,
   string UserDefinedCode,
   string Notes
);

Notes

Added in version 2.1
Signature changed in v3.0, changes noted above.

All country codes used by MKDS are ISO 2 letter country codes. You can review our current list on the mkdenial.com website. The "idIsCustomers" boolean controls the value expected in id. If the id was previously supplied by you, you can address that same id when doing an update. If, however, you saved the id returned upon adding, and you are using that to reference your entity, you should set idIsCustomers to false.

GetDynamicScreeningListEntry

This method is for our customers who utilize the Dynamic Screening List (DSL). In addition to the admin system on the website, you can use this method and integrate population of your list straight out of your ERP or Accounting system. If you would like to add an item to your existing list you can use the AddDynamicScreeningListEntry method.

Definition

public DynamicScreeningEntity[] GetDynamicScreeningListEntry(
    DPLv3_0Credentials credentials, // changed in v3.0
    int id,
    bool idIsCustomers // added in v2.1
);

Notes

Signature changed in v2.1, changes noted above.
Signature changed in v3.0, changes noted above.

If you are interested in the DSL system, contact us for a quote.

The "idIsCustomers" boolean controls the value expected in id. If the id was previously supplied by you, you can address that same id when doing an update. If, however, you saved the id returned upon adding, and you are using that to reference your entity, you should set idIsCustomers to false.

ClearMatch

ClearMatch should be used only by our clients who use the match clearance system. This is a system to be used in conjunction with our batch screening where one can mark a reported match as "cleared" and it will not be reported in the future. Your report should have links to allow you to do this from the website, but if you wish to integrate this into a larger system, we have provided this simple interface:

Definition

public bool ClearMatch( 
    DPLv3_0Credentials credentials, // changed in v3.0
    int idnum,
    string partyName,
    string signature
);

Notes

Signature changed in v3.0, changes noted above.

If you are interested in the match clearance system contact us for a quote.

GroupFactory

Assists with the creation of complicated groups. Currently only supports a group of list codes by country of origin.

Definition

public Group GroupFactory( 
    DPLv3_0Credentials credentials,
    GroupFilterType filterType,
    String argument // type altered in v3.0
);

Notes

Added in v2.1 (though not documented at the time).

argument type altered in v3.0 to improve cross-platform compatability.

For GroupFilterType.RestrictToCodesBySourceCountry the argument is a string containing an ISO 2 letter country code.

GetLogs

Returns the entries from the search audit log for the timeframe specified.

Definition

public DPLv3_0Entry GetEntry( 
    DPLv3_0Credentials credentials, 
    DateTime From,
    DateTime To
);

Notes

Added in v3.0.

Make sure From is less than To.

Have more questions? Submit a request

Comments

Powered by Zendesk