/**
  * @param Context $context
  * @param Recipient $recipient
  * @param Sender $sender
  * @param string $referenceId
  * @param \DateTimeInterface $time
  */
 public function invite(Context $context, Recipient $recipient, Sender $sender, $referenceId, \DateTimeInterface $time = null)
 {
     if (null === $time) {
         $time = new \DateTime();
     }
     $json = ['recipientEmail' => $recipient->getEmail(), 'recipientName' => $recipient->getName(), 'referenceId' => $referenceId, 'templateId' => $context->getTemplateId(), 'locale' => $context->getLocale(), 'senderName' => $sender->getName(), 'senderEmail' => $sender->getEmail(), 'replyTo' => $sender->getReplyEmail(), 'preferredSendTime' => $time->format('c'), 'tags' => $context->getTags(), 'redirectUri' => $context->getRedirectUri()];
     return $this->makeRequest(self::ENDPOINT . $context->getBusinessUnitId() . '/invitations', $json);
 }