Ticket beantworten
answerTicket()
Wird ausgeführt, wenn ein Kunde im Storefront auf ein bestehendes Ticket antwortet.
Parameter
Typ | Name | Beschreibung |
|---|---|---|
Ticket | $ticket | Das Ticket-Objekt von hostware. Das $ticket->ticket_provider_external_id enthält die externe Ticket-ID. |
string | $message | Die Nachricht |
array | $attachments | Array mit Symfony-Anhängen |
Antwort
Klasse TicketAnsweredResponse().
Typ | Name | Beschreibung |
|---|---|---|
mixed | messageId | Die ID der Nachricht. In der Regel eine Integer- oder UUID. |
array | attachmentFilePaths | Array mit Dateipfaden in derselben Reihenfolge wie die Eingabedateien. |
Beispielcode
public function answerTicket(Ticket $ticket, string $message, array $attachments): TicketAnsweredResponse {
$threadAttachments = [];
foreach ($attachments as $attachment) {
$threadAttachments[] = [
'fileName' => $attachment->getClientOriginalName(),
'mimeType' => $attachment->getMimeType(),
'data' => base64_encode($attachment->getContent()),
];
}
$customerId = $this->getCustomerId($ticket->customer);
$response = $this->makeRequest("conversations/{$ticket->ticket_provider_external_id}/threads", "POST", [
'text' => $message,
'type' => 'customer',
'customer' => [
'id' => $customerId,
],
"attachments" => $threadAttachments
]);
/**
* Get the attachment IDs
*/
$attachmentResponse = [];
foreach ($response->_embedded->attachments as $file) {
$attachmentResponse[] = $file->id;
}
return new TicketAnsweredResponse(
$response->id,
$attachmentResponse,
);
}Testen
Du kannst diese Funktion testen, indem Du als Kunde auf ein Ticket antwortest.
War das hilfreich?