---
title: "requestCustomerInfo(for:fields:message:)"
framework: proximityreader
role: symbol
role_heading: Instance Method
path: "proximityreader/customerengagementsession/requestcustomerinfo(for:fields:message:)"
---

# requestCustomerInfo(for:fields:message:)

Opens a form so that the customer can share the contact information.

## Declaration

```swift
final func requestCustomerInfo(for purpose: CustomerEngagementSession.Purpose? = nil, fields: [CustomerEngagementSession.Field], message: String? = nil) async throws -> CustomerEngagement.CustomerInfo
```

## Parameters

- `purpose`: An optional enum of pre-defined purpose of the form, for example .checkIn. The purpose`` parameter supports .checkInand.receipt`.
- `fields`: An array of contact field types on the form.
- `message`: A multi-line message text below the title.

## Mentioned in

Adding support for Tap to Share to your app

## Return Value

Return Value CustomerEngagement.CustomerInfo contact information shared by the customer.

## Discussion

Discussion If the fields array contains pass and a matching passTypeIdentifier , it displays the Wallet pass in full screen for the customer to confirm. note: CustomerEngagementSession.Error if the request fails. Note: The merchant is responsible for obtaining appropriate consent and maintaining compliant privacy notices for personal information collected through this session.

## See Also

### Requesting and getting customer information

- [requestSignup(for:fields:message:emailConsent:smsConsent:termsAndConditions:)](proximityreader/customerengagementsession/requestsignup(for:fields:message:emailconsent:smsconsent:termsandconditions:).md)
- [requestAddress(for:fields:message:)](proximityreader/customerengagementsession/requestaddress(for:fields:message:).md)
- [requestPayment(for:using:delegate:)](proximityreader/customerengagementsession/requestpayment(for:using:delegate:).md)
- [CustomerEngagementSession.Purpose](proximityreader/customerengagementsession/purpose.md)
- [CustomerEngagementSession.Field](proximityreader/customerengagementsession/field.md)
- [CustomerEngagementSession.ConsentOption](proximityreader/customerengagementsession/consentoption.md)
