# Interaction

```swift
struct Interaction
```

**Conforms to** `Swift.Equatable`, `Swift.Hashable`, `Swift.Sendable`

Defined in: [Sources/FrakSDK/Tracking/Interaction.swift:3](https://github.com/frak-id/wallet/blob/35995d05c807efe1e0d6319fdede3ad363124d1e/sdk/ios/Sources/FrakSDK/Tracking/Interaction.swift#L3)

## Type methods

### arrival(referrerWallet:referrerClientId:referrerMerchantId:referralTimestamp:)

```swift
static func arrival(
    referrerWallet: String? = nil,
    referrerClientId: String? = nil,
    referrerMerchantId: String? = nil,
    referralTimestamp: Int64? = nil
) -> Interaction
```

### custom(_:data:idempotencyKey:)

```swift
static func custom(
    _ customType: String,
    data: [String : String] = [:],
    idempotencyKey: String? = nil
) -> Interaction
```

### sharing(sharingTimestamp:purchaseId:)

```swift
static func sharing(sharingTimestamp: Int64? = nil, purchaseId: String? = nil) -> Interaction
```

## Operators

### !=(_:_:)

```swift
static func != (lhs: Self, rhs: Self) -> Bool
```

Returns a Boolean value indicating whether two values are not equal.

Inequality is the inverse of equality. For any values `a` and `b`, `a != b`
implies that `a == b` is `false`.

This is the default implementation of the not-equal-to operator (`!=`)
for any type that conforms to `Equatable`.

- Parameters:
  - lhs: A value to compare.
  - rhs: Another value to compare.