Evo Voice

<back to all web services

RecordSession

Start call recording for the specified session. If already started, this will not do anything

Requires Authentication
The following routes are available for this service:
POST/sessions/{sessionId}/record
<?php namespace dtos;

use DateTime;
use Exception;
use DateInterval;
use JsonSerializable;
use ServiceStack\{IReturn,IReturnVoid,IGet,IPost,IPut,IDelete,IPatch,IMeta,IHasSessionId,IHasBearerToken,IHasVersion};
use ServiceStack\{ICrud,ICreateDb,IUpdateDb,IPatchDb,IDeleteDb,ISaveDb,AuditBase,QueryDb,QueryDb2,QueryData,QueryData2,QueryResponse};
use ServiceStack\{ResponseStatus,ResponseError,EmptyResponse,IdResponse,ArrayList,KeyValuePair2,StringResponse,StringsResponse,Tuple2,Tuple3,ByteArray};
use ServiceStack\{JsonConverters,Returns,TypeContext};


/** @description Start call recording for the specified session. If already started, this will not do anything */
// @Api(Description="Start call recording for the specified session. If already started, this will not do anything")
class RecordSession implements IPost, JsonSerializable
{
    public function __construct(
        /** @var string|null */
        public ?string $sessionId=null
    ) {
    }

    /** @throws Exception */
    public function fromMap($o): void {
        if (isset($o['sessionId'])) $this->sessionId = $o['sessionId'];
    }
    
    /** @throws Exception */
    public function jsonSerialize(): mixed
    {
        $o = [];
        if (isset($this->sessionId)) $o['sessionId'] = $this->sessionId;
        return empty($o) ? new class(){} : $o;
    }
}

PHP RecordSession DTOs

To override the Content-type in your clients, use the HTTP Accept Header, append the .csv suffix or ?format=csv

HTTP + CSV

The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.

POST /sessions/{sessionId}/record HTTP/1.1 
Host: team.evovoice.io 
Accept: text/csv
Content-Type: text/csv
Content-Length: length

{"sessionId":"String"}