/** * @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); }