Spring'15で重複管理機能が追加されましたが、ApexでもDatabase.DMLOptionsを使うことで重複管理機能を利用することができます。
Debug Logでの確認
重複管理の設定
一致ルール
重複ルール
Salesforce DUG Meetup#8で聞いた話
次のようにAllowSaveを指定することで重複時に保存できるかエラーにするか指定することができます。『false』にするとエラーになり、『true』にすると重複していても保存が可能になります。
dml.DuplicateRuleHeader.AllowSave = false;
Meetupで『true』にしてもエラーになるよねって話があったので試してみたのですが、『false』でも『true』でもエラーになりました。正式リリースされるときには直ってるといいですねって話でした。