public function sendEstimate($deliveryMethodOrOptions = SendInvoiceOptions::METHOD_EMAIL)
    {
        if (is_string($deliveryMethodOrOptions)) {
            $options = new SendInvoiceOptions($deliveryMethodOrOptions);
        } else {
            $options = $deliveryMethodOrOptions;
        }
        unset($deliveryMethodOrOptions);

        if (! $options instanceof SendInvoiceOptions) {
            $options = is_object($options) ? get_class($options) : gettype($options);
            throw new InvalidArgumentException("Expected string or options instance. Received: '$options'");
        }

        $this->connection->patch($this->endpoint . '/' . $this->id . '/send_estimate', json_encode([
            'estimate_sending' => $options->jsonSerialize(),
        ]));

        return $this;
    }
public function sendEstimate($deliveryMethodOrOptions = SendInvoiceOptions::METHOD_EMAIL)
    {
        if (is_string($deliveryMethodOrOptions)) {
            $options = new SendInvoiceOptions($deliveryMethodOrOptions);
        } else {
            $options = $deliveryMethodOrOptions;
        }
        unset($deliveryMethodOrOptions);

        if (! $options instanceof SendInvoiceOptions) {
            $options = is_object($options) ? get_class($options) : gettype($options);
            throw new InvalidArgumentException("Expected string or options instance. Received: '$options'");
        }

        $this->connection->patch($this->endpoint . '/' . $this->id . '/send_estimate', json_encode([
            'estimate_sending' => $options->jsonSerialize(),
        ]));

        return $this;
    }
public function sendEstimate ( $ deliveryMethodOrOptions = SendInvoiceOptions :: METHOD_EMAIL ) { if ( is_string ( $ deliveryMethodOrOptions ) ) { $ options = new SendInvoiceOptions ( $ deliveryMethodOrOptions ) ; } else { $ options = $ deliveryMethodOrOptions ; } unset ( $ deliveryMethodOrOptions ) ; if ( ! $ options instanceof SendInvoiceOptions ) { $ options = is_object ( $ options ) ? get_class ( $ options ) : gettype ( $ options ) ; throw new InvalidArgumentException ( "Expected string or options instance. Received: '$options'" ) ; } $ this -> connection -> patch ( $ this -> endpoint . '/' . $ this -> id . '/send_estimate' , json_encode ( [ 'estimate_sending' => $ options -> jsonSerialize ( ) , ] ) ) ; return $ this ; }
Instruct Moneybird to send the estimate to the contact.

@param string|SendInvoiceOptions $deliveryMethodOrOptions

@return $this
@throws ApiException
Instruct Moneybird to send the estimate to the contact .