XLM-RPC PHP Contact Fields and Custom Fields

I have noticed that XLM-RCP PHP API doesn’t use the normal field names like FirstName — it decided to make things fun and use completely different names like “given_name”.
Example:
$contact_data = array(
‘given_name’ => $fname,
);

I need an extensive list of every single XLM-RCP PHP API contact field name (Address fields, phone number fields, etc.)

Also, how do I find the custom field id number to use in XLM-RCP PHP API?
Example:
‘custom_fields’ => array (
array(
‘id’ => 10,
‘content’ => ‘Sara’
),
)

I’m not sure which SDK you’re using; the primary PHP SDK ( https://github.com/infusionsoft/infusionsoft-php) shouldn’t have alternate casing.
$infusionsoft->contacts('xml')->add(array('FirstName' => 'John', 'LastName' => 'Doe'));

The custom field Ids will be different for each application instance, based on how it’s configured. The DataFormField table is what holds those values: https://developer.infusionsoft.com/docs/xml-rpc/#data-query-a-data-table / https://developer.infusionsoft.com/docs/table-schema/