In a large bowl, combine the black-eyed peas, bell pepper, shallots, celery, carrots, cabbage, and ham. Set aside.
In a medium bowl, whisk together the dill, mustard, vinegar, olive oil, cumin, salt, and pepper. Pour the vinaigrette over the black-eyed pea mixture. Toss to coat. Let the salad sit in the refrigerator or at room temperature for several hours so the flavors can combine. (This recipe can be made up to 2 days before serving.)