> ## Documentation Index
> Fetch the complete documentation index at: https://developer.sendoso.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Send Physical Gift with Address Collection

> This endpoint allows you to send a physical item when you do not know the recipient address.

### Body

<ParamField body="send" type="object" required>
  <Expandable title="send" defaultOpen="true">
    <ParamField body="touch_id" type="integer" required>
      The ID of the campaign within Sendoso you are wanting to send.
    </ParamField>

    <ParamField body="name" type="string" required>
      The recipient's name
    </ParamField>

    <ParamField body="email" type="string" required>
      The recipient's email address.
    </ParamField>

    <ParamField body="custom_message" type="string">
      The message that goes on the notecard in the gift box (if applicable).
    </ParamField>

    <ParamField body="no_address" type="boolean" required>
      Indicates whether the recipient's address is provided in the payload or not. Value must be `true`.
    </ParamField>

    <ParamField body="confirm_address" type="boolean" required>
      Indicates if you are sending the address collection email. Value must be `true`.
    </ParamField>

    <ParamField body="address_confirmation_via" type="string" required>
      How the recipient will be asked to confirm their address. Options are `email`, which sends the recipient an email, or `link` which provides a link in the response, and sends a link to the sender's email address.
    </ParamField>

    <ParamField body="resume_with_unconfirmed_address" type="boolean" required>
      Whether or not the gift should be sent if the user does NOT confirm their address. For this endpoint, please leave as **FALSE**.
    </ParamField>

    <ParamField body="expire_after_days" type="integer" required>
      Sets the number of days the address collection form will be valid. Valid values are from `2` to `7` inclusive.
    </ParamField>

    <ParamField body="hide_product_info" type="boolean" required>
      Determines whether or not the gift name & image will appear on the address collection page.
    </ParamField>

    <ParamField body="address_confirmation_custom_message" type="string">
      The message that is on the address collection email. **Note** - this is only applicable if you are sending the address collectionn via the email method.
    </ParamField>

    <ParamField body="via" type="string" required>
      Value must be `single_person_or_company`.
    </ParamField>

    <ParamField body="via_from" type="string" required>
      The name of the application making the send request. Please make sure this is consistent per application.
    </ParamField>
  </Expandable>
</ParamField>

### Response

<ResponseField name="success" type="boolean" required>
  Whether or not the request was successful. Always `true` for 2xx responses.
</ResponseField>

<ResponseField name="message" type="string" required>
  Response message.
</ResponseField>

<ResponseField name="tracking_code" type="string" required>
  The send's unique tracking code.
</ResponseField>

<RequestExample>
  ```json Example Request theme={null}
      {
          "send":
          {
              "touch_id": 123456,
              "name": "John Smith",
              "email": "developers@sendoso.com",
              "custom_message": "Hi John, I wanted to personally invite you to...",
              "no_address": true,
              "confirm_address": true,
              "address_confirmation_via": "email",
              "resume_with_unconfirmed_address": false,
              "expire_after_days": 5,
              "hide_product_info": true,
              "address_confirmation_custom_message": "Please update your shipping address!",
              "via": "single_person_or_company",
              "via_from": "YOUR APPLICATION NAME"
          }
      }
  ```
</RequestExample>

<ResponseExample>
  ```json 200 - Success theme={null}
  {
    "success": true,
    "message": "Gift send Successfully",
    "tracking_code": "116d64dc686937dd17b1865019cee71d295bcf38"
  }
  ```

  ```json 400 - Bad Request theme={null}
  {
    "success": false,
    "message": "email can't be blank"
  }
  ```

  ```json 401 - Unauthorized theme={null}
  {
    "success": false,
    "message": "The access token is invalid",
  }
  ```

  ```json 404 - Not Found theme={null}
  {
    "success": false,
    "message": "Touch not found"
  }
  ```
</ResponseExample>
