solution = [ 'callSid' => $callSid, ]; $this->uri = '/Voice/' . \rawurlencode($callSid) .'/Annotation'; } /** * Fetch the AnnotationInstance * * @return AnnotationInstance Fetched AnnotationInstance * @throws TwilioException When an HTTP error occurs. */ public function fetch(): AnnotationInstance { $payload = $this->version->fetch('GET', $this->uri); return new AnnotationInstance( $this->version, $payload, $this->solution['callSid'] ); } /** * Update the AnnotationInstance * * @param array|Options $options Optional Arguments * @return AnnotationInstance Updated AnnotationInstance * @throws TwilioException When an HTTP error occurs. */ public function update(array $options = []): AnnotationInstance { $options = new Values($options); $data = Values::of([ 'AnsweredBy' => $options['answeredBy'], 'ConnectivityIssue' => $options['connectivityIssue'], 'QualityIssues' => $options['qualityIssues'], 'Spam' => Serialize::booleanToString($options['spam']), 'CallScore' => $options['callScore'], 'Comment' => $options['comment'], 'Incident' => $options['incident'], ]); $payload = $this->version->update('POST', $this->uri, [], $data); return new AnnotationInstance( $this->version, $payload, $this->solution['callSid'] ); } /** * Provide a friendly representation * * @return string Machine friendly representation */ public function __toString(): string { $context = []; foreach ($this->solution as $key => $value) { $context[] = "$key=$value"; } return '[Twilio.Insights.V1.AnnotationContext ' . \implode(' ', $context) . ']'; } }