راهنمای استفاده از مستربات سروش پلاس

DownloadFile

tOKENDownloadFileUrlGet


/{TOKEN}/downloadFile/{url}

Usage and SDK Samples

curl -X GET "https://api.apieco.ir/surush/{TOKEN}/downloadFile/{url}"
import io.swagger.client.*;
import io.swagger.client.auth.*;
import io.swagger.client.model.*;
import io.swagger.client.api.DownloadFileApi;

import java.io.File;
import java.util.*;

public class DownloadFileApiExample {

    public static void main(String[] args) {
        
        DownloadFileApi apiInstance = new DownloadFileApi();
        String xApiKey = xApiKey_example; // String | apikey for use API
        String tOKEN = tOKEN_example; // String | مقدار TOKEN در ابتدای ثبت نام بات به شما داده شده است
        String url = url_example; // String | مقدار TOKEN در ابتدای ثبت نام بات به شما داده شده است
        try {
            apiInstance.tOKENDownloadFileUrlGet(xApiKey, tOKEN, url);
        } catch (ApiException e) {
            System.err.println("Exception when calling DownloadFileApi#tOKENDownloadFileUrlGet");
            e.printStackTrace();
        }
    }
}
import io.swagger.client.api.DownloadFileApi;

public class DownloadFileApiExample {

    public static void main(String[] args) {
        DownloadFileApi apiInstance = new DownloadFileApi();
        String xApiKey = xApiKey_example; // String | apikey for use API
        String tOKEN = tOKEN_example; // String | مقدار TOKEN در ابتدای ثبت نام بات به شما داده شده است
        String url = url_example; // String | مقدار TOKEN در ابتدای ثبت نام بات به شما داده شده است
        try {
            apiInstance.tOKENDownloadFileUrlGet(xApiKey, tOKEN, url);
        } catch (ApiException e) {
            System.err.println("Exception when calling DownloadFileApi#tOKENDownloadFileUrlGet");
            e.printStackTrace();
        }
    }
}
String *xApiKey = xApiKey_example; // apikey for use API (default to WsLdHK46I5Wfr5xgI0ynjjyiw9Fyhydu)
String *tOKEN = tOKEN_example; // مقدار TOKEN در ابتدای ثبت نام بات به شما داده شده است
String *url = url_example; // مقدار TOKEN در ابتدای ثبت نام بات به شما داده شده است

DownloadFileApi *apiInstance = [[DownloadFileApi alloc] init];

[apiInstance tOKENDownloadFileUrlGetWith:xApiKey
    tOKEN:tOKEN
    url:url
              completionHandler: ^(NSError* error) {
                            if (error) {
                                NSLog(@"Error: %@", error);
                            }
                        }];
var _ = require('_____');

var api = new _.DownloadFileApi()

var xApiKey = xApiKey_example; // {String} apikey for use API

var tOKEN = tOKEN_example; // {String} مقدار TOKEN در ابتدای ثبت نام بات به شما داده شده است

var url = url_example; // {String} مقدار TOKEN در ابتدای ثبت نام بات به شما داده شده است


var callback = function(error, data, response) {
  if (error) {
    console.error(error);
  } else {
    console.log('API called successfully.');
  }
};
api.tOKENDownloadFileUrlGet(xApiKey, tOKEN, url, callback);
using System;
using System.Diagnostics;
using IO.Swagger.Api;
using IO.Swagger.Client;
using IO.Swagger.Model;

namespace Example
{
    public class tOKENDownloadFileUrlGetExample
    {
        public void main()
        {
            
            var apiInstance = new DownloadFileApi();
            var xApiKey = xApiKey_example;  // String | apikey for use API (default to WsLdHK46I5Wfr5xgI0ynjjyiw9Fyhydu)
            var tOKEN = tOKEN_example;  // String | مقدار TOKEN در ابتدای ثبت نام بات به شما داده شده است
            var url = url_example;  // String | مقدار TOKEN در ابتدای ثبت نام بات به شما داده شده است

            try
            {
                apiInstance.tOKENDownloadFileUrlGet(xApiKey, tOKEN, url);
            }
            catch (Exception e)
            {
                Debug.Print("Exception when calling DownloadFileApi.tOKENDownloadFileUrlGet: " + e.Message );
            }
        }
    }
}
<?php
require_once(__DIR__ . '/vendor/autoload.php');

$api_instance = new Swagger\Client\Api\DownloadFileApi();
$xApiKey = xApiKey_example; // String | apikey for use API
$tOKEN = tOKEN_example; // String | مقدار TOKEN در ابتدای ثبت نام بات به شما داده شده است
$url = url_example; // String | مقدار TOKEN در ابتدای ثبت نام بات به شما داده شده است

try {
    $api_instance->tOKENDownloadFileUrlGet($xApiKey, $tOKEN, $url);
} catch (Exception $e) {
    echo 'Exception when calling DownloadFileApi->tOKENDownloadFileUrlGet: ', $e->getMessage(), PHP_EOL;
}
?>
use Data::Dumper;
use WWW::SwaggerClient::Configuration;
use WWW::SwaggerClient::DownloadFileApi;

my $api_instance = WWW::SwaggerClient::DownloadFileApi->new();
my $xApiKey = xApiKey_example; # String | apikey for use API
my $tOKEN = tOKEN_example; # String | مقدار TOKEN در ابتدای ثبت نام بات به شما داده شده است
my $url = url_example; # String | مقدار TOKEN در ابتدای ثبت نام بات به شما داده شده است

eval { 
    $api_instance->tOKENDownloadFileUrlGet(xApiKey => $xApiKey, tOKEN => $tOKEN, url => $url);
};
if ($@) {
    warn "Exception when calling DownloadFileApi->tOKENDownloadFileUrlGet: $@\n";
}
from __future__ import print_statement
import time
import swagger_client
from swagger_client.rest import ApiException
from pprint import pprint

# create an instance of the API class
api_instance = swagger_client.DownloadFileApi()
xApiKey = xApiKey_example # String | apikey for use API (default to WsLdHK46I5Wfr5xgI0ynjjyiw9Fyhydu)
tOKEN = tOKEN_example # String | مقدار TOKEN در ابتدای ثبت نام بات به شما داده شده است
url = url_example # String | مقدار TOKEN در ابتدای ثبت نام بات به شما داده شده است

try: 
    api_instance.t_oken_download_file_url_get(xApiKey, tOKEN, url)
except ApiException as e:
    print("Exception when calling DownloadFileApi->tOKENDownloadFileUrlGet: %s\n" % e)

Parameters

Path parameters
Name Description
TOKEN*
String
مقدار TOKEN در ابتدای ثبت نام بات به شما داده شده است
Required
url*
String
مقدار TOKEN در ابتدای ثبت نام بات به شما داده شده است
Required
Header parameters
Name Description
x-api-key*
String
apikey for use API
Required

Responses

Status: 200 - ok


GetMessage

tOKENGetMessageGet


/{TOKEN}/getMessage

Usage and SDK Samples

curl -X GET "https://api.apieco.ir/surush/{TOKEN}/getMessage"
import io.swagger.client.*;
import io.swagger.client.auth.*;
import io.swagger.client.model.*;
import io.swagger.client.api.GetMessageApi;

import java.io.File;
import java.util.*;

public class GetMessageApiExample {

    public static void main(String[] args) {
        
        GetMessageApi apiInstance = new GetMessageApi();
        String xApiKey = xApiKey_example; // String | apikey for use API
        String tOKEN = tOKEN_example; // String | مقدار TOKEN در ابتدای ثبت نام بات به شما داده شده است
        try {
            inline_response_200 result = apiInstance.tOKENGetMessageGet(xApiKey, tOKEN);
            System.out.println(result);
        } catch (ApiException e) {
            System.err.println("Exception when calling GetMessageApi#tOKENGetMessageGet");
            e.printStackTrace();
        }
    }
}
import io.swagger.client.api.GetMessageApi;

public class GetMessageApiExample {

    public static void main(String[] args) {
        GetMessageApi apiInstance = new GetMessageApi();
        String xApiKey = xApiKey_example; // String | apikey for use API
        String tOKEN = tOKEN_example; // String | مقدار TOKEN در ابتدای ثبت نام بات به شما داده شده است
        try {
            inline_response_200 result = apiInstance.tOKENGetMessageGet(xApiKey, tOKEN);
            System.out.println(result);
        } catch (ApiException e) {
            System.err.println("Exception when calling GetMessageApi#tOKENGetMessageGet");
            e.printStackTrace();
        }
    }
}
String *xApiKey = xApiKey_example; // apikey for use API (default to WsLdHK46I5Wfr5xgI0ynjjyiw9Fyhydu)
String *tOKEN = tOKEN_example; // مقدار TOKEN در ابتدای ثبت نام بات به شما داده شده است

GetMessageApi *apiInstance = [[GetMessageApi alloc] init];

[apiInstance tOKENGetMessageGetWith:xApiKey
    tOKEN:tOKEN
              completionHandler: ^(inline_response_200 output, NSError* error) {
                            if (output) {
                                NSLog(@"%@", output);
                            }
                            if (error) {
                                NSLog(@"Error: %@", error);
                            }
                        }];
var _ = require('_____');

var api = new _.GetMessageApi()

var xApiKey = xApiKey_example; // {String} apikey for use API

var tOKEN = tOKEN_example; // {String} مقدار TOKEN در ابتدای ثبت نام بات به شما داده شده است


var callback = function(error, data, response) {
  if (error) {
    console.error(error);
  } else {
    console.log('API called successfully. Returned data: ' + data);
  }
};
api.tOKENGetMessageGet(xApiKey, tOKEN, callback);
using System;
using System.Diagnostics;
using IO.Swagger.Api;
using IO.Swagger.Client;
using IO.Swagger.Model;

namespace Example
{
    public class tOKENGetMessageGetExample
    {
        public void main()
        {
            
            var apiInstance = new GetMessageApi();
            var xApiKey = xApiKey_example;  // String | apikey for use API (default to WsLdHK46I5Wfr5xgI0ynjjyiw9Fyhydu)
            var tOKEN = tOKEN_example;  // String | مقدار TOKEN در ابتدای ثبت نام بات به شما داده شده است

            try
            {
                inline_response_200 result = apiInstance.tOKENGetMessageGet(xApiKey, tOKEN);
                Debug.WriteLine(result);
            }
            catch (Exception e)
            {
                Debug.Print("Exception when calling GetMessageApi.tOKENGetMessageGet: " + e.Message );
            }
        }
    }
}
<?php
require_once(__DIR__ . '/vendor/autoload.php');

$api_instance = new Swagger\Client\Api\GetMessageApi();
$xApiKey = xApiKey_example; // String | apikey for use API
$tOKEN = tOKEN_example; // String | مقدار TOKEN در ابتدای ثبت نام بات به شما داده شده است

try {
    $result = $api_instance->tOKENGetMessageGet($xApiKey, $tOKEN);
    print_r($result);
} catch (Exception $e) {
    echo 'Exception when calling GetMessageApi->tOKENGetMessageGet: ', $e->getMessage(), PHP_EOL;
}
?>
use Data::Dumper;
use WWW::SwaggerClient::Configuration;
use WWW::SwaggerClient::GetMessageApi;

my $api_instance = WWW::SwaggerClient::GetMessageApi->new();
my $xApiKey = xApiKey_example; # String | apikey for use API
my $tOKEN = tOKEN_example; # String | مقدار TOKEN در ابتدای ثبت نام بات به شما داده شده است

eval { 
    my $result = $api_instance->tOKENGetMessageGet(xApiKey => $xApiKey, tOKEN => $tOKEN);
    print Dumper($result);
};
if ($@) {
    warn "Exception when calling GetMessageApi->tOKENGetMessageGet: $@\n";
}
from __future__ import print_statement
import time
import swagger_client
from swagger_client.rest import ApiException
from pprint import pprint

# create an instance of the API class
api_instance = swagger_client.GetMessageApi()
xApiKey = xApiKey_example # String | apikey for use API (default to WsLdHK46I5Wfr5xgI0ynjjyiw9Fyhydu)
tOKEN = tOKEN_example # String | مقدار TOKEN در ابتدای ثبت نام بات به شما داده شده است

try: 
    api_response = api_instance.t_oken_get_message_get(xApiKey, tOKEN)
    pprint(api_response)
except ApiException as e:
    print("Exception when calling GetMessageApi->tOKENGetMessageGet: %s\n" % e)

Parameters

Path parameters
Name Description
TOKEN*
String
مقدار TOKEN در ابتدای ثبت نام بات به شما داده شده است
Required
Header parameters
Name Description
x-api-key*
String
apikey for use API
Required

Responses

Status: 200 - ok


SendMessage

tOKENSendMessagePost


/{TOKEN}/sendMessage

Usage and SDK Samples

curl -X POST "https://api.apieco.ir/surush/{TOKEN}/sendMessage"
import io.swagger.client.*;
import io.swagger.client.auth.*;
import io.swagger.client.model.*;
import io.swagger.client.api.SendMessageApi;

import java.io.File;
import java.util.*;

public class SendMessageApiExample {

    public static void main(String[] args) {
        
        SendMessageApi apiInstance = new SendMessageApi();
        String xApiKey = xApiKey_example; // String | apikey for use API
        String tOKEN = tOKEN_example; // String | مقدار TOKEN در ابتدای ثبت نام بات به شما داده شده است
        Body body = ; // Body | 
        try {
            apiInstance.tOKENSendMessagePost(xApiKey, tOKEN, body);
        } catch (ApiException e) {
            System.err.println("Exception when calling SendMessageApi#tOKENSendMessagePost");
            e.printStackTrace();
        }
    }
}
import io.swagger.client.api.SendMessageApi;

public class SendMessageApiExample {

    public static void main(String[] args) {
        SendMessageApi apiInstance = new SendMessageApi();
        String xApiKey = xApiKey_example; // String | apikey for use API
        String tOKEN = tOKEN_example; // String | مقدار TOKEN در ابتدای ثبت نام بات به شما داده شده است
        Body body = ; // Body | 
        try {
            apiInstance.tOKENSendMessagePost(xApiKey, tOKEN, body);
        } catch (ApiException e) {
            System.err.println("Exception when calling SendMessageApi#tOKENSendMessagePost");
            e.printStackTrace();
        }
    }
}
String *xApiKey = xApiKey_example; // apikey for use API (default to WsLdHK46I5Wfr5xgI0ynjjyiw9Fyhydu)
String *tOKEN = tOKEN_example; // مقدار TOKEN در ابتدای ثبت نام بات به شما داده شده است
Body *body = ; //  (optional)

SendMessageApi *apiInstance = [[SendMessageApi alloc] init];

[apiInstance tOKENSendMessagePostWith:xApiKey
    tOKEN:tOKEN
    body:body
              completionHandler: ^(NSError* error) {
                            if (error) {
                                NSLog(@"Error: %@", error);
                            }
                        }];
var _ = require('_____');

var api = new _.SendMessageApi()

var xApiKey = xApiKey_example; // {String} apikey for use API

var tOKEN = tOKEN_example; // {String} مقدار TOKEN در ابتدای ثبت نام بات به شما داده شده است

var opts = { 
  'body':  // {Body} 
};

var callback = function(error, data, response) {
  if (error) {
    console.error(error);
  } else {
    console.log('API called successfully.');
  }
};
api.tOKENSendMessagePost(xApiKey, tOKEN, opts, callback);
using System;
using System.Diagnostics;
using IO.Swagger.Api;
using IO.Swagger.Client;
using IO.Swagger.Model;

namespace Example
{
    public class tOKENSendMessagePostExample
    {
        public void main()
        {
            
            var apiInstance = new SendMessageApi();
            var xApiKey = xApiKey_example;  // String | apikey for use API (default to WsLdHK46I5Wfr5xgI0ynjjyiw9Fyhydu)
            var tOKEN = tOKEN_example;  // String | مقدار TOKEN در ابتدای ثبت نام بات به شما داده شده است
            var body = new Body(); // Body |  (optional) 

            try
            {
                apiInstance.tOKENSendMessagePost(xApiKey, tOKEN, body);
            }
            catch (Exception e)
            {
                Debug.Print("Exception when calling SendMessageApi.tOKENSendMessagePost: " + e.Message );
            }
        }
    }
}
<?php
require_once(__DIR__ . '/vendor/autoload.php');

$api_instance = new Swagger\Client\Api\SendMessageApi();
$xApiKey = xApiKey_example; // String | apikey for use API
$tOKEN = tOKEN_example; // String | مقدار TOKEN در ابتدای ثبت نام بات به شما داده شده است
$body = ; // Body | 

try {
    $api_instance->tOKENSendMessagePost($xApiKey, $tOKEN, $body);
} catch (Exception $e) {
    echo 'Exception when calling SendMessageApi->tOKENSendMessagePost: ', $e->getMessage(), PHP_EOL;
}
?>
use Data::Dumper;
use WWW::SwaggerClient::Configuration;
use WWW::SwaggerClient::SendMessageApi;

my $api_instance = WWW::SwaggerClient::SendMessageApi->new();
my $xApiKey = xApiKey_example; # String | apikey for use API
my $tOKEN = tOKEN_example; # String | مقدار TOKEN در ابتدای ثبت نام بات به شما داده شده است
my $body = WWW::SwaggerClient::Object::Body->new(); # Body | 

eval { 
    $api_instance->tOKENSendMessagePost(xApiKey => $xApiKey, tOKEN => $tOKEN, body => $body);
};
if ($@) {
    warn "Exception when calling SendMessageApi->tOKENSendMessagePost: $@\n";
}
from __future__ import print_statement
import time
import swagger_client
from swagger_client.rest import ApiException
from pprint import pprint

# create an instance of the API class
api_instance = swagger_client.SendMessageApi()
xApiKey = xApiKey_example # String | apikey for use API (default to WsLdHK46I5Wfr5xgI0ynjjyiw9Fyhydu)
tOKEN = tOKEN_example # String | مقدار TOKEN در ابتدای ثبت نام بات به شما داده شده است
body =  # Body |  (optional)

try: 
    api_instance.t_oken_send_message_post(xApiKey, tOKEN, body=body)
except ApiException as e:
    print("Exception when calling SendMessageApi->tOKENSendMessagePost: %s\n" % e)

Parameters

Path parameters
Name Description
TOKEN*
String
مقدار TOKEN در ابتدای ثبت نام بات به شما داده شده است
Required
Header parameters
Name Description
x-api-key*
String
apikey for use API
Required
Body parameters
Name Description
body

Responses

Status: 200 - ok


UploadFile

tOKENUploadFilePost


/{TOKEN}/uploadFile

Usage and SDK Samples

curl -X POST "https://api.apieco.ir/surush/{TOKEN}/uploadFile"
import io.swagger.client.*;
import io.swagger.client.auth.*;
import io.swagger.client.model.*;
import io.swagger.client.api.UploadFileApi;

import java.io.File;
import java.util.*;

public class UploadFileApiExample {

    public static void main(String[] args) {
        
        UploadFileApi apiInstance = new UploadFileApi();
        String xApiKey = xApiKey_example; // String | apikey for use API
        String tOKEN = tOKEN_example; // String | مقدار TOKEN در ابتدای ثبت نام بات به شما داده شده است
        File upfile = /path/to/file.txt; // File | The file to upload.
        try {
            inline_response_200_1 result = apiInstance.tOKENUploadFilePost(xApiKey, tOKEN, upfile);
            System.out.println(result);
        } catch (ApiException e) {
            System.err.println("Exception when calling UploadFileApi#tOKENUploadFilePost");
            e.printStackTrace();
        }
    }
}
import io.swagger.client.api.UploadFileApi;

public class UploadFileApiExample {

    public static void main(String[] args) {
        UploadFileApi apiInstance = new UploadFileApi();
        String xApiKey = xApiKey_example; // String | apikey for use API
        String tOKEN = tOKEN_example; // String | مقدار TOKEN در ابتدای ثبت نام بات به شما داده شده است
        File upfile = /path/to/file.txt; // File | The file to upload.
        try {
            inline_response_200_1 result = apiInstance.tOKENUploadFilePost(xApiKey, tOKEN, upfile);
            System.out.println(result);
        } catch (ApiException e) {
            System.err.println("Exception when calling UploadFileApi#tOKENUploadFilePost");
            e.printStackTrace();
        }
    }
}
String *xApiKey = xApiKey_example; // apikey for use API (default to WsLdHK46I5Wfr5xgI0ynjjyiw9Fyhydu)
String *tOKEN = tOKEN_example; // مقدار TOKEN در ابتدای ثبت نام بات به شما داده شده است
File *upfile = /path/to/file.txt; // The file to upload. (optional)

UploadFileApi *apiInstance = [[UploadFileApi alloc] init];

[apiInstance tOKENUploadFilePostWith:xApiKey
    tOKEN:tOKEN
    upfile:upfile
              completionHandler: ^(inline_response_200_1 output, NSError* error) {
                            if (output) {
                                NSLog(@"%@", output);
                            }
                            if (error) {
                                NSLog(@"Error: %@", error);
                            }
                        }];
var _ = require('_____');

var api = new _.UploadFileApi()

var xApiKey = xApiKey_example; // {String} apikey for use API

var tOKEN = tOKEN_example; // {String} مقدار TOKEN در ابتدای ثبت نام بات به شما داده شده است

var opts = { 
  'upfile': /path/to/file.txt // {File} The file to upload.
};

var callback = function(error, data, response) {
  if (error) {
    console.error(error);
  } else {
    console.log('API called successfully. Returned data: ' + data);
  }
};
api.tOKENUploadFilePost(xApiKey, tOKEN, opts, callback);
using System;
using System.Diagnostics;
using IO.Swagger.Api;
using IO.Swagger.Client;
using IO.Swagger.Model;

namespace Example
{
    public class tOKENUploadFilePostExample
    {
        public void main()
        {
            
            var apiInstance = new UploadFileApi();
            var xApiKey = xApiKey_example;  // String | apikey for use API (default to WsLdHK46I5Wfr5xgI0ynjjyiw9Fyhydu)
            var tOKEN = tOKEN_example;  // String | مقدار TOKEN در ابتدای ثبت نام بات به شما داده شده است
            var upfile = new File(); // File | The file to upload. (optional) 

            try
            {
                inline_response_200_1 result = apiInstance.tOKENUploadFilePost(xApiKey, tOKEN, upfile);
                Debug.WriteLine(result);
            }
            catch (Exception e)
            {
                Debug.Print("Exception when calling UploadFileApi.tOKENUploadFilePost: " + e.Message );
            }
        }
    }
}
<?php
require_once(__DIR__ . '/vendor/autoload.php');

$api_instance = new Swagger\Client\Api\UploadFileApi();
$xApiKey = xApiKey_example; // String | apikey for use API
$tOKEN = tOKEN_example; // String | مقدار TOKEN در ابتدای ثبت نام بات به شما داده شده است
$upfile = /path/to/file.txt; // File | The file to upload.

try {
    $result = $api_instance->tOKENUploadFilePost($xApiKey, $tOKEN, $upfile);
    print_r($result);
} catch (Exception $e) {
    echo 'Exception when calling UploadFileApi->tOKENUploadFilePost: ', $e->getMessage(), PHP_EOL;
}
?>
use Data::Dumper;
use WWW::SwaggerClient::Configuration;
use WWW::SwaggerClient::UploadFileApi;

my $api_instance = WWW::SwaggerClient::UploadFileApi->new();
my $xApiKey = xApiKey_example; # String | apikey for use API
my $tOKEN = tOKEN_example; # String | مقدار TOKEN در ابتدای ثبت نام بات به شما داده شده است
my $upfile = /path/to/file.txt; # File | The file to upload.

eval { 
    my $result = $api_instance->tOKENUploadFilePost(xApiKey => $xApiKey, tOKEN => $tOKEN, upfile => $upfile);
    print Dumper($result);
};
if ($@) {
    warn "Exception when calling UploadFileApi->tOKENUploadFilePost: $@\n";
}
from __future__ import print_statement
import time
import swagger_client
from swagger_client.rest import ApiException
from pprint import pprint

# create an instance of the API class
api_instance = swagger_client.UploadFileApi()
xApiKey = xApiKey_example # String | apikey for use API (default to WsLdHK46I5Wfr5xgI0ynjjyiw9Fyhydu)
tOKEN = tOKEN_example # String | مقدار TOKEN در ابتدای ثبت نام بات به شما داده شده است
upfile = /path/to/file.txt # File | The file to upload. (optional)

try: 
    api_response = api_instance.t_oken_upload_file_post(xApiKey, tOKEN, upfile=upfile)
    pprint(api_response)
except ApiException as e:
    print("Exception when calling UploadFileApi->tOKENUploadFilePost: %s\n" % e)

Parameters

Path parameters
Name Description
TOKEN*
String
مقدار TOKEN در ابتدای ثبت نام بات به شما داده شده است
Required
Header parameters
Name Description
x-api-key*
String
apikey for use API
Required
Form parameters
Name Description
upfile
File
The file to upload.

Responses

Status: 200 - ok