openapi: 3.1.0
x-stoplight:
  id: 8ehppdiq8kulb
x-custom-path:
  name: Custom
  x-name-ru: Прочее
  paths:
    countries:
      title: Countries
      x-title-ru: Страны
    services:
      title: Services
      x-title-ru: Сервисы
    operators:
      title: Operators
      x-title-ru: Операторы
    testing:
      title: Testing
      x-title-ru: Тестирование
info:
  title: Reseller API
  x-title-ru: API для партнеров
  x-locales:
    en: English
    ru: Русский
  x-locales-reload: true
  version: '1.0'
  x-description-ru: >
    # Общее описание

    -------------------


    Данные API предназначены для текущих и потенциальных партнеров Onlinesim. Они позволяят монетизировать Ваши номера, предоставляя их нашим клиентам для приема SMS от различных сервисов и приложений.

    На данный момент реализовано две версии API:

    *   v1 подходит партнёрам, у которых уже есть собственная логика работы с номерами. В этой схеме наш сервер обращается к вашему за информацией о доступных номерах и, если подходящий номер найден, запрашивает его для получения SMS.

    *   v2 имеет обратную схему: основная логика операций находится на нашей стороне. Вы периодически передаёте нам список ваших номеров и пересылаете входящие на них SMS, сами номера при этом сразу же доступны для заказа клиентами.

    >**Счет клиенту выставляется за операцию, а не за отдельные SMS. Зачисление средств производится при успешном завершении операции.**
    
    Операция может длится от 15 минут (для услуги "Прием SMS") до нескольких месяцев (для услуги "Аренда номера") и включать в себя несколько SMS.
    
    **Обратите внимание, что продолжая, Вы соглашаетесь с данным условием!**



    >**Оба API требуют активации партнерского аккаунта Onlinesim!**
    
    Вам необходимо зарегистрировать профиль Onlinesim и связаться с поддержкой для получении информации о подключении, чтобы получить доступ к этим API. В этой документации мы будем использовать аутентификацию по API ключу для простоты, однако помимо этого доступны и другие методы аутентификации (более подробно можно посмотреть в соответствующем разделе ([Авторизация](/ru/openapi_docs/Reseller-API-UN/auth)).



    >**Фильтрация сообщений в обоих API может производиться как на нашей стороне, так и с Вашей.**
    
    Перед подключением Вам необходимо сообщить сотруднику поддержки, на какой стороне должна производиться фильтрация SMS.
    
    Фильтрация подразумевает под собой проверку на соответствие отправляемых Вами SMS шаблонам сообщений заказанного сервиса. Это необходимо, чтобы недобросовестные клиенты не могли использовать более дешевые сервисы для получения SMS от более дорогих.
    
    По умолчанию фильтрация сообщений производится на нашей стороне.



    ### v1 API


    **ВНИМАНИЕ! Этот способ интеграции рекомендуется использовать партнерам, уже имеющим приложения с готовой функционирующей логикой. В противном случае мы рекомендуем использовать API v2, поскольку логика операций находится на нашей стороне и его подключение значительно проще**
    Соединение и конфигурация для каждого партнера индивидуальны индивидуальны, поэтому Вам нужно связаться с техподдержкой для уточнения подробностей интеграции.

    Все взаимодействие происходит через HTTP POST и/или GET запросы между указанным Вами и нашей поддержкой endpoint'ами.



    ![API v1](https://onlinesim.io/assets/schemes/Interaction%20scheme%20(RU)%20[info].png)


    >**Это API также потребует имплементации функционала для исключения выдачи номеров по их маскам.**


    #### Требования для v1:


    1.  _Формат запроса / ответа: JSON4_

    2.  _Кодировка: UTF-8_

    3.  _Убедитесь, что user-agent включен в заголовки запроса_

    4.  _Все запросы / ответы используют метод компрессии gzip_

    5.  _Используемые названия стран и сервисов в ответе [GET_SERVICES](/ru/openapi_docs/Reseller-API-UN/post/getServices) должны совпадать с соответсвующими списками [стран](/ru/openapi_docs/Reseller-API-UN/custom/countries) и
    [сервисов](/ru/openapi_docs/Reseller-API-UN/custom/services)_

    6.  _Один номер должен использоваться только для одной операции одновременно: Ваш сервер может выдать этот же номер для другого сервиса только после того, как предыдущая операция будет завершена_

    7.  _Необходимо реализовать функционал для исключения выдачи номеров с определенными масками: если в запросе указана маска исключения, номера с такой последовательностью цифр не должны выдаваться (для запроса [GET_NUMBER](/ru/openapi_docs/Reseller-API-UN/post/getNumber))_

    8.  _Webhook [PUSH_SMS](/ru/openapi_docs/Reseller-API-UN/post/v1_PUSH_SMS): Ваш сервер должен автоматически пересылать SMS, полученные номерами с активными операциями, на сервер Onlinesim_

    9.  _Фильтрация может производиться как на нашей, так и на Вашей стороне. Перед интреграцией сообщите, какой из вариантов является предпочтительным для Вас_

    10. _Выдача номера должна производиться в течение 10 секунд с момента получения запроса GET_NUMBER (и GET_NUMBER (RENT)), в противном случае заказ номера отменяется_



    #### Чек-лист для интеграции:



    1.  Необходимо реализовать 3 метода и webhook:

        [GET_SERVICES](/ru/openapi_docs/Reseller-API-UN/post/getServices) - запрашивает у Вашего сервера количество номеров по странам и сервисам

        [GET_NUMBER](/ru/openapi_docs/Reseller-API-UN/post/getNumber) - резервирует номер на 15 минут с заданными параметрами для получения SMS сообщений от одного конкретного сервиса за указанную сумму

        [PUSH_SMS (webhook)](/ru/openapi_docs/Reseller-API-UN/post/v1_PUSH_SMS) - при получении SMS зарезервированным номером, Ваш сервер отправляет их к нам на сервер

        [FINISH_ACTIVATION](/ru/openapi_docs/Reseller-API-UN/post/finishActivation) - закрывает операцию с определенными параметрами (в зависимости от результата)

    2.  Написать нам на e-mail или в Telegram для создания профиля партнера, предоставления URL для запросов с нашей стороны, получения ссылки для webhook'a и тестирования номеров.

    3.  После успешно проведенных тестов Ваши номера будут доступны нашим клиентам в течение нескольких часов



    ### v2 API



    Reseller API v2 дает возможность интегрировать Ваше оборудование и номера для их последующего использования клиентами под прием SMS через наш сайт. Мы постарались сделать его настолько простым для интеграции, насколько это возможно. Для начала работы вам необходимо:



    1.  Реализовать 2 метода:

    * [sendNumbersOnline](/ru/openapi_docs/Reseller-API-UN/post/api_resellers_sendNumbersOnline) - передает список Ваших номеров к нам на сервер, данный запрос должен отправляться каждые 5 минут для обновления списка номеров и как подтверждение аптайма Вашего сервера;

        >Если Вы планируете использовать большое количество номеров и отправка [sendNumbersOnline](/ru/openapi_docs/Reseller-API-UN/post/api_resellers_sendNumbersOnline) каждые 5 минут в качестве подтверждения аптайма для Вас будет затруднительна, мы рекомендуем воспользоваться альтернативным вариантом - запросом [checkWork](/ru/openapi_docs/Reseller-API-UN/get/api_resellers).

    * [addMessage](/ru/openapi_docs/Reseller-API-UN/post/api_resellers_addMessage) - пересылает полученные Вашим сервером сообщения нам.

    2.  Связаться с поддержкой, чтобы получить `_SERVER_URL_`

    3.  Остальные запросы опциональны, реализовывать их необязательно, но их описание доступно в документации.

    4.  У запросов есть необязательный параметр `test`, который может быть использован для тестирования. Он может принимать значения `test1` и `test2`, будучи равным первому, он позволит запросу дойти до сервера, однако не вызовет исполнения функции. Если ему задать значение `test2`, то он вернет тело Вашего запроса в ответе.



    После того как Вы получите ответ об успешно выполненном запросе [sendNumbersOnline](/ru/openapi_docs/Reseller-API-UN/post/api_resellers_sendNumbersOnline), свяжитесь с партнерской поддержкой, чтобы сотрудники проверили, получает ли наш сервер сообщения с помощью запроса [addMessage](/ru/openapi_docs/Reseller-API-UN/post/api_resellers_addMessage). В случае успеха Ваши номера будут доступнынашим клиентам уже через нескольких часов.



    **Приложения**


    ---------------


    ### **Схема процесса**
    ![workflow](/docs/workflow_smshub.png)



  description: >

    # General description

    -------------------


    This API allows you to provide us with numbers for SMS activations and turn your SIM cards into profitable assets by forwarding SMS codes from different websites and apps.

    We currently have 2 versions of API with two different approaches:

    *   v1 is designed for requesting numbers with specific parameters from your
    server;

    *   v2 is designed to accept from your server a list of numbers that can be
    purchased by our clients for various services



    >**We're chargning clients per operation, not per SMS. Funds are credited upon successful completion of operation.**
    
    Operations can lasts from 15 minutes (for single-service activations) to several month (for long term rental) during which clients can receive several SMS.
    
    **Please note, that by proceeding you comply with these terms!**



    >**Both APIs requires Onlinesim partner account!**
    
    You will need to register Onlinesim profile and contact partner support to
    get access to these APIs. Several methods of authentication are available ([Authentication](/openapi_docs/Reseller-API-UN/auth)).



    >**SMS filtering for both API can be done either on our side or yours.**
    
    Before integration, please inform partner support which option you prefer.
    
    SMS filtration implies checking SMS you're sending to our server according to the patterns of the ordered service. It is necessary to prevent unscrupulous clients to use your numbers for SMS receiving from service with high cost while ordering cheaper ones.
    
    By default the SMS filtering is done on our side.


    ### v1 API

    ***WARNING! This integration method is recommended for partners who already have applications with fully functioning logic. Otherwise, we recommend using API v2, since the operational logic is handled on our side and its implementation is significantly simpler.***
    Connection and configuration are specific for each individual partner, so you need to contact our tech support to get the details of integration.

    All interaction between our servers is happening as a series of POST and/or GET requests on agreed endpoints via HTTP.



    ![API v1](https://onlinesim.io/assets/schemes/Interaction%20scheme%20(EN)%20[info].png)


    >**This API will also require to implement number exception functionality on your side!**


    #### Requirements for v1:


    1.  _Requests and responses come in JSON4 format_

    2.  _Encode scheme: UTF-8_

    3.  _Make sure that user-agent is included in request headers_

    4.  _All requests / responses use gzip compression method_

    5.  _All country and service names in the [GET_SERVICES](/openapi_docs/Reseller-API-UN/post/getServices) response must use values from the corresponding lists of [countries](/openapi_docs/Reseller-API-UN/custom/countries) and [services](/openapi_docs/Reseller-API-UN/custom/services)_

    6.  _Each number can be used for one operation simultaneously: your server can issue the same number for other service only after the previous operation is completed_

    7.  _You need to implement number exception functionality: if requested, numbers with certain sequence of digits (mask) should not be issued for [GET_NUMBER](/openapi_docs/Reseller-API-UN/post/getNumber) request_

    8.  _Webhook [PUSH_SMS](/openapi_docs/Reseller-API-UN/post/v1_PUSH_SMS): your server have to forward to OnlineSIM server any SMS received by numbers with active operations as soon as they get them_

    9.  _Filtering and spam checking can be done either on our side or yours. Please let us know which flow is preferable for your before the integration_

    10. _Response for [GET_NUMBER](/openapi_docs/Reseller-API-UN/post/getNumber) (or [GET_NUMBER (RENT)](/openapi_docs/Reseller-API-UN/post/getNumberRent)) should be sent within 10 seconds, otherwise the order will be cancelled_



    #### Integration checklist:



    1.  Create 3 methods and a webhook:

        [GET_SERVICES](/openapi_docs/Reseller-API-UN/post/getServices) requests from your server amount of available numbers by country and service

        [GET_NUMBER](/openapi_docs/Reseller-API-UN/post/getNumber) reserves a number for 15 minutes with specific parameters for SMS receiving

        [PUSH_SMS (webhook)](/openapi_docs/Reseller-API-UN/post/v1_PUSH_SMS) - once a reserved number receives a message, your server should forward it to us

        [FINISH_ACTIVATION](/openapi_docs/Reseller-API-UN/post/finishActivation) closes operation with specified parameters (based on the result)

    2.  Contact us via email or Telegram to create a partner profile, provide endpoint URL on your server and receive one from us. Our support specialists will also run a few tests to make sure everything is working as expected.

    3.  If tests are successful, your numbers will become available for our clients in a few hours.



    ### v2 API



    Reseller API v2 allows you to integrate your device with our website. It will allow your numbers to be purchased by our clients for SMS activations. We tried to make it as simple as possible, you only need to follow steps below:


    1.  Create 2 methods:

    * [sendNumbersOnline](/openapi_docs/Reseller-API-UN/post/api_resellers_sendNumbersOnline) - sends a list of numbers that you want to provide us with. This request should be sent every 5 minutes to update a list and to confirm that your server is online;

        >If you have a large quantity of numbers and sending [sendNumbersOnline](/openapi_docs/Reseller-API-UN/post/api_resellers_sendNumbersOnline) request every 5 minutes as uptime confirmation is not suitable for you, you can use alternative option - [checkWork](/openapi_docs/Reseller-API-UN/get/api_resellers) request.

    * [addMessage](/openapi_docs/Reseller-API-UN/post/api_resellers_addMessage) - forwards SMS from your server to ours.

    2.  Contact support to get `_SERVER_URL_`.

    3.  Other requests are optional, you may never need it, but their description is available in the documentation.

    4.  Requests have optional parameter `test` that can be used for testing purposes. It's value can be either `test1` or `test2`, while being equal to `test1`, it will allow the request to be passed, however the data won't be saved by our server (the function will not be executed by this request), if it's value is `test2` it will print out your request's payload in response.



    When request [sendNumbersOnline](/openapi_docs/Reseller-API-UN/post/api_resellers_sendNumbersOnline) will be executed successfully, please contact partner support specialists, so they can test if your messages are forwarded correctly with [addMessage](/openapi_docs/Reseller-API-UN/post/api_resellers_addMessage) request. When confirmed that everything is working as intended, we will add your numbers to the pool, and they will be available for purchase in a few hours.



    **Attachments**


    ---------------


    ### **Workflow**
    ![workflow](/docs/workflow_smshub.png)


  contact:
    name: Egor Stabilov
    email: partners@onlinesim.ru
    url: 'https://onlinesim.io'
  termsOfService: 'https://onlinesim.io/documentation/offer'
  license:
    name: 'GNU General Public License, version 3.0'
    url: 'https://www.gnu.org/licenses/gpl-3.0.en.html'
webhooks:
  /v1/PUSH_SMS:
    post:
      summary: PUSH_SMS
      operationId: PUSH_SMS
      servers:
        - url: 'https://{ourserver.com}'
      responses:
        '200':
          x-description-ru: Ответ сервера Onlinesim
          description: Onlinesim server response
          content:
            application/json:
              schema:
                type: object
                x-examples:
                  example-1:
                    status: SUCCESS
                properties:
                  status:
                    type: string
                    x-description-ru: Статус ответа сервера Onlinesim
                    description: Onlinesim server response status
                    enum:
                      - SUCCESS
                      - ERROR
                    example: SUCCESS
              examples:
                Onlinesim server response example for successfuly received SMS:
                  value:
                    status: SUCCESS
                When pushing SMS to a number that has no active operation:
                  value: NO_OPERATION
                When pushing SMS from a service that is banned by our server (banks, payment systems, etc.):
                  value: BAD_SERVICE
                When pushing SMS from a service that is differs from the one the client has ordered (only appears when filtration is done on our side):
                  value: IGNORED
                When pushing SMS from a service you've added to the blacklist:
                  value: SERVICE_BAN
          headers: {}
        '404':
          x-description-ru: >
            `NO_OPERATION` / `NO_OP`


            Эта ошибка появляется, когда Вы пытаетесь отправить SMS на номер, у
            которого нет активной операции
          description: >
            `NO_OPERATION` / `NO_OP`


            This error occurs when you try to push SMS for a number that has no
            active operation
        '429':
          x-description-ru: >
            `TOO_MANY_ATTEMPTS`


            Эта ошибка появляется при большом количестве запросов в короткий
            промежуток времени
          description: >
            `TOO_MANY_ATTEMPTS`


            This error occurs when you send too many request in a short period
            of time
      x-description-ru: >
        >**ВАЖНО!**
        
        URL сервера Onlinesim предоставляется сотрудниками партнерской поддержки. Обратите внимание, что URL сервера Onlinesim в примере заменен на заглушку.



        Это webhook  для отправки сообщения на сервер Onlinesim. Этот запрос должен выполняться лишь тогда, когда Ваш номер получил сообщение на заказанный номер для его (сообщения) последующей передачи на сервер Onlinesim.



        Если Вы получили ответ со статусом 200(OK), в Вашей базе данных SMS может быть помечено как успешно доставленное (повторно отправлять запрос не нужно).



        Если код статуса отличен от 200(OK), то необходимо повторно отправить запрос с тем же контентом через 10 секунд (за исключением получения ошибок `NO_OPERATION` или `BAD_SERVICE`).



        >**ВАЖНО!**
        
        Заголовок запроса 'Content-Type' должен содержать utf-8 кодировку в качестве значения
        
        ('Content-Type': 'application/json; charset=utf-8').



        Ниже описаны ответы с возможными ошибками:
        
        `NO_OPERATION` / `NO_OP` - эта ошибка возникает, когда Вы пытаетесь отправить SMS на номер, у которого нет активной операции;
        
        `BAD_SERVICE` - эта ошибка возникает, когда Вы пытаетесь отправить SMS от сервиса, который заблокирован нашим сервером (банка, платежной системы, МФО и т.д.);
        
        `IGNORED` - эта ошибка возникает, когда Вы пытаетесь отправить SMS от сервиса, отличающегося от того, что заказал клиент (появляется только в том случае, если фильтрация сообщений производится на нашей стороне);
        
        `SERVICE_BAN` - эта ошибка возникает, когда Вы пытаетесь отправить SMS от сервиса, который Вы внесли в черный список (Вы можете добавлять сервисы в черный список, что не позволит клиентам заказывать Ваши номера для приема сообщений от этих сервисов)
      description: >
        >**IMPORTANT NOTE!**
        
        URL of Onlinesim server is provided by Onlinesim partner support specialists. Please note, that the URL in the example is just a placeholder.



        This is a webhook for sending messages to Onlinesim server. These requests should be sent automatically when your number with active operation has received a message to forward it to Onlinesim server.



        If you get a response with 200(OK) status, SMS can be marked in your database as successfully delivered (don't send message again).



        If response is different from 200, then in 10 seconds another request with the same context should be sent, unless it's `NO_OPERATION` or `BAD_SERVICE` error.



        >**IMPORTANT NOTE!**
        
        Request header should have utf-8 encode scheme placed in 'Content-Type'
        
        ('Content-Type': 'application/json; charset=utf-8').



        Following responses with errors are possible:
        
        `NO_OPERATION` / `NO_OP` - this error occurs when you try to push SMS for a number that has no active operation;
        
        `BAD_SERVICE` - this error occurs when you try to push SMS from a service that is banned by our server (banks, payment systems, etc.);
        
        `IGNORED` - this error occurs when you try to push SMS from a service that is differs from the one the client has ordered (only appears when filtration is done on our side);
        
        `SERVICE_BAN` - this error occurs when you try to push SMS from the service you've blacklisted (you can add services to the blacklist, it prevents users to order your numbers for these services)
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                smsId:
                  type: integer
                  x-description-ru: ID операции (присваивается Вашим сервером)
                  description: Operation ID (assigned by your server)
                  example: 355
                  minimum: 1
                phoneFrom:
                  type: string
                  x-description-ru: Имя или номер отправителя
                  description: Name or phone number of a sender
                  example: Instagram
                phone:
                  type: string
                  x-description-ru: 'Номер телефона с активной операцией, принявший SMS'
                  description: >-
                    Phone number with active operation, that has received the
                    SMS
                  example: '79088081050'
                text:
                  type: string
                  x-description-ru: Текст сообщения
                  description: Message text
                  example: Your verification code is 800142
                action:
                  type: string
                  x-description-ru: 'Имя метода, в данном случае `PUSH_SMS`'
                  description: 'Method name, in this case `PUSH_SMS`'
                  default: PUSH_SMS
                  enum:
                    - PUSH_SMS
                  example: PUSH_SMS
                key:
                  type: string
                  x-description-ru: API ключ Вашего профиля партнера Onlinesim
                  description: API key of your Onlinesim partner's profile
              required:
                - smsId
                - phoneFrom
                - phone
                - text
                - action
                - key
            examples:
              Example payload of your server PUSH_SMS request:
                value:
                  smsId: 124971
                  phoneFrom: vk
                  phone: '79104041216'
                  text: Your OTP 46875
                  action: PUSH_SMS
                  key: apikey
        x-description-ru: >-
          [PUSH_SMS](/ru/openapi_docs/Reseller-API-UN/post/v1_PUSH_SMS)
          webhook: Ваш сервер должен отправлять этот запрос при наступлении
          события (когда заказанный номер получил сообщение).
        description: >-
          [PUSH_SMS](/openapi_docs/Reseller-API-UN/post/v1_PUSH_SMS)
          webhook: your server must send this request once an event is triggered (when
          the ordered number has received a message).
      parameters:
        - $ref: '#/components/parameters/Authorization'
        - $ref: '#/components/parameters/Content-Type'
    parameters: []
  /v1/PUSH_SMS_RENT:
    post:
      summary: PUSH_SMS (RENT)
      operationId: PUSH_SMS_RENT
      servers:
        - url: 'https://{ourserver.com}'
      responses:
        '200':
          x-description-ru: Ответ сервера Onlinesim
          description: Onlinesim server response
          content:
            application/json:
              schema:
                type: object
                x-examples:
                  example-1:
                    status: SUCCESS
                properties:
                  status:
                    type: string
                    x-description-ru: Статус ответа сервера Onlinesim
                    description: Onlinesim server response status
                    enum:
                      - SUCCESS
                      - ERROR
                    example: SUCCESS
              examples:
                Onlinesim server response example for PUSH_SMS request (for rental number):
                  value:
                    status: SUCCESS
                When pushing SMS to a number that has no active operation:
                  value: NO_OPERATION
                When pushing SMS from a service that is banned by our server (banks, payment systems, etc.):
                  value: BAD_SERVICE
                When pushing SMS from a service that is differs from the one the client has ordered (only appears when filtration is done on our side):
                  value: IGNORED
                When pushing SMS from a service you've added to the blacklist:
                  value: SERVICE_BAN
          headers: {}
      x-description-ru: >
        >**ВАЖНО!**
        
        URL сервера Onlinesim предоставляется сотрудниками партнерской поддержки. Обратите внимание, что URL сервера Onlinesim в примере заменен на
        заглушку.



        Если Вы получили ответ со статусом 200(OK), в Вашей базе данных SMS может быть помечено как успешно доставленное (повторно отправлять запрос не нужно).



        Если код статуса отличен от 200(OK), то необходимо повторно отправить запрос с тем же контентом через 10 секунд (за исключением получения ошибок `NO_OPERATION` или `BAD_SERVICE`).



        >**ВАЖНО!**
        
        Заголовок запроса 'Content-Type' должен содержать utf-8 кодировку в качестве значения
        
        ('Content-Type': 'application/json; charset=utf-8').



        Ниже описаны ответы с возможными ошибками:
        
        `NO_OPERATION` / `NO_OP` - эта ошибка возникает, когда Вы пытаетесь отправить SMS на номер, у которого нет активной операции;
        
        `BAD_SERVICE` - эта ошибка возникает, когда Вы пытаетесь отправить SMS от сервиса, который заблокирован нашим сервером (банка, платежной системы, МФО и т.д.);
        
        `IGNORED` - эта ошибка возникает, когда Вы пытаетесь отправить SMS от сервиса, отличающегося от того, что заказал клиент (появляется только в том случае, если фильтрация сообщений производится на нашей стороне);
        
        `SERVICE_BAN` - эта ошибка возникает, когда Вы пытаетесь отправить SMS от сервиса, который Вы внесли в черный список (Вы можете добавлять сервисы в черный список, что не позволит клиентам заказывать Ваши номера для приема сообщений от этих сервисов)
      description: >
        >**IMPORTANT NOTE!**
        
        URL of Onlinesim server is provided by Onlinesim partner support specialists. Please note, that the URL in the example is just a placeholder.



        If you get a response with 200(OK) status, SMS can be marked in your database as successfully delivered (don't send message again).



        If response is different from 200, then in 10 seconds another request with the same context should be sent, unless it's `NO_OPERATION` or `BAD_SERVICE` error.



        >**IMPORTANT NOTE!**
        
        Request header should have utf-8 encode scheme placed in 'Content-Type'
        
        ('Content-Type': 'application/json; charset=utf-8').



        Following responses with errors are possible:
        
        `NO_OPERATION` / `NO_OP` - this error occurs when you try to push SMS for a number that has no active operation;
        
        `BAD_SERVICE` - this error occurs when you try to push SMS from a service that is banned by our server (banks, payment systems, etc.);
        
        `IGNORED` - this error occurs when you try to push SMS from a service that is differs from the one the client has ordered (only appears when filtration is done on our side);
        
        `SERVICE_BAN` - this error occurs when you try to push SMS from the service you've blacklisted (you can add services to the blacklist, it prevents users to order your numbers for these services)
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                smsId:
                  type: integer
                  x-description-ru: ID операции (присваивается Вашим сервером)
                  description: Operation ID (assigned by your server)
                  example: 355
                  minimum: 1
                phoneFrom:
                  type: string
                  x-description-ru: Имя или номер отправителя
                  description: Name or a phone number of a sender
                  example: Instagram
                phone:
                  type: string
                  x-description-ru: 'Номер телефона с активной операцией, принявший SMS'
                  description: >-
                    Phone number with active operation, that has received the
                    SMS
                  example: '79088081050'
                text:
                  type: string
                  x-description-ru: Текст сообщения
                  description: Message text
                  example: Your verification code is 800142
                action:
                  type: string
                  x-description-ru: 'Имя метода, в данном случае `PUSH_SMS`'
                  description: 'Method name, in this case `PUSH_SMS`'
                  default: PUSH_SMS
                  enum:
                    - PUSH_SMS
                  example: PUSH_SMS
                key:
                  type: string
                  x-description-ru: API ключ Вашего профиля партнера Onlinesim
                  description: API key of your Onlinesim partner's profile
                service:
                  type: string
                  x-description-ru: Название сервиса. Для аренды всегда `rent`
                  description: 'Service name, for long term rental always `rent`'
                  enum:
                    - rent
                  example: rent
              required:
                - smsId
                - phoneFrom
                - phone
                - text
                - action
                - key
                - service
            examples:
              Example payload of your server request (for rental number):
                value:
                  smsId: 124980
                  phoneFrom: instagram
                  phone: '4605028040'
                  text: 784958 is your secret code
                  action: PUSH_SMS
                  key: apikey
                  service: rent
        x-description-ru: >-
          [PUSH_SMS](/ru/openapi_docs/Reseller-API-UN/post/v1_PUSH_SMS_RENT)
          webhook: Ваш сервер должен отправлять этот запрос лишь при наступлении
          события (когда заказанный номер получил сообщение).
        description: >-
          [PUSH_SMS](/openapi_docs/Reseller-API-UN/post/v1_PUSH_SMS_RENT)
          webhook: your server must send this request once an event is triggered
          (when the ordered number has received a message).
      parameters:
        - $ref: '#/components/parameters/Authorization'
        - $ref: '#/components/parameters/Content-Type'
    parameters: []
servers:
  - url: '{yourserver}'
    x-description-ru: URL Вашего сервера
    description: Your server URL
    variables:
      yourserver:
        default: 'https://{yourserver.com}'
paths:
  /getServices:
    parameters: []
    post:
      summary: GET_SERVICES
      operationId: GET_SERVICES
      responses:
        '200':
          x-description-ru: >-
            Ответ Вашего сервера на запрос `GET_SERVICES` должен быть в
            следующем формате:
          description: >-
            The response of your server for `GET_SERVICES` request must be in
            following format:
          content:
            application/json:
              schema:
                type: object
                properties:
                  countryList:
                    type: array
                    items:
                      type: object
                      properties:
                        '#countryname#':
                          type: string
                          x-description-ru: Название страны
                          description: Country name
                        operatorMap:
                          type: object
                          properties:
                            any:
                              type: object
                              x-description-ru: >-
                                Количество номеров оператора `any` должно быть
                                равно сумме доступных номеров всех других
                                операторов этой страны по данному сервису
                              description: >-
                                Operator `any` should summarize the total amount
                                available numbers for this country
                              properties:
                                '#service_name#':
                                  type: integer
                                  x-description-ru: >-
                                    Название сервиса и суммарное количество
                                    доступных номеров (все операторы, общее
                                    количество)
                                  description: >-
                                    Service name and total amount of available
                                    numbers for this service (all operators,
                                    summarized)
                            '#operator_name#':
                              type: object
                              properties:
                                '#service_name#':
                                  type: integer
                                  x-description-ru: >-
                                    Название сервиса и соответствующее
                                    количество доступных номеров
                                  description: >-
                                    Service name and corresponding amount of
                                    available numbers for this service
                  status:
                    type: string
                    x-description-ru: Статус выполнения запроса (`SUCCESS` или `ERROR`)
                    description: Request status (`SUCCESS` or `ERROR`)
                    enum:
                      - SUCCESS
                      - ERROR
                    example: SUCCESS
              examples:
                Response example from your server:
                  value:
                    countryList:
                      - country: russia
                        operatorMap:
                          any:
                            vk: 10
                            ok: 25
                            wa: 52
                          beeline:
                            vk: 10
                            ok: 15
                            wa: 20
                          megafon:
                            vk: 0
                            ok: 10
                            wa: 32
                      - country: ukraine
                        operatorMap:
                          any:
                            vk: 10
                            ok: 50
                            wa: 132
                          life:
                            vk: 0
                            ok: 10
                            wa: 32
                          vodafone:
                            vk: 10
                            ok: 10
                            wa: 0
                          kyivstar:
                            vk: 0
                            ok: 30
                            wa: 100
                    status: SUCCESS
          headers:
            Content-Type:
              schema:
                type: string
                default: application/json; charset=utf-8
                enum:
                  - application/json; charset=utf-8
                example: application/json; charset=utf-8
              x-description-ru: Заголовок `Content type` и кодировка
              description: '`Content type` header and encoding scheme'
      x-description-ru: >
        Этот запрос отправляется **от сервера Onlinesim на Ваш сервер** каждые 2 минуты для получения актуального количества доступных номеров. Ваш сервер должен вернуть количество номеров в формате списка, описанном ниже.



        Для аутентификации будет использован Ваш API ключ партнера, который будет передан в теле запроса.


        >**ВАЖНО!**
        
        Необходимо, чтобы Ваш сервер возвращал актуальное количество одновременно доступных номеров. Например, если у Вас есть SIM банк на 512 портов и только 64 GSM-модуля в оборудовании, Вам необходимо вернуть 64 номера, а не 512.
        
        Нарушение этого условия повлечет автоматическую блокировку системой выдачу Ваших номеров на 30 минут.
        
        Ваш сервер должен выдать список с количеством доступных номеров в течение 10 секунд после получения запроса. Если по истечению этого времени ответ не будет получен, текущий запрос автоматически отменяется.



        >**ВАЖНО!**
        
        `operatorMap` должен содержать оператора `any`, количество номеров которого является суммой номеров всех доступных операторов по каждому сервису.



        Каждая успешная операция должна уменьшать счетчик количества доступных для этого сервиса номеров на 1. Если операция была отменена или неудачна (SMS не пришло), счетчик остается без изменений.



        Результат операции зависит от значения параметра `status`, переданного в запросе [FINISH_ACTIVATION](/ru/openapi_docs/Reseller-API-UN/post/finishActivation).
      description: >
        This request is sent **from Onlinesim server to yours** every 2 minutes to get a quantity of available numbers. Your server should return a relevant list of available numbers in format described below.



        Your partner's API key will be passed in the request in a payload.


        >**IMPORTANT NOTE!**
        
        It is necessary to return actual number of simultaneously available numbers. For example, if you have SIM bank with 512 ports and only 64 GSM-modules, then you should return 64, not 512.
        
        Violation of this condition will cause the system to automatically block receiving numbers from you for 30 minutes.
        
        Your server must issue a list with quantity of available numbers within 10 seconds of the request. Otherwise current request will be cancelled.



        >**IMPORTANT NOTE!**
        
        `operatorMap` should contain operator `any` that includes summarized amount of numbers of all operators for each service



        Each successful operation has to reduce count of available numbers for the service by 1. If operation was cancelled or failed (SMS hasn't been received), the counter has to remain unchanged.



        Operation result is passed as `status` parameter in [FINISH_ACTIVATION](/openapi_docs/Reseller-API-UN/post/finishActivation) request.
      parameters:
        - $ref: '#/components/parameters/Authorization'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              x-examples:
                example-1:
                  action: GET_SERVICES
                  key: apikey
              properties:
                action:
                  type: string
                  x-description-ru: 'Имя метода, в данном случае `GET_SERVICES`'
                  description: 'Method name, in this case `GET_SERVICES`'
                  example: GET_SERVICES
                  default: GET_SERVICES
                  enum:
                    - GET_SERVICES
                key:
                  type: string
                  x-description-ru: API ключ Вашего профиля партнера Onlinesim
                  description: API key of your Onlinesim partner's profile
              required:
                - action
                - key
            examples:
              Example payload of Onlinesim server GET_SERVICES request:
                value:
                  action: GET_SERVICES
                  key: apikey
        x-description-ru: Тело запроса от сервера Onlinesim
        description: Request payload from Onlinesim server
      tags:
        - v1
  /getNumber:
    post:
      summary: GET_NUMBER
      operationId: GET_NUMBER
      responses:
        '200':
          x-description-ru: >-
            Ответ Вашего сервера на запрос
            [GET_NUMBER](/ru/openapi_docs/Reseller-API-UN/post/getNumber)
            должен быть в следующем формате:
          description: >-
            The response of your server for
            [GET_NUMBER](/openapi_docs/Reseller-API-UN/post/getNumber)
            request must be in following format:
          headers:
            Content-Type:
              schema:
                type: string
                default: application/json; charset=utf-8
                enum:
                  - application/json; charset=utf-8
                example: application/json; charset=utf-8
              x-description-ru: Заголовок `Content type` и кодировка
              description: '`Content type` header and encoding scheme'
          content:
            application/json:
              schema:
                type: object
                x-examples:
                  example-1:
                    number: 79281234567
                    activationId: 355
                    status: SUCCESS
                properties:
                  number:
                    type: integer
                    x-description-ru: >-
                      Номер телефона в международном формате, согласно указанным
                      в запросе параметрам
                    description: >-
                      Phone number in international format according to the
                      requested parameters
                    example: 79088081050
                  activationId:
                    type: integer
                    x-description-ru: ID операции (присваивается Вашим сервером)
                    description: Operation ID (assigned by your server)
                    example: 355
                    minimum: 1
                  status:
                    type: string
                    x-description-ru: Статус выполнения запроса (`SUCCESS` или `ERROR`)
                    description: Request status (`SUCCESS` or `ERROR`)
                    enum:
                      - SUCCESS
                      - ERROR
                    example: SUCCESS
              examples:
                Response example from your server:
                  value:
                    number: 79281234567
                    activationId: 355
                    status: SUCCESS
      tags:
        - v1
      x-description-ru: >
        Запрос для заказа номера для приема SMS от указанного сервиса.



        Данный запрос отправляется на Ваш сервер для заказа номера на 15 минут с указанными параметрами для получения SMS от одного сервиса.



        Операция может быть закрыта досрочно (смотри [FINISH_ACTIVATION](/ru/openapi_docs/Reseller-API-UN/post/finishActivation)).



        >**ВАЖНО!**
        
        Ваш сервер должен выдать номер с заказанными параметрами в течение 10 секунд после получения запроса. Если по истечению этого времени номер не будет выдан, текущий запрос автоматически отменяется.



        >**ВАЖНО!**
        
        Как упоминалось в описании, Вам необходимо будет реализовать функционал по исключению масок номеров. Опциональный параметр `exceptionPhoneSet` может содержать массив с набором масок для исключений. При их наличии (когда параметр передается), Ваш сервер должен исключить из выдачи номера с масками, совпадающими в этом наборе.
        
        Например, при переданном значении \[46950\] не должны выдаваться номера Швеции, начинающиеся с +46950\*



        ![Exception](https://onlinesim.io/assets/schemes/Mask%20exception%20scheme%20(RU)%20[GET_NUMBER].png)



        >**ВАЖНО!**
        
        Номера используемые в одной операции не могут быть использованы в другой до тех пор, пока предыдущая операция не будет завершена (пока не получен запрос [FINISH_ACTIVATION](/ru/openapi_docs/Reseller-API-UN/post/finishActivation)).



        ![Queue](https://onlinesim.io/assets/schemes/Number%20pool%20(RU)[GET_NUMBER].png)
      description: >
        Request for ordering a number for SMS receiving from a specified service.



        This request is sent to your server to order a number with specific parameters to receive SMS from a single service for 15 minutes.



        The operation can be closed prematurely (check [FINISH_ACTIVATION](/openapi_docs/Reseller-API-UN/post/finishActivation)).



        >**IMPORTANT NOTE!**
        
        Your server must issue a number with specified parameters within 10 seconds of the request. Otherwise current request will be cancelled.



        >**IMPORTANT NOTE!**
        
        As we mentioned before, you will have to implement a fucntionality for number's mask exception: optional parameter `exceptionPhoneSet` might contain an array with exception set.
        When one does, your server should exclude numbers with matching patters from issuing them.
        
        For example, if \[46950\] value is passed, your server should not issue numbers of Sweden that start with +46950\*



        ![Exception](https://onlinesim.io/assets/schemes/Mask%20exception%20scheme%20(EN)%20[GET_NUMBER].png)



        >**IMPORTANT NOTE!**
        
        Numbers that are used in one operation cannot be used in other until the previous operation is closed (until [FINISH_ACTIVATION](/openapi_docs/Reseller-API-UN/post/finishActivation) request is received).



        ![Queue](https://onlinesim.io/assets/schemes/Number%20pool%20(EN)%20[GET_NUMBER].png)
      requestBody:
        content:
          application/json:
            schema:
              type: object
              x-examples:
                example-1:
                  action: GET_NUMBER
                  country: russia
                  operator: any
                  service: vk
                  sum: 40
                  key: test
              properties:
                action:
                  type: string
                  x-description-ru: 'Имя метода, в данном случае `GET_NUMBER`'
                  description: 'Method name, in this case `GET_NUMBER`'
                  default: GET_NUMBER
                  example: GET_NUMBER
                  enum:
                    - GET_NUMBER
                country:
                  type: string
                  x-description-ru: 'Название страны, enum (смотри [список стран](ru/openapi_docs/Reseller-API-UN/custom/countries))'
                  description: 'Country name, enum ([country list](/openapi_docs/Reseller-API-UN/custom/countries))'
                  example: germany
                operator:
                  type: string
                  x-description-ru: >-
                    Название оператора (для примеров смотри [список
                    операторов](/ru/openapi_docs/Reseller-API-UN/custom/operators))
                  description: 'Operator name (for examples take a look at [operator list](/openapi_docs/Reseller-API-UN/custom/operators))'
                  example: any
                service:
                  type: string
                  x-description-ru: 'Название сервиса, enum (смотри [список сервисов](/ru/openapi_docs/Reseller-API-UN/custom/services))'
                  description: 'Service name, enum ([service list](/openapi_docs/Reseller-API-UN/custom/services))'
                  example: facebook
                sum:
                  type: number
                  example: 40
                  x-description-ru: >-
                    Цена сервиса, в рублях (эта сумма будет начислена на Ваш
                    аккаунт партнера Onlinesim при успешном завершении операции)
                  description: >-
                    Service price, in RUB (this sum will be credited to your
                    Onlinesim account after successful operation)
                key:
                  type: string
                  x-description-ru: API ключ Вашего профиля партнера Onlinesim
                  description: API key of your Onlinesim partner's profile
                exceptionPhoneSet:
                  type: array
                  x-description-ru: >-
                    Список префиксов-исключений для масок номеров, которые
                    **НЕ** должны выдаваться при запросе номера. Формат: код
                    страны + следующие за ним цифры номера.
                  description: >-
                    List of exception prefixes that **SHOULD NOT** be issued
                    when the number is requested. Format: country code +
                    following digits of a number.
                  items:
                    type: integer
                    example: 46950
              required:
                - action
                - country
                - operator
                - service
                - sum
                - key
            examples:
              Example payload of Onlinesim server GET_NUMBER request:
                value:
                  action: GET_NUMBER
                  country: russia
                  operator: any
                  service: vk
                  sum: 40
                  key: apikey
        x-description-ru: Тело запроса от сервера Onlinesim
        description: Request payload from Onlinesim server
      parameters:
        - $ref: '#/components/parameters/Authorization'
        - $ref: '#/components/parameters/Content-Type'
  /finishActivation:
    post:
      summary: FINISH_ACTIVATION
      operationId: FINISH_ACTIVATION
      responses:
        '200':
          x-description-ru: >-
            Ответ Вашего сервера на запрос `FINISH_ACTIVATION` должен быть в
            следующем формате:
          description: >-
            The response of your server for `FINISH_ACTIVATION` request must be
            in following format:
          content:
            application/json:
              schema:
                type: object
                x-examples:
                  example-1:
                    status: SUCCESS
                properties:
                  status:
                    type: string
                    x-description-ru: Статус выполнения запроса (`SUCCESS` или `ERROR`)
                    description: Request status (`SUCCESS` or `ERROR`)
                    enum:
                      - SUCCESS
                      - ERROR
                    example: SUCCESS
              examples:
                Response example from your server:
                  value:
                    status: SUCCESS
      x-description-ru: >
        Данный запрос отправляется сервером Onlinesim для закрытия текущей
        операции с определенным статусом (который зависит от результатов операции).


        По умолчанию данный запрос отправляется по истечению времени операции (15 минут для услуги "Прием SMS"). Запрос также может быть отправлен досрочно в одном из двух случаев:
        1) если SMS от заказанного сервиса было успешно получено и клиент закрывает операцию самостоятельно;
        2) если SMS от заказанного сервиса не было получено и клиент отменяет операцию.


        >**ВАЖНО!**
        
        Ваш сервер должен прислать ответ об успешном закрытии операции в течение 10 секунд после получения запроса. Если по истечению этого времени ответа не последует, текущий запрос автоматически отменяется (направляется новый запрос на закрытие).


        >**ВАЖНО!**

        Пожалуйста, не закрывайте операции на своей стороне до получения от нас запроса FINISH_ACTIVATION. Самостоятельное закрытие операций может привести к рассинхронизации статусов и некорректной обработке последующих запросов.

        ![Окончание операции](https://onlinesim.io/assets/schemes/Result%20scheme%20(RU)%20[FINISH_ACTIVATION].png)
      description: >
        This request is sent by Onlinesim server to close current operation with
        a certain status (which depends on the result of operation).


        By default, this request is sent when the operation time expires (15 minutes for the “Receive SMS” service). The request may also be sent earlier in one of the following two cases:
        1) if an SMS from the requested service was successfully received and the client closes the operation manually;
        2) if an SMS from the requested service was not received and the client cancels the operation.


        >**IMPORTANT NOTE!**
        
        Your server must sent successful operation closing response within 10 seconds of the request. Otherwise current request will be cancelled and a new request will be sent.


        >**IMPORTANT NOTE!**

        Please do not close operations on your side until you receive our FINISH_ACTIVATION request. Closing operations manually may lead to status desynchronization and incorrect processing of subsequent requests.

        ![Operation closing](https://onlinesim.io/assets/schemes/Result%20scheme%20(EN)%20[FINISH_ACTIVATION].png)
      tags:
        - v1
      requestBody:
        content:
          application/json:
            schema:
              type: object
              x-examples:
                example-1:
                  action: FINISH_ACTIVATION
                  activationId: 313922603105007
                  status: 4
                  key: test
              properties:
                action:
                  type: string
                  x-description-ru: 'Имя метода, в данном случае `FINISH_ACTIVATION`'
                  description: 'Method name, in this case `FINISH_ACTIVATION`'
                  default: FINISH_ACTIVATION
                  enum:
                    - FINISH_ACTIVATION
                  example: FINISH_ACTIVATION
                activationId:
                  type: integer
                  x-description-ru: ID операции (присваивается Вашим сервером)
                  description: Operation ID (assigned by your server)
                  minimum: 1
                  example: 355
                sum:
                  type: number
                  x-description-ru: >
                    Сумма, зачисленная на баланс партнера, за оказанную услугу (в рублях)
                  description: >
                    Sum credited to the partner’s balance for the provided service (in RUB)
                  example: 4.5
                status:
                  type: integer
                  x-description-ru: >
                    Код статуса операции, enum:
                    
                    `1` - Номер не был заказан под указанный тип услуги (например,
                    Вы пытатесь отправить сообщение для услуги "Прием", когда
                    номер заказан для "Аренда")
                    
                    `3` - Операция завершена успешно
                    
                    `4` - Операция была отменена, сообщение не было получено
                    
                    `5` - По операции был совершен возврат, в случае ошибок и
                    проблем с сообщением.
                  description: >
                    Status code of the operation, enum:
                    
                    `1` - This number was not ordered for the current service
                    (i.e., when you try to push SMS for "single-service
                    activation" service, while number has active "rent"
                    operation)
                    
                    `3` - Successfully sold
                    
                    `4` - Cancelled, message was not delivered
                    
                    `5` - Refunded, in case of errors and message problems
                  example: 3
                  enum:
                    - 1
                    - 3
                    - 4
                    - 5
                key:
                  type: string
                  x-description-ru: API ключ Вашего профиля партнера Onlinesim
                  description: API key of your Onlinesim partner's profile
              required:
                - action
                - activationId
                - status
                - key
            examples:
              Example payload of Onlinesim server FINISH_ACTIVATION request:
                value:
                  action: FINISH_ACTIVATION
                  activationId: 75489
                  status: 3
                  key: apikey
        x-description-ru: Тело запроса от сервера Onlinesim
        description: Request payload from Onlinesim server
      parameters:
        - $ref: '#/components/parameters/Authorization'
  /getServicesRent:
    parameters: []
    post:
      summary: GET_SERVICES (RENT)
      operationId: GET_SERVICES_RENT
      responses:
        '200':
          x-description-ru: >-
            Ответ Вашего сервера на запрос `GET_SERVICES` должен быть в
            следующем формате:
          description: >-
            The response of your server for `GET_SERVICES` request must be in
            following format:
          content:
            application/json:
              schema:
                type: object
                properties:
                  countryList:
                    type: array
                    items:
                      type: object
                      properties:
                        '#countryname#':
                          type: string
                          x-description-ru: Название страны
                          description: Country name
                        operatorMap:
                          type: object
                          properties:
                            any:
                              type: object
                              x-description-ru: >-
                                Количество номеров оператора `any` должно быть
                                равно сумме доступных номеров всех других
                                операторов этой страны
                              description: >-
                                Operator `any` should summarize the total amount
                                available numbers for this country
                              properties:
                                '#service_name#':
                                  type: integer
                                  x-description-ru: >-
                                    Название сервиса и суммарное количество
                                    доступных номеров (все операторы, общее
                                    количество)
                                  description: >-
                                    Service name and total amount of available
                                    numbers for this service (all operators,
                                    summarized)
                                rent:
                                  type: integer
                                  x-description-ru: >-
                                    Количество доступных для аренды номеров (все
                                    операторы, общее количество)
                                  description: >-
                                    Total amount of available numbers for rent
                                    (all operators, summarized)
                            '#operator_name#':
                              type: object
                              properties:
                                '#service_name#':
                                  type: integer
                                  x-description-ru: >-
                                    Название сервиса и соответствующее
                                    количество доступных номеров
                                  description: >-
                                    Service name and corresponding amount of
                                    available numbers for this service
                                rent:
                                  type: integer
                                  x-description-ru: Количество доступных для аренды номеров
                                  description: Amount of available numbers for rent
                  status:
                    type: string
                    x-description-ru: Статус выполнения запроса (`SUCCESS` или `ERROR`)
                    description: Request status (`SUCCESS` or `ERROR`)
                    enum:
                      - SUCCESS
                      - ERROR
                    example: SUCCESS
              examples:
                Response example from your server (shared endpoint for rent and single-service activations):
                  value:
                    countryList:
                      - country: russia
                        operatorMap:
                          any:
                            vk: 10
                            ok: 25
                            wa: 52
                            rent: 19
                          beeline:
                            vk: 10
                            ok: 15
                            wa: 20
                            rent: 9
                          megafon:
                            vk: 0
                            ok: 10
                            wa: 32
                            rent: 10
                      - country: ukraine
                        operatorMap:
                          any:
                            vk: 10
                            ok: 50
                            wa: 132
                            rent: 21
                          life:
                            vk: 0
                            ok: 10
                            wa: 32
                            rent: 2
                          vodafone:
                            vk: 10
                            ok: 10
                            wa: 0
                            rent: 14
                          kyivstar:
                            vk: 0
                            ok: 30
                            wa: 100
                            rent: 5
                    status: SUCCESS
                Response example from your server (dedicated endpoint for rent):
                  value:
                    countryList:
                      - country: russia
                        operatorMap:
                          any:
                            rent: 19
                          beeline:
                            rent: 9
                          megafon:
                            rent: 10
                      - country: ukraine
                        operatorMap:
                          any:
                            rent: 21
                          life:
                            rent: 2
                          vodafone:
                            rent: 14
                          kyivstar:
                            rent: 5
                    status: SUCCESS
          headers:
            Content-Type:
              schema:
                type: string
                default: application/json; charset=utf-8
                enum:
                  - application/json; charset=utf-8
                example: application/json; charset=utf-8
              x-description-ru: Заголовок `Content type` и кодировка
              description: '`Content type` header and encoding scheme'
      x-description-ru: >
        Данный запрос отправляется **с сервера Onlinesim на Ваш сервер** для получения списка доступных для аренды номеров. Ваш сервер должен вернуть список номеров в формате, описанном ниже.



        Для аутентификации будет использован Ваш API ключ партнера, который будет передан в теле запроса.



        >**ВАЖНО!**
        
        Вы можете добавить информацию о доступных для аренды номерах на тот же endpoint, который Вы используете для приема SMS (`GET_SERVICES`, v1) или создать отдельный endpoint для аренды.



        >**ВАЖНО!**
        
        Необходимо, чтобы Ваш сервер возвращал актуальное количество одновременно доступных номеров. Например, если у Вас есть SIM банк на 512 портов и только 64 GSM-модуля в оборудовании, Вам необходимо вернуть 64 номера, а не 512.
        
        Нарушение этого условия повлечет автоматическую блокировку системой выдачу Ваших номеров на 30 минут.
        
        Ваш сервер должен выдать список с количеством доступных для аренды номеров в течение 10 секунд после получения запроса. Если по истечению этого времени ответ не будет получен, текущий запрос автоматически отменяется.


        >**ВАЖНО!**
        
        `operatorMap` должен содержать оператора `any`, количество номеров которого является суммой номеров всех доступных операторов по аренде.
      description: >
        This request is sent **from Onlinesim server to yours** to get a list of available for rent numbers. Your server should return a list of numbers in format described below.



        Your partner's API key will be passed in the request in a payload.



        >**IMPORTANT NOTE!**
        
        You can either add a result field that contains quantity of available numbers for rent to your existing `GET_SERVICES` endpoint response for singe-service activations (v1) or create a new endpoint for rent only.



        >**IMPORTANT NOTE!**
        
        It is necessary to return actual number of simultaneously available numbers. For example, if you have SIM bank with 512 ports and only 64 GSM-modules, then you should return 64, not 512.
        
        Violation of this condition will cause the system to automatically block receiving numbers from you for 30 minutes.
        
        Your server must issue a list with quantity of available numbers for rent within 10 seconds of the request. Otherwise current request will be cancelled.


        >**IMPORTANT NOTE!**
        
        `operatorMap` must contain operator `any` that includes summarized amount of numbers of all operators listed for rent.
      parameters:
        - $ref: '#/components/parameters/Authorization'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              x-examples:
                example-1:
                  action: GET_SERVICES
                  key: apikey
              properties:
                action:
                  type: string
                  x-description-ru: 'Имя метода, в данном случае `GET_SERVICES`'
                  description: 'Method name, in this case `GET_SERVICES`'
                  example: GET_SERVICES
                  default: GET_SERVICES
                  enum:
                    - GET_SERVICES
                key:
                  type: string
                  x-description-ru: API ключ Вашего профиля партнера Onlinesim
                  description: API key of your Onlinesim partner's profile
              required:
                - action
                - key
            examples:
              Example payload of Onlinesim server GET_SERVICES request (for rent):
                value:
                  action: GET_SERVICES
                  key: apikey
        x-description-ru: Тело запроса от сервера Onlinesim
        description: Request payload from Onlinesim server
      tags:
        - v1 rent
  /getNumberRent:
    post:
      summary: GET_NUMBER (RENT)
      operationId: GET_NUMBER_RENT
      responses:
        '200':
          x-description-ru: >-
            Ответ Вашего сервера на запрос `GET_NUMBER` должен быть в следующем
            формате:
          description: >-
            The response of your server for `GET_NUMBER` request must be in
            following format:
          headers:
            Content-Type:
              schema:
                type: string
                default: application/json; charset=utf-8
                enum:
                  - application/json; charset=utf-8
                example: application/json; charset=utf-8
              x-description-ru: Заголовок `Content type` и кодировка
              description: '`Content type` header and encoding scheme'
          content:
            application/json:
              schema:
                type: object
                x-examples:
                  example-1:
                    number: 79281234567
                    activationId: 355
                    status: SUCCESS
                properties:
                  number:
                    type: integer
                    x-description-ru: >-
                      Номер телефона с запрошенными параметрами, который был
                      заказан для операции, в международном формате
                    description: >-
                      Phone number in international format according to the
                      requested parameters
                    example: 79088081050
                  activationId:
                    type: integer
                    x-description-ru: ID операции (присваивается Вашим сервером)
                    description: Operation ID (assigned by your server)
                    example: 355
                    minimum: 1
                  status:
                    type: string
                    x-description-ru: Статус выполнения запроса (`SUCCESS` или `ERROR`)
                    description: Request status (`SUCCESS` or `ERROR`)
                    enum:
                      - SUCCESS
                      - ERROR
                    example: SUCCESS
              examples:
                Response example from your server (for rent operation):
                  value:
                    number: 79281234567
                    activationId: 355
                    status: SUCCESS
      x-description-ru: >
        Этот запрос создает новую операцию аренды, которая позволяет использовать номер для приема SMS от любых сервисов и других мобильных номеров в течение длительного периода (от 1 дня до нескольких месяцев). **НЕ ЗАКРЫВАЙТЕ ОПЕРАЦИЮ** до получения по ней запроса `FINISH_ACTIVATION`.



        >**ВАЖНО!**
        
        Вы можете использовать тот же endpoint, который использовали для запроса GET_NUMBER (v1) под услугу "Прием SMS" или создать новый endpoint только для операций аренды.
        
        Однако при первом варианте Вам необходимо модифицировать его, чтобы Ваш сервер корректно обрабатывал запрос для создания операции аренды.



        >**ВАЖНО!**
        
        Ваш сервер должен выдать номер для аренды с заказанными параметрами в течение 10 секунд после получения запроса. Если по истечению этого времени номер не будет выдан, текущий запрос автоматически отменяется.



        Если номер не получит SMS в течение 20 минут после создания операции, она будет отменена автоматически, а номер вновь станет доступен для другой операции аренды. **Если номер трижды не сможет получить SMS в течение 20 минут после создания операции, он будет заблокирован нашим сервером**. Данные баны автоматически снимаются каждые 24 часа.



        Аренда может быть продлена клиентом, но доход **НАЧИСЛЯЕТСЯ ТОЛЬКО ПО ЗАВЕРШЕНИЮ ОПЕРАЦИИ** (по истечению срока или закрытию операции клиентом самостоятельно).



        >**ВАЖНО!**
        
        Мы блокируем сообщения от банков, платежных систем и кредитных организаций, чтобы оградить партнеров от каких-либо юридических последствий, которые могут возникнуть при использовании таких сервисов клиентами.
        
        В то же время аренда не поддерживает возможность добавлять какие-либо сервисы в список исключений, поскольку мы не знаем заранее какие сервисы могут быть использованы клиентами.
        
        Пожалуйста, обратите внимание, что **SMS ОТ СЕРВИСОВ, ДОБАВЛЕННЫХ ВАМИ В СПИСОК ИСКЛЮЧЕНИЙ ДЛЯ УСЛУГИ "ПРИЕМ SMS", ПРИ АРЕНДЕ БУДУТ ПЕРЕДАВАТЬСЯ КЛИЕНТАМ**.



        >**ВАЖНО!**
        
        Также как и в случае с приемом, для аренды Вам необходимо будет реализовать функционал по исключению масок номеров. Опциональный параметр `exceptionPhoneSet` может содержать массив с набором масок для исключений. При их наличии (когда параметр передается), Ваш сервер должен исключить из выдачи номера с масками, совпадающими в этом наборе.
        
        Например, при переданном значении \[46950\] для аренды не должны выдаваться номера Швеции, начинающиеся с +46950\*



        ![Exception](https://onlinesim.io/assets/schemes/Mask%20exception%20scheme%20(RU)%20[GET_NUMBER].png)
      description: >
        This request creates a new rent operation, which will allow to use a number to receive SMS from any service and other mobile numbers for a long period of time (from 1 day up to several months). **DO NOT CLOSE** an operation before `FINISH_ACTIVATION` request.



        >**IMPORTANT NOTE!**
        
        You can either create a new endpoint for rent orders only or use the same GET_NUMBER endpoint as for single-service activations (v1).
        
        However in the latter case you need to modify it so your server could create the rental operation correctly.



        >**IMPORTANT NOTE!**
        
        Your server must issue a number for rent with specified parameters within 10 seconds of the request. Otherwise current request will be cancelled.



        If number won't receive SMS within 20 minutes after operation is created, the operation will be cancelled automatically, making it available for another operation. **If number fails 3 consecutive operations to receive SMS within 20 minutes, it will be banned by our server**. These bans are lifted automatically every 24 hours.



        Rent can be prolonged by the client, but the income is **CREDITED UPON OPERATION CLOSING** (upon rent expiration or termination).



        >**IMPORTANT NOTE!**
        
        We're blocking messages from banks, payment systems and credit institutions to prevent any legal consequences for our partners that might be caused by unscrupulous customers.
        
        At the same time long term rental does not support any exceptions for services as we don't know beforehand which service may or may not be used by our clients.
        
        Please keep in mind that **ANY BLACKLISTED SERVICES YOU MAY ADD FOR SINGLE-SERVICE ACTIVATIONS WILL NOT BE APPLIED FOR RENT**.


        >**IMPORTANT NOTE!**
        
        You will have to implement a fucntionality for number's mask exception for rent (same as for regular SMS receiving): optional parameter `exceptionPhoneSet` might contain an array with exception set.
        When one does, your server should exclude numbers with matching patters from issuing them.
        
        For example, if \[46950\] value is passed, your server should not issue numbers of Sweden for rent that start with +46950\*



        ![Exception](https://onlinesim.io/assets/schemes/Mask%20exception%20scheme%20(EN)%20[GET_NUMBER].png)
      requestBody:
        content:
          application/json:
            schema:
              type: object
              x-examples:
                example-1:
                  action: GET_NUMBER
                  country: russia
                  operator: any
                  service: vk
                  sum: 40
                  key: test
              properties:
                action:
                  type: string
                  x-description-ru: 'Имя метода, в данном случае `GET_NUMBER`'
                  description: 'Method name, in this case `GET_NUMBER`'
                  default: GET_NUMBER
                  example: GET_NUMBER
                  enum:
                    - GET_NUMBER
                key:
                  type: string
                  x-description-ru: API ключ Вашего профиля партнера Onlinesim
                  description: API key of your Onlinesim partner's profile
                country:
                  type: string
                  x-description-ru: 'Название страны, enum (смотри [список стран](/ru/openapi_docs/Reseller-API-UN/custom/countries))'
                  description: 'Country name, enum ([country list](/openapi_docs/Reseller-API-UN/custom/countries))'
                  example: germany
                operator:
                  type: string
                  x-description-ru: >-
                    Название оператора (для примеров смотри [список
                    операторов](/ru/openapi_docs/Reseller-API-UN/custom/operators))
                  description: 'Operator name (for examples take a look at [operator list](/openapi_docs/Reseller-API-UN/custom/operators))'
                  example: any
                service:
                  type: string
                  x-description-ru: Название сервиса. Для аренды всегда `rent`
                  description: >-
                    Service name, enum. For long term rental value is always
                    `rent`
                  example: rent
                  enum:
                    - rent
                sum:
                  example: 320
                  x-description-ru: >-
                    Первоначальная стоимость аренды, в рублях (эта сумма будет
                    начислена на Ваш аккаунт партнера Onlinesim после успешного
                    завершения операции аренды)
                  description: >-
                    Price for initial rental period, in RUB (this amount will be
                    credited to your Onlinesim account when operation is closed
                    successfully)
                  type: number
                exceptionPhoneSet:
                  type: array
                  x-description-ru: >
                    Список префиксов-исключений для масок номеров, которые
                    **НЕ ДОЛЖНЫ ВЫДАВАТЬСЯ** при запросе номера.

                    Формат: код страны + следующие за ним цифры номера.

                    Например, при переданном значении 46950 не должны выдаваться
                    номера Швеции, начинающиеся с +46950*
                  description: >
                    List of exception prefixes that **SHOULD NOT BE ISSUED**
                    when the number is requested.

                    Format: country code + following digits of a number.

                    I.e, when value 46950 is passed, numbers of Sweden starting
                    with +46950 shouldn't be issued
                  items:
                    type: integer
                    example: 46950
              required:
                - action
                - key
                - country
                - operator
                - service
                - sum
            examples:
              Example payload of Onlinesim server GET_NUMBER request (for rent):
                value:
                  action: GET_NUMBER
                  key: apikey
                  country: germany
                  operator: any
                  service: rent
                  sum: 400
        x-description-ru: Тело запроса от сервера Onlinesim для операции аренды
        description: Request payload from Onlinesim server for rent operation
      tags:
        - v1 rent
      parameters:
        - $ref: '#/components/parameters/Authorization'
    parameters: []
  /finishActivationRent:
    post:
      summary: FINISH_ACTIVATION (RENT)
      operationId: FINISH_ACTIVATION_RENT
      responses:
        '200':
          x-description-ru: >-
            Ответ Вашего сервера на запрос `FINISH_ACTIVATION` должен быть в
            следующем формате:
          description: >-
            The response of your server for `FINISH_ACTIVATION` request must be
            in following format:
          content:
            application/json:
              schema:
                type: object
                x-examples:
                  example-1:
                    status: SUCCESS
                properties:
                  status:
                    type: string
                    x-description-ru: Статус выполнения запроса (`SUCCESS` или `ERROR`)
                    description: Request status (`SUCCESS` or `ERROR`)
                    enum:
                      - SUCCESS
                      - ERROR
                    example: SUCCESS
              examples:
                Response example from your server (when the rental operation was successfuly closed on your server):
                  value:
                    status: SUCCESS
      x-description-ru: >
        Данный запрос отправляется сервером Onlinesim для закрытия текущей операции аренды с определенным статусом (который зависит от результатов операции).



        По умолчанию данный запрос отправляется по истечению времени операции. Запрос также может быть отправлен досрочно в одном из двух случаев:
        1) если SMS от заказанного сервиса было успешно получено и клиент досрочно закрывает операцию аренды;
        2) если SMS от заказанного сервиса не было получено и операция закрывается по истечению защитного интервала (20 минут с момента создания)


        >**ВАЖНО!**
        
        Вы можете использовать тот же endpoint, что и для закрытия операций по приему SMS (`FINISH_ACTIVATION`, v1), либо использовать отдельный endpoint исключительно для операций аренды.
        
        Однако при первом варианте Вам необходимо модифицировать его, чтобы Ваш сервер корректно обрабатывал запрос для закрытия операции аренды.
        

        >**ВАЖНО!**

        Ваш сервер должен прислать ответ об успешном закрытии операции аренды в течение 10 секунд после получения запроса. Если по истечению этого времени ответа не последует, текущий запрос автоматически отменяется (направляется новый запрос на закрытие).
      

        >**ВАЖНО!**

        Пожалуйста, не закрывайте операции на своей стороне до получения от нас запроса FINISH_ACTIVATION. Самостоятельное закрытие операций может привести к рассинхронизации статусов и некорректной обработке последующих запросов.   

      description: >
        This request is sent by Onlinesim server to close current rent operation with a specific status (which depends on the result of operation).



        By default, this request is sent when the operation time expires. The request may also be sent earlier in one of the following two cases:
        1) if an SMS from the requested service was successfully received and the client closes the rental operation ahead of time;
        2) if an SMS from the requested service was not received and the operation is closed after the protective interval expires (20 minutes from the moment the operation was created).


        >**IMPORTANT NOTE!**
        
        You can either create a new endpoint for the rent only or use your existing `FINISH_ACTIVATION` endpoint for single-service activations (v1).
        
        However in the latter case you need to modify it so your server could process the closing of rental operations correctly.


        >**IMPORTANT NOTE!**
        
        Your server must sent successful rent operation closing response within 10 seconds of the request. Otherwise current request will be cancelled and a new request will be sent.


        >**IMPORTANT NOTE!**

        Please do not close operations on your side until you receive our FINISH_ACTIVATION request. Closing operations manually may lead to status desynchronization and incorrect processing of subsequent requests.

      requestBody:
        content:
          application/json:
            schema:
              type: object
              x-examples:
                example-1:
                  action: FINISH_ACTIVATION
                  activationId: 313922603105007
                  status: 4
                  key: test
              properties:
                action:
                  type: string
                  x-description-ru: 'Имя метода, в данном случае `FINISH_ACTIVATION`'
                  description: 'Method name, in this case `FINISH_ACTIVATION`'
                  default: FINISH_ACTIVATION
                  enum:
                    - FINISH_ACTIVATION
                  example: FINISH_ACTIVATION
                activationId:
                  type: integer
                  x-description-ru: ID операции (присваивается Вашим сервером)
                  description: Operation ID (assigned by your server)
                  minimum: 1
                  example: 355
                status:
                  type: integer
                  x-description-ru: >
                    Код статуса операции, enum:
                    
                    `1` - Номер не был заказан под указанный тип услуги (например,
                    Вы пытатесь отправить сообщение для услуги "Прием", когда
                    номер заказан для "Аренда")
                    
                    `3` - Операция завершена успешно
                    
                    `4` - Операция была отменена, сообщение не было получено
                    
                    `5` - По операции был совершен возврат, в случае ошибок и
                    проблем с сообщением.
                  description: >
                    Status code of the operation, enum:
                    
                    `1` - This number was not ordered for the current service
                    (i.e., when you try to push SMS for "single-service
                    activation" service, while number has active "rent"
                    operation)
                    
                    `3` - Successfully sold
                    
                    `4` - Cancelled, message was not delivered
                    
                    `5` - Refunded, in case of errors and message problems
                  example: 3
                  enum:
                    - 1
                    - 3
                    - 4
                key:
                  type: string
                  x-description-ru: API ключ Вашего профиля партнера Onlinesim
                  description: API key of your Onlinesim partner's profile
                service:
                  type: string
                  x-description-ru: Название сервиса. Для аренды всегда `rent`
                  description: 'Service name, in this case `rent`'
                  enum:
                    - rent
                  example: rent
                sum:
                  type: number
                  x-description-ru: >-
                    Общая стоимость аренды, включая все периоды продления, в
                    рублях (эта сумма будет начислена на Ваш аккаунт партнера
                    Onlinesim при успешном завершении операции аренды)
                  description: >-
                    Total service price that includes all rental periods, in RUB
                    (this sum will be credited to your Onlinesim account after
                    successful rental operation)
                  example: 870
              required:
                - action
                - activationId
                - status
                - key
                - service
            examples:
              Example payload of Onlinesim server FINISH_ACTIVATION request (for closing rent operation):
                value:
                  action: FINISH_ACTIVATION
                  activationId: 75491
                  status: 3
                  key: apikey
                  service: rent
                  sum: 2408
        x-description-ru: Тело запроса от сервера Onlinesim
        description: Request payload from Onlinesim server
      tags:
        - v1 rent
      parameters:
        - $ref: '#/components/parameters/Authorization'
    parameters: []
  /api/resellers/sendNumbersOnline:
    post:
      servers:
        - url: 'https://{ourserver.com}'
      summary: sendNumbersOnline
      operationId: sendNumbersOnline
      responses:
        '200':
          x-description-ru: Ответ сервера Onlinesim
          description: Onlinesim server response
          content:
            application/json:
              schema:
                type: object
                properties:
                  response:
                    oneOf:
                      - type: string
                      - type: integer
                    x-description-ru: >-
                      1, если запрос был выполнен успешно, либо выведет
                      сообщение об ошибке
                    description: >-
                      1, if request was successful, otherwise error message will
                      come up
                    example: 1
                  ids:
                    type: object
                    properties:
                      '#number#':
                        type: integer
                        x-description-ru: >-
                          Телефонные номера и их ID: `id` - возвращает ID для каждого
                          номера (или присваивает ID для нового номера), либо
                          присваивает `null` для удаленных номеров
                        description: >-
                          Phone number and their respective IDs: `id` - returns id for each
                          existing number (or assigns `id` for new ones) or
                          assigns `null` for removed numbers
              examples:
                Onlinesim server response example:
                  value:
                    response: 1
                    ids:
                      '+234112233445': 1042
                      '+234112233446': 1043
                      '+234112233447': 1044
        '400':
          x-description-ru: Ошибка 400
          description: Bad Request
          content:
            text/html:
              schema:
                type: string
                x-description-ru: Описание ошибки
                description: Error description
              examples:
                Incorrect format number passed:
                  value: NUMBER_FORMAT_ERROR
                date_start format error:
                  value: ERROR_DATE
      x-description-ru: >
        >**ВАЖНО!**
        
        URL сервера Onlinesim предоставляется сотрудниками партнерской поддержки. Обратите внимание, что URL сервера Onlinesim в примере заменен на заглушку.



        В этом запросе следует передавать все доступные для продажи номера. Данный запрос должен отправляться на сервер Onlinesim каждые 5 минут (для подтверждения аптайма Вашего сервера) и после каждого изменения списка номеров: после добавления новых номеров или удаления каких-либо ранее переданных.



        Однако, есть альтернативный вариант: для подтверждения аптайма, Вы можете воспользоваться запросом [checkWork](/ru/openapi_docs/Reseller-API-UN/get/api_resellers), а для добавления и удаления номеров - запросами [addNumber](/ru/openapi_docs/Reseller-API-UN/post/api_resellers_addNumber) и [removeNumber](ru//openapi_docs/Reseller-API-UN/delete/api_resellers_removeNumber) соответственно.



        >**ВАЖНО!**
        
        Необходимо, чтобы Ваш сервер возвращал актуальное количество одновременно доступных номеров. Например, если у Вас есть SIM банк на 512 портов и только 64 GSM-модуля в оборудовании, Вам необходимо вернуть 64 номера, а не 512.
        
        Нарушение этого условия повлечет автоматическую блокировку системой выдачу Ваших номеров на 30 минут.



        >**ВАЖНО!**
        
        Включение параметра `rent` (присваиванием ему значения `1`) позволяет клиентам арендовать Ваши номера на длительный период, значительно увеличивая Ваш доход.
        
        Однако Вам необходимо связаться с партнерской поддержкой для получиения подробной информации об условиях и требованиях к арендным номерам, перед тем, как мы включим этот функционал на Вашем аккаунте.
      description: >
        >**IMPORTANT NOTE!**
        
        URL of Onlinesim server is provided by Onlinesim partner support specialists. Please note, that the URL in the example is just a placeholder.



        In this request all numbers available for sale should be passed. This request should be sent to Onlinesim server every 5 minutes (to ensure that your server is up and running) and after any change in the number list: after adding new numbers or removing any of previously passed ones.



        However, there is another way: you can send [checkWork](/openapi_docs/Reseller-API-UN/get/api_resellers) request every 5 minutes (as confirmation that your server is up and running), and use [addNumber](openapi_docs/Reseller-API-UN/post/api_resellers_addNumber) and [removeNumber](/openapi_docs/Reseller-API-UN/delete/api_resellers_removeNumber) to add or delete numbers respectively.



        >**IMPORTANT NOTE!**
        
        Only list of active numbers should be passed in this request. If you have a 32 port device and a 512 port SIM bank, you should send a list with 32 numbers that currently in the ports.
        
        Violation of this condition will cause the system to automatically block receiving numbers from you for 30 minutes.



        >**IMPORTANT NOTE!**
        
        Enabling `rent` parameter (by assigning value `1` to it) allows clients to rent your number for a longer period, significantly increasing your income.
        
        However you need to contact partner support to get a detailed information on terms and requirements before we enable it for your account.
      parameters:
        - $ref: '#/components/parameters/Authorization'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              x-examples:
                example-1:
                  numbers:
                    - number: '+234112233445'
                      country_id: 234
                    - number: '+234112233446'
                      country_id: 234
                      date_start: 1543907600
                      operator: 28967
              properties:
                numbers:
                  type: array
                  items:
                    type: object
                    properties:
                      number:
                        type: string
                        x-description-ru: Номер телефона в международном формате
                        description: Phone number in international format
                        example: '+46050910804'
                      country_id:
                        type: integer
                        x-description-ru: 'Код страны (согласно стандарта E.164, без знака `+`)'
                        description: >-
                          Country code (according to Е.164 standard, without `+`
                          sign)
                        example: 46
                      operator:
                        type: integer
                        x-description-ru: >-
                          MCC + MNC коды оператора (эти коды содержатся в первых
                          5 цифрах IMSI)
                        description: MCC + MNC operator code (first 5 digits of IMSI)
                        example: 24012
                      date_start:
                        type: integer
                        x-description-ru: Дата и время размещения номера (UNIX timestamp)
                        description: Date and time of placement (UNIX timestamp)
                        example: 1658209063
                      port_id:
                        type: string
                        x-description-ru: >
                          Уникальное имя порта, которое будет отображаться в
                          нашем интерфейсе на странице управления Вашими
                          номерами.
                          
                          Значение по умолчанию совпадает с номером телефона
                          (значением параметра `number`)
                        description: >
                          Unique port name, this name will be displayed in our
                          interface on your personal web-page.
                          
                          Unless specified, defaults to phone number value (value
                          of `number` parameter)
                        example: Port1
                        maxLength: 100
                      rent:
                        type: integer
                        x-description-ru: |
                          Режим аренды:
                          
                          `1` - включен,
                          
                          `0` - выключен,
                        description: |
                          Rent mode:
                          
                          `1` - enabled,
                          
                          `0` - disabled
                        enum:
                          - 0
                          - 1
                        example: 0
                    required:
                      - number
                      - country_id
                test:
                  type: string
                  x-description-ru: >
                    Параметр для тестов. Может принимать одно из двух значений:
                    `test1` или `test2`.
                    
                    Будучи равным `test1` отправит запрос на сервер, но данные,
                    переданные таким запросом не будут сохранены нашим сервером
                    (не вызовет исполнения функции).
                    
                    Если параметр будет равен `test2`, то сервер Onlinesim в
                    ответе вернет тело Вашего запроса.
                  description: >
                    Testing parameter. Allowed values are `test1`, `test2`.
                    
                    While being assigned, `test1` value will allow the request
                    to be passed, however the data won't be saved by our server
                    (the function will not be executed by this request).
                    
                    While being assigned, `test2` value will print out your
                    request's payload in response.
                  enum:
                    - test1
                    - test2
            examples:
              Example payload of your server `sendNumbersOnline` request:
                value:
                  numbers:
                    - number: '+234112233445'
                      country_id: 234
                    - number: '+234112233446'
                      country_id: 234
                      operator: 28967
                      date_start: 1543907600
                    - number: '+234112233447'
                      country_id: 234
                      operator: 28967
                      date_start: 1543907600
                      port_id: Port1
        x-description-ru: >
          Ваш сервер должен посылать данный запрос каждые 5 минут в качестве
          подверждения аптайма, либо при изменении списка доступных номеров

          (при добавлении новых номеров или удалении каких-либо, ранее
          переданных).
        description: >
          Your server should send this request every 5 minutes as a
          confirmation of uptime or when the list of available numbers is
          changed

          (when new numbers are added or previously passed ones are removed).
      tags:
        - v2
  /api/resellers/addMessage:
    post:
      servers:
        - url: 'https://{ourserver.com}'
      summary: addMessage
      operationId: addMessage
      responses:
        '200':
          x-description-ru: Ответ сервера Onlinesim
          description: Onlinesim server response
          content:
            application/json:
              schema:
                type: object
                x-examples:
                  example-1:
                    response: 1
                properties:
                  response:
                    oneOf:
                      - type: string
                      - type: integer
                    x-description-ru: >-
                      1, если запрос был выполнен успешно, либо выведет
                      сообщение об ошибке
                    description: >-
                      1, if request was successful, otherwise error message will
                      come up
                    example: 1
              examples:
                Onlinesim server response example for `addMessage` request (message successfuly received):
                  value:
                    response: 1
        '400':
          description: Bad Request
          content:
            text/html:
              schema:
                type: string
              examples:
                Invalid text in SMS (message with no content):
                  value: ERROR_MESSAGE
                Invalid parameters in request (request must contain required parameters in it's body with proper names as described in documentation):
                  value: ERROR_PARAMS
        '404':
          description: Not Found
          content:
            text/html:
              schema:
                type: string
              examples:
                Message was filtered out by the server:
                  value: NO_OPERATION
      x-description-ru: >
        >**ВАЖНО!**
        
        URL сервера Onlinesim предоставляется сотрудниками партнерской поддержки. Обратите внимание, что URL сервера Onlinesim в примере заменен на заглушку.



        Этот запрос пересылает сообщения, которые были получены Вашими номерами на сервер Onlinesim.



        Вы можете отфильтровать сообщения перед отправкой запроса (отсылать только SMS от заказанного сервиса) или отсылать все сообщения, а мы произведем фильтрацию на своей стороне.



        Вы также можете заблокировать все входящие SMS, содержащие конфиденциальную информацию и персональные данные, такие как пароль для входа в личный кабинет на сайте мобильного оператора и другие SMS.
      description: >
        >**IMPORTANT NOTE!**
        
        URL of Onlinesim server is provided by Onlinesim partner support specialists. Please note, that the URL in the example is just a placeholder.



        This requests forwards messages that were received by your numbers to our server.



        You can filter the messages before sending a request (send only SMS from ordered service) or send all messages, and we will filter them on our side.



        You can also block all incoming SMS containing confidential or sensitive information such as SMS with credentials of private account on mobile operator's website and other SMS.
      tags:
        - v2
      requestBody:
        content:
          application/json:
            schema:
              type: object
              x-examples:
                example-1:
                  date: '1546934787'
                  number: '+234112233445'
                  from: VKcom
                  message: VKcom 111111
              properties:
                date:
                  type: string
                  x-description-ru: Дата и время приема сообщения (в любом формате, например UNIX timestamp)
                  description: Date and time when SMS was received (in any format, for example in UNIX timestamp)
                  example: '1658209069'
                number:
                  type: string
                  x-description-ru: >
                    Номер телефона в международном формате или ID номера

                    (смотри ответ сервера на запрос
                    [sendNumbersOnline](/ru/openapi_docs/Reseller-API-UN/post/api_resellers_sendNumbersOnline))
                  description: >
                    Phone number in international format or number's ID

                    (see
                    [sendNumbersOnline](/openapi_docs/Reseller-API-UN/post/api_resellers_sendNumbersOnline)
                    server response)
                  example: '+234112233445'
                from:
                  type: string
                  x-description-ru: Имя или номер отправителя
                  description: Name or a phone number of a sender
                  example: Instagram
                message:
                  type: string
                  x-description-ru: Текст сообщения
                  description: Message text
                  example: Your OTP is 785094
                test:
                  type: string
                  x-description-ru: >
                    Параметр для тестов. Может принимать одно из двух значений:
                    `test1` или `test2`.
                    
                    Будучи равным `test1` отправит запрос на сервер, но данные,
                    переданные таким запросом не будут сохранены нашим сервером
                    (не вызовет исполнения функции).
                    
                    Если параметр будет равен `test2`, то сервер Onlinesim в
                    ответе вернет тело Вашего запроса.
                  description: >
                    Testing parameter. Allowed values are `test1`, `test2`.
                    
                    While being assigned, `test1` value will allow the request
                    to be passed, however the data won't be saved by our server
                    (the function will not be executed by this request).
                    
                    While being assigned, `test2` value will print out your
                    request's payload in response.
                  enum:
                    - test1
                    - test2
              required:
                - date
                - number
                - from
                - message
            examples:
              Example payload of your server `addMessage` request:
                value:
                  date: '1546934787'
                  number: '+234112233445'
                  from: VKcom
                  message: VKcom 111111
        x-description-ru: >-
          Ваш сервер должен отослать этот запрос как только заказанный номер
          получит сообщение.
        description: >-
          Your server should send this request as soon as number with active
          operation receives the message (webhook).
      parameters:
        - $ref: '#/components/parameters/Authorization'
        - $ref: '#/components/parameters/Content-Type'
  /api/resellers/takeOffNumbers:
    get:
      servers:
        - url: 'https://{ourserver.com}'
      summary: takeOffNumbers
      tags:
        - v2
      responses:
        '200':
          x-description-ru: Ответ сервера Onlinesim
          description: Onlinesim server response
          content:
            application/json:
              schema:
                type: object
                x-examples:
                  example-1:
                    response: 1
                    list:
                      - id: '40516575'
                        number: '2203833346'
                        sum: '75.76'
                        country: '220'
                      - id: '40516576'
                        number: '2203833341'
                        sum: '75.76'
                        country: '220'
                      - id: '40516577'
                        number: '2203132613'
                        sum: '75.76'
                        country: '220'
                      - id: '40516579'
                        number: '2202759574'
                        sum: '118.14'
                        country: '220'
                      - id: '40516583'
                        number: '2202082904'
                        sum: '54.38'
                        country: '220'
                      - id: '40572705'
                        number: '2203796711'
                        sum: '110.27'
                        country: '220'
                properties:
                  response:
                    oneOf:
                      - type: string
                      - type: integer
                    x-description-ru: >-
                      1, если запрос был выполнен успешно, либо выведет
                      сообщение об ошибке
                    description: >-
                      1, if request was successful, otherwise error message will
                      come up
                    example: 1
                  list:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: string
                          x-description-ru: ID номера
                          description: Number ID
                          example: '10001'
                        number:
                          type: string
                          x-description-ru: Номер телефона в международном формате
                          description: Phone number in international format
                          example: '+4605091080'
                        sum:
                          type: string
                          x-description-ru: 'Общая сумма дохода, заработанная номером'
                          description: Total income earned by this number
                          example: '75.76'
                        country:
                          type: string
                          x-description-ru: 'Код страны (согласно стандарта E.164, без знака `+`)'
                          description: >-
                            Country code (according to Е.164 standard, without
                            `+` sign)
                          example: '46'
              examples:
                Example response of Onlinesim server for takeOffNumbers request:
                  value:
                    response: 1
                    list:
                      - id: '40516575'
                        number: '2203830000'
                        sum: '75.76'
                        country: '220'
                      - id: '40516576'
                        number: '2203830001'
                        sum: '58.76'
                        country: '220'
        '400':
          description: Bad Request
          content:
            text/html:
              schema:
                type: string
              examples:
                Invalid parameters:
                  value: ERROR_PARAMS
      operationId: takeOffNumbers
      x-description-ru: >
        >**ВАЖНО!**
        
        URL сервера Onlinesim предоставляется сотрудниками партнерской поддержки. Обратите внимание, что URL сервера Onlinesim в примере заменен на заглушку.



        Этот запрос опционален, Вы можете не реализовывать данный метод. Запрос возвращает информацию о доходе Ваших текущих номеров, эти данные также доступны в Вашем личном кабинете. При переданном параметре `sum`, возвращает список номеров аккаунта находящихся онлайн, чей доход равен или превышает переданное значение.



        Этот запрос может быть использован, чтобы быстро получить информацию о том, какие номера достигли желаемого Вами дохода и могут быть заменены на новые.
      description: >
        >**IMPORTANT NOTE!**
        
        URL of Onlinesim server is provided by Onlinesim partner support specialists. Please note, that the URL in the example is just a placeholder.



        This request is optional, and you can skip this part. It returns income  information of your online numbers, this data is also available on your personal page. It returns a list of online numbers of the account which income is greater than or equal to the specified `sum` parameter value.



        This request can be used to quickly obtain information on what online numbers has reached the desired income and can be replaced with new ones.
      parameters:
        - schema:
            type: string
            default: '50'
          in: query
          name: sum
          x-description-ru: >
            Фильтр по значению дохода, в рублях.
            
            Например: при sum = 37.5,
            запрос вернет список активных номеров, чей доход равен или превышает
            37.5 рублей.
            
            Если переданное значение равно 0, сервер вернет список всех номеров аккаунта, которые находятся онлайн.
          description: >
            Filter income value, in rubles.
            
            For example: if sum = 37.5, the request
            will return a list of online numbers which income is equal to 37.5
            RUB or more
            
            If 0 passed as a value, the server returns a list of all online numbers of the account.
        - $ref: '#/components/parameters/Authorization'
  /api/resellers/addNumber:
    post:
      servers:
        - url: 'https://{ourserver.com}'
      summary: addNumber
      operationId: addNumber
      responses:
        '200':
          x-description-ru: Ответ сервера Onlinesim
          description: Onlinesim server response
          content:
            application/json:
              schema:
                type: object
                properties:
                  response:
                    oneOf:
                      - type: string
                      - type: integer
                    x-description-ru: >-
                      1, если запрос был выполнен успешно, либо выведет
                      сообщение об ошибке
                    description: >-
                      1, if request was successful, otherwise error message will
                      come up
                    example: 1
                  ids:
                    type: object
                    properties:
                      '#number#':
                        type: integer
                        x-description-ru: >-
                          Телефонные номера и их ID: `id` - возвращает ID для каждого
                          номера (или присваивает ID для нового номера), либо
                          присваивает `null` для удаленных номеров
                        description: >-
                          Phone number and their respective IDs: `id` - returns id for each
                          existing number (or assigns `id` for new ones) or
                          assigns `null` for removed numbers
              examples:
                Onlinesim server response example (successfuly added new numbers):
                  value:
                    response: 1
                    ids:
                      '+234112233445': 1042
                      '+234112233446': 1043
                      '+234112233447': 1044
        '400':
          description: Bad Request
          content:
            text/html:
              schema:
                type: string
              examples:
                Incorrect format number passed:
                  value: NUMBER_FORMAT_ERROR
                date_start format error:
                  value: ERROR_DATE
      tags:
        - v2
      x-description-ru: >
        >**ВАЖНО!**
        
        URL сервера Onlinesim предоставляется сотрудниками партнерской поддержки. Обратите внимание, что URL сервера Onlinesim в примере заменен на заглушку.



        Данный запрос позволяет Вам добавлять номера на сервер Onlinesim по одному, в противоположность [sendNumbersOnline](/ru/openapi_docs/Reseller-API-UN/post/api_resellers_sendNumbersOnline), который отсылает все активные номера в виде цельного списка.



        Это может быть особенно полезно если Вам необходимо добавить новые номера к списку уже существующих, вместо передачи измененного списка каждый раз, когда Вы добавляете номера.



        >**ВАЖНО!**
        
        Включение параметра `rent` (присваиванием ему значения `1`) позволяет клиентам арендовать Ваши номера на длительный период, значительно увеличивая Ваш доход.
        
        Однако Вам необходимо связаться с партнерской поддержкой для получиения подробной информации об условиях и требованиях к арендным номерам, перед тем, как мы включим этот функционал на Вашем аккаунте.
      description: >
        >**IMPORTANT NOTE!**
        
        URL of Onlinesim server is provided by Onlinesim partner support specialists. Please note, that the URL in the example is just a placeholder.



        This request allows you to add numbers to the Onlinesim server by one at a time, on the contrary to [sendNumbersOnline](/openapi_docs/Reseller-API-UN/post/api_resellers_sendNumbersOnline) that sends all active numbers as a list.



        This could be especially useful if you need to add new numbers to the list of existing ones, instead of passing the modified list every time when you add new numbers.



        >**IMPORTANT NOTE!**
        
        Enabling `rent` parameter (by assigning value `1` to it) allows clients to rent your number for a longer period, significantly increasing your income.
        
        However you need to contact partner support to get a detailed information on terms and requirements before we enable it for your account.
      parameters:
        - $ref: '#/components/parameters/Authorization'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              x-examples:
                example-1:
                  number: '+234112233447'
                  country_id: 234
                  operator: 28967
                  date_start: 1543907600
                  port_id: Port1
              x-description-ru: Схема тела запроса
              description: Payload schema
              properties:
                number:
                  type: string
                  x-description-ru: Номер телефона в международном формате (со знаком `+`)
                  description: Number in international format (with `+` sign)
                  example: '+4695000051'
                country_id:
                  type: integer
                  x-description-ru: 'Код страны (согласно стандарта Е.164, без знака `+`)'
                  description: 'Country code (according to Е.164 standard, without `+` sign)'
                  example: 46
                  minimum: 1
                port_id:
                  type: string
                  x-description-ru: >
                    Уникальное имя порта, которое будет отображаться в нашем
                    интерфейсе на странице управления Вашими номерами.
                    
                    Значение по умолчанию совпадает с номером телефона
                    (значением параметра `number`)
                  description: >
                    Unique port name, this name will be displayed in our
                    interface on your personal web-page.
                    
                    Unless specified defaults to phone number value (value of
                    `number` parameter)
                  example: Port1
                  maxLength: 100
                rent:
                  type: integer
                  x-description-ru: |
                    Режим аренды для этого номера:
                    
                    `1` - включен,
                    
                    `0` - выключен,
                  description: |
                    Rent mode for this number:
                    
                    `1` - enabled,
                    
                    `0` - disabled
                  enum:
                    - 0
                    - 1
                  example: 0
                operator:
                  type: integer
                  x-description-ru: >-
                    MCC + MNC коды оператора (эти коды содержатся в первых 5
                    цифрах IMSI)
                  description: MCC + MNC operator code (first 5 digits of IMSI)
                  example: 24012
                date_start:
                  type: integer
                  x-description-ru: Дата и время размещения номера (UNIX timestamp)
                  description: Date and time of placement (UNIX timestamp)
                  example: 1658209063
              required:
                - number
                - country_id
                - rent
            examples:
              Payload example for  `addNumber` from your server:
                value:
                  number: '+46050910804'
                  country_id: 46
                  operator: 24012
                  date_start: 1658209063
                  port_id: Port1
                  rent: 0
                  test: test1
        x-description-ru: >-
          Добавление Ваших новых номеров к списку существующих на сервер
          Onlinesim.
        description: Adding new numbers to the list of existing ones on Onlinesim server.
  /api/resellers/checkNumber:
    get:
      servers:
        - url: 'https://{ourserver.com}'
      summary: checkNumber
      tags:
        - v2
      responses:
        '200':
          x-description-ru: Ответ сервера Onlinesim
          description: Onlinesim server response
          content:
            application/json:
              schema:
                type: object
                example: '{[key: string]: value}'
                properties:
                  id:
                    type: integer
                    x-description-ru: ID номера
                    description: Number ID
                    example: 110251
                  balance:
                    type: number
                    x-description-ru: Баланс номера
                    description: Number balance
                  country_id:
                    type: integer
                    x-description-ru: 'Код страны (согласно стандарта E.164, без знака `+`)'
                    description: >-
                      Country code (according to Е.164 standard, without `+`
                      sign)
                    example: 46
                  errors:
                    type: integer
                    x-description-ru: >-
                      Какое количество раз номер был заказан, но не сумел
                      получить SMS (количество неудачных операций)
                    description: How many failed operation current number has
                    example: 0
                  number:
                    type: string
                    x-description-ru: Номер телефона в международном формате
                    description: Phone number in international format
                    example: '4605091080'
                  port_id:
                    type: string
                    x-description-ru: >
                      Уникальное имя порта, которое будет отображаться в нашем
                      интерфейсе на странице управления Вашими номерами.
                      
                      Значение по умолчанию совпадает с номером телефона
                      (значением параметра `number`)
                    description: >
                      Unique port name, this name will be displayed in our
                      interface on your personal web-page.
                      
                      Unless specified defaults to phone number value (value of
                      `number` parameter)
                    maxLength: 100
                    example: Port1
                  sum:
                    type: number
                    x-description-ru: Общий доход, полученный данным номером, в рублях
                    description: Total income earned by this number, in RUB
                    example: 76.25
                  used_service:
                    type: object
                    x-description-ru: Список использованных на этом номере сервисов
                    description: List of used services for current number
                    properties:
                      '#service_name#':
                        type: string
                        x-description-ru: >-
                          Имя сервиса : slug сервиса (короткое имя сервиса,
                          необходимое для заказа)
                        description: >-
                          Service name : service slug (encoded service name,
                          required for order)
                        example: wa
                  banned_service:
                    type: object
                    x-description-ru: Список заблокированных на этом номере сервисов
                    description: List of banned services for current number
                    properties:
                      '#service_name#':
                        type: string
                        x-description-ru: >-
                          Имя сервиса : slug сервиса (короткое имя сервиса,
                          необходимое для заказа)
                        description: >-
                          Service name : service slug (encoded service name,
                          required for order)
                        example: tg
                  history:
                    type: array
                    items:
                      type: object
                      properties:
                        number:
                          type: integer
                          x-description-ru: >-
                            Номер телефона в международном формате
                          description: >-
                            Phone number in international format
                          example: 46777666555
                        service:
                          type: string
                          x-description-ru: >-
                            Название сервиса (для операций аренды значение всегда `rent`)
                          description: >-
                            Service name (for rental operation the value is always `rent`)
                          example: rent
                        sum:
                          type: number
                          x-description-ru: >-
                            Сумма дохода по данной операции в рублях (0, если операция была отменена клиентом или SMS не поступило)
                          description: >-
                            The income amount for this operation in RUB (0 if the operation was canceled by the client or SMS was not received)
                          example: 26.6
                        created_at:
                          type: string
                          x-description-ru: >-
                            Дата и время начала операции (заказа номера клиентом)
                          description: >-
                            Date and time the operation started (when the client ordered the number).
                          example: "2024-06-11 17:33:26"
                        updated_at:
                          type: string
                          x-description-ru: >-
                            Дата и время последнего обновления информации об операции (если операция закрыта - совпадает с датой и временем закрытия)
                          description: >-
                            Date and time of the last update for this operation (if the operation is already closed, it matches the closing date and time).
                          example: "2024-06-11 17:48:37"
                        history:
                          type: boolean
                          x-description-ru: >-
                            Флаг закрытия операции (если `true` - операция закрыта на момент выполнения запроса)
                          description: >-
                            Operation closure marker (if `true`, the operation is closed at the time of the request)
                          example: true
                  banned:
                    type: boolean
                    x-description-ru: >-
                      Если `true`, номер заблокирован (блокировка применяется
                      автоматически, после 3 неудачных операций).
                      
                      Блокировка
                      снимается автоматически раз в 24 часа или по нажатию на
                      кнопку `Сброс банов`/`Clean all banned services` на странице PSA.
                    description: >-
                      If `true` the number is banned (ban is applied after 3
                      failed operations).
                      
                      It is lifted automatically every 24
                      hours or upon clicking `Reset bans`/`Clean all banned
                      services` button on your personal webpage.
                  reseller_id:
                    type: integer
                    x-description-ru: ID аккаунта партнера Onlinesim
                    description: Partner's account ID
                  rent:
                    type: boolean
                    x-description-ru: >-
                      При значении `true`, у Вашего аккаунта есть возможность
                      предоставлять номера в аренду
                    description: >-
                      If `true`, your account is eligible for providing long
                      term rent service
                  status:
                    type: integer
                    x-description-ru: >
                      Текущий статус номера, enum:
                      
                      `1` - номер работает
                      
                      `2` - номер загружается на сервер (после добавления в
                      список номеров)
                      
                      `3` - (deprecated)
                      
                      `4` - указанный Вами номер отсутствует на Вашем аккаунте
                      (некорректный номер)
                      
                      `5` - (deprecated)
                      
                      `6` - ошибка аренды: данный номер ранее был успешно
                      использован для аренды и больше не будет генерировать
                      доход. Вам необходимо заменить номер на новый.
                      
                      `7` - (deprecated)
                    description: >
                      Current status of the number, enum:
                      
                      `1` - number is working
                      
                      `2` - number is queued up/loading (after the placement)
                      
                      `3` - (deprecated)
                      
                      `4` - such number does not exist on your account (invalid
                      entry)
                      
                      `5` - (deprecated)
                      
                      `6` - rent error: this number was successfully used for
                      long term rent and won't generate the profit anymore. You
                      need to replace the number with a new one.
                      
                      `7` - (deprecated)
                    enum:
                      - 1
                      - 2
                      - 3
                      - 4
                      - 6
                      - 7
                  status_text:
                    type: string
                    x-description-ru: Текущий статус номера, текстовое описание
                    description: Current status of the number, textual description
                    example: work
                  clearable:
                    type: boolean
                    x-description-ru: >-
                      Доступность функции `Сброс банов`/`Clean all banned
                      services` (доступно раз в 24 часа)
                    description: >-
                      `Reset bans`/`Clean all banned services` function
                      availability (available once in 24 hours)
                  created_at:
                    type: object
                    properties:
                      date:
                        type: string
                        x-description-ru: Дата и время размещения номера
                        description: Date and time of placement
                      timezone_type:
                        type: integer
                        x-description-ru: Часовой пояс времени сервера
                        description: Server timezone
                      timezone:
                        type: string
                        x-description-ru: Часовой пояс времени сервера (в текстовом формате)
                        description: Server timezone (text)
                  response:
                    oneOf:
                      - type: string
                      - type: integer
                    x-description-ru: >-
                      1, если запрос был выполнен успешно, либо выведет
                      сообщение об ошибке
                    description: >-
                      1, if request was successful, otherwise error message will
                      come up
                    example: 1

              examples:
                Example response from Onlinesim server (successful retrieval with full details):
                  value:
                    response: '1'
                    id: 110251
                    balance: 250.00
                    country_id: 46
                    errors: 0
                    number: '4605091080'
                    port_id: Port1
                    sum: 76.25
                    used_service:
                      wa: wa
                      tg: tg
                    banned_service:
                      fb: fb
                    history:
                      - number: 46777666555
                        service: rent
                        sum: 26.6
                        created_at: "2024-06-11 17:33:26"
                        updated_at: "2024-06-11 17:48:37"
                        history: true
                    banned: false
                    reseller_id: 12345
                    rent: true
                    status: 1
                    status_text: work
                    clearable: true
                    created_at:
                      date: "2024-05-01T12:00:00"
                      timezone_type: 1
                      timezone: "UTC"

                Example response from Onlinesim server (successful retrieval with empty history as `with_history` is not passed):
                  value:
                    response: '1'
                    id: 110252
                    balance: 100.00
                    country_id: 1
                    errors: 3
                    number: '15555555555'
                    port_id: Port2
                    sum: 0
                    used_service:
                      in: in
                    banned_service:
                      wa: wa
                      tg: tg
                    history: [ ]
                    banned: true
                    reseller_id: 12346
                    rent: false
                    status: 6
                    status_text: rent_error
                    clearable: false
                    created_at:
                      date: "2024-06-01T12:00:00"
                      timezone_type: 1
                      timezone: "UTC"


                Example response from Onlinesim server (failed retrieval):
                  value:
                    response: '0'
      operationId: checkNumber
      x-description-ru: >
        >**ВАЖНО!**
        
        URL сервера Onlinesim предоставляется сотрудниками партнерской поддержки. Обратите внимание, что URL сервера Onlinesim в примере заменен на заглушку.



        Данный запрос возвращает подробную информацию о номере.



        Вы можете использовать его для получения данных, например, для анализа статистики номеров.
      description: >
        >**IMPORTANT NOTE!**
        
        URL of Onlinesim server is provided by Onlinesim partner support specialists. Please note, that the URL in the example is just a placeholder.



        This request retrieves detailed information about the number.



        You might need it to gather the data to analyse the statistics.
      parameters:
        - name: number
          in: query
          required: true
          schema:
            type: string
            example: '+460509081050'
          description: Phone number in international format (including country code)
          x-description-ru: Номер телефона в международном формате (включая код страны)

        - name: with_history
          in: query
          schema:
            type: boolean
            example: true
          description: Detailed operation history flag (when `true` returns a list of operations for the specified numbers)
          x-description-ru: Отображение истории операций (при значении `true` в ответе будет выведена вся история операций для указанных номеров)

        - $ref: '#/components/parameters/Authorization'

  /api/resellers:
    get:
      servers:
        - url: 'https://{ourserver.com}'
      summary: checkWork
      tags:
        - v2
      responses:
        '200':
          x-description-ru: Ответ сервера Onlinesim
          description: Onlinesim server response
          content:
            application/json:
              schema:
                type: object
                properties:
                  response:
                    oneOf:
                      - type: string
                      - type: integer
                    x-description-ru: >-
                      1, если запрос был выполнен успешно, либо выведет
                      сообщение об ошибке
                    description: >-
                      1, if request was successful, otherwise error message will
                      come up
                    example: 1
              examples:
                Example response from Onlinesim server (successfuly received uptime confirmation from your server):
                  value:
                    response: 1
      operationId: checkWork
      x-description-ru: >
        >**ВАЖНО!**
        
        URL сервера Onlinesim предоставляется сотрудниками партнерской поддержки. Обратите внимание, что URL сервера Onlinesim в примере заменен на заглушку.



        Данный запрос служит для подтверждения работоспособности Вашего сервера.



        Это альтернативный вариант отсылки запроса [sendNumbersOnline](/ru/openapi_docs/Reseller-API-UN/post/api_resellers_sendNumbersOnline) каждые 5 минут на сервер Onlinesim, Вы можете отсылать запрос [checkWork](/ru/openapi_docs/Reseller-API-UN/get/api_resellers) без каких-либо дополнительных параметров с тем же временным интервалом.
      description: >
        >**IMPORTANT NOTE!**
        
        URL of Onlinesim server is provided by Onlinesim partner support specialists. Please note, that the URL in the example is just a placeholder.



        This request serves as confirmation that your server is up and running.



        This is alternative to sending [sendNumbersOnline](/openapi_docs/Reseller-API-UN/post/api_resellers_sendNumbersOnline) every 5 minutes, you can send [checkWork](/openapi_docs/Reseller-API-UN/get/api_resellers) request with no additional parameters with same time interval.
      parameters:
        - $ref: '#/components/parameters/Authorization'
  /api/resellers/removeNumber:
    delete:
      servers:
        - url: 'https://{ourserver.com}'
      summary: removeNumber
      operationId: removeNumber
      responses:
        '200':
          x-description-ru: Ответ сервера Onlinesim
          description: Onlinesim server response
          content:
            application/json:
              schema:
                type: object
                properties:
                  response:
                    oneOf:
                      - type: string
                      - type: integer
                    x-description-ru: >-
                      1, если запрос был выполнен успешно, либо выведет
                      сообщение об ошибке
                    description: >-
                      1, if request was successful, otherwise error message will
                      come up
                    example: 1
              examples:
                Example response from Onlinesim server when numbers were successfuly removed from the list:
                  value:
                    response: 1
      x-description-ru: >
        >**ВАЖНО!**
        
        URL сервера Onlinesim предоставляется сотрудниками партнерской поддержки. Обратите внимание, что URL сервера Onlinesim в примере заменен на заглушку.



        Этот запрос позволяет удалять конкретные номера из списка Ваших текущих номеров.



        Вы можете использовать этот запрос вместо [sendNumbersOnline](/ru/openapi_docs/Reseller-API-UN/post/api_resellers_sendNumbersOnline) для изменения списка номеров, удаляя некоторые ранее переданные номера из списка.
      description: >
        >**IMPORTANT NOTE!**
        
        URL of Onlinesim server is provided by Onlinesim partner support specialists. Please note, that the URL in the example is just a placeholder.



        This request allows to delete specific numbers from the list of your current numbers.



        You can use it instead of [sendNumbersOnline](/openapi_docs/Reseller-API-UN/post/api_resellers_sendNumbersOnline) request to modify the list of numbers precisely, by deleting the numbers that are on the list.
      tags:
        - v2
      parameters:
        - schema:
            type: string
            example: '+460509081050'
          in: query
          name: number
          x-description-ru: Номер телефона в международном формате (включая код страны)
          description: Phone number in international format (including country code)
          required: true
        - schema:
            type: string
            enum:
              - test1
              - test2
          in: query
          name: test
          x-description-ru: >
            Параметр для тестов. Может принимать одно из двух значений: `test1`
            или `test2`.
            
            Будучи равным `test1` отправит запрос на сервер, но данные,
            переданные таким запросом не будут сохранены нашим сервером (не
            вызовет исполнения функции).
            
            Если параметр будет равен `test2`, то сервер Onlinesim в ответе
            вернет тело Вашего запроса.
          description: >
            Testing parameter. Allowed values are `test1`, `test2`.
            
            While being assigned, `test1` value will allow the request to be
            passed, however the data won't be saved by our server (the function
            will not be executed by this request).
            
            While being assigned, `test2` value will print out your request's
            payload in response.
        - $ref: '#/components/parameters/Authorization'

  /api/resellers/addNumbers:
    post:
      servers:
        - url: 'https://{ourserver.com}'
      summary: addNumbers
      operationId: addNumbers
      responses:
        '200':
          x-description-ru: Ответ сервера Onlinesim
          description: Onlinesim server response
          content:
            application/json:
              schema:
                type: object
                properties:
                  response:
                    oneOf:
                      - type: string
                      - type: integer
                    x-description-ru: >-
                      1, если запрос был выполнен успешно, либо выведет
                      сообщение об ошибке
                    description: >-
                      1, if request was successful, otherwise error message will
                      come up
                    example: 1
                  ids:
                    type: object
                    properties:
                      '#number#':
                        type: integer
                        x-description-ru: >-
                          Телефонные номера и их ID: `id` - возвращает ID для каждого
                          номера (или присваивает ID для нового номера), либо
                          присваивает `null` для удаленных номеров
                        description: >-
                          Phone number and their respective IDs: `id` - returns id for each
                          existing number (or assigns `id` for new ones) or
                          assigns `null` for removed numbers
              examples:
                Onlinesim server response example (successfuly added new numbers):
                  value:
                    response: 1
                    ids:
                      '+234112233445': 1042
                      '+234112233446': 1043
                      '+234112233447': 1044
        '400':
          description: Bad Request
          content:
            text/html:
              schema:
                type: string
              examples:
                Incorrect format number passed:
                  value: NUMBER_FORMAT_ERROR
                date_start format error:
                  value: ERROR_DATE
      tags:
        - v2
      x-description-ru: >
        >**ВАЖНО!**
        >
        >URL сервера Onlinesim предоставляется сотрудниками партнерской поддержки. Обратите внимание, что URL сервера Onlinesim в примере заменен на заглушку.

        Данный запрос позволяет Вам массово добавлять номера к списку существующих на сервер Onlinesim.

      description: >
        >**IMPORTANT NOTE!**
        >
        >URL of Onlinesim server is provided by Onlinesim partner support specialists. Please note, that the URL in the example is just a placeholder.

        This request allows you to add new numbers the list of existing ones to the Onlinesim server in bulk.

      parameters:
        - $ref: '#/components/parameters/Authorization'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                numbers:
                  type: array
                  items:
                    type: object
                    properties:
                      number:
                        type: string
                        x-description-ru: Номер телефона в международном формате (со знаком `+`)
                        description: Number in international format (with `+` sign)
                        example: '+4695000051'
                      country_id:
                        type: integer
                        x-description-ru: 'Код страны (согласно стандарта Е.164, без знака `+`)'
                        description: 'Country code (according to Е.164 standard, without `+` sign)'
                        example: 46
                        minimum: 1
                      port_id:
                        type: string
                        x-description-ru: >
                          Уникальное имя порта, которое будет отображаться в нашем
                          интерфейсе на странице управления Вашими номерами.
                          
                          Значение по умолчанию совпадает с номером телефона
                          (значением параметра `number`)
                        description: >
                          Unique port name, this name will be displayed in our
                          interface on your personal web-page.
                          
                          Unless specified defaults to phone number value (value of
                          `number` parameter)
                        example: Port1
                        maxLength: 100
                      rent:
                        type: integer
                        x-description-ru: |
                          Режим аренды для этого номера:
                          
                          `1` - включен,
                          
                          `0` - выключен,
                        description: |
                          Rent mode for this number:
                          
                          `1` - enabled,
                          
                          `0` - disabled
                        enum:
                          - 0
                          - 1
                        example: 0
                      operator:
                        type: integer
                        x-description-ru: >-
                          MCC + MNC коды оператора (эти коды содержатся в первых 5
                          цифрах IMSI)
                        description: MCC + MNC operator code (first 5 digits of IMSI)
                        example: 24012
                      date_start:
                        type: integer
                        x-description-ru: Дата и время размещения номера (UNIX timestamp)
                        description: Date and time of placement (UNIX timestamp)
                        example: 1658209063
              required:
                - number
                - country_id
                - rent
            x-examples:
              example-1:
                numbers: [
                  {
                    number: '+234112233447',
                    country_id: 234,
                    operator: 28967,
                    date_start: 1543907600,
                    port_id: Port1,
                    rent: 1
                  },
                  {
                    number: '+234112233448',
                    country_id: 234,
                    operator: 28967,
                    date_start: 1543907601,
                    port_id: Port2,
                    rent: 0
                  }
                ]
  /api/resellers/checkNumbers:
    get:
      servers:
        - url: 'https://{ourserver.com}'
      summary: checkNumbers
      operationId: checkNumbers
      responses:
        '200':
          x-description-ru: Ответ сервера Onlinesim
          description: Onlinesim server response
          content:
            application/json:
              schema:
                type: array
                example: '[ ... ]'
                items:
                  type: object
                  example: '{[key: string]: value}'
                  properties:
                    id:
                      type: integer
                      x-description-ru: ID номера
                      description: Number ID
                      example: 110251
                    balance:
                      type: number
                      x-description-ru: Баланс номера
                      description: Number balance
                    country_id:
                      type: integer
                      x-description-ru: 'Код страны (согласно стандарта E.164, без знака `+`)'
                      description: >-
                        Country code (according to Е.164 standard, without `+`
                        sign)
                      example: 46
                    errors:
                      type: integer
                      x-description-ru: >-
                        Какое количество раз номер был заказан, но не сумел
                        получить SMS (количество неудачных операций)
                      description: How many failed operation current number has
                      example: 0
                    number:
                      type: string
                      x-description-ru: Номер телефона в международном формате
                      description: Phone number in international format
                      example: '4605091080'
                    port_id:
                      type: string
                      x-description-ru: >
                        Уникальное имя порта, которое будет отображаться в нашем
                        интерфейсе на странице управления Вашими номерами.
                        
                        Значение по умолчанию совпадает с номером телефона
                        (значением параметра `number`)
                      description: >
                        Unique port name, this name will be displayed in our
                        interface on your personal web-page.
                        
                        Unless specified defaults to phone number value (value of
                        `number` parameter)
                      maxLength: 100
                      example: Port1
                    sum:
                      type: number
                      x-description-ru: Общий доход, полученный данным номером, в рублях
                      description: Total income earned by this number, in RUB
                      example: 76.25
                    used_service:
                      type: object
                      x-description-ru: Список использованных на этом номере сервисов
                      description: List of used services for current number
                      properties:
                        '#service_name#':
                          type: string
                          x-description-ru: >-
                            Имя сервиса : slug сервиса (короткое имя сервиса,
                            необходимое для заказа)
                          description: >-
                            Service name : service slug (encoded service name,
                            required for order)
                          example: wa
                    banned_service:
                      type: object
                      x-description-ru: Список заблокированных на этом номере сервисов
                      description: List of banned services for current number
                      properties:
                        '#service_name#':
                          type: string
                          x-description-ru: >-
                            Имя сервиса : slug сервиса (короткое имя сервиса,
                            необходимое для заказа)
                          description: >-
                            Service name : service slug (encoded service name,
                            required for order)
                          example: tg
                    history:
                      type: array
                      items:
                        type: object
                        properties:
                          number:
                            type: integer
                            x-description-ru: >-
                              Номер телефона в международном формате
                            description: >-
                              Phone number in international format
                            example: 46777666555
                          service:
                            type: string
                            x-description-ru: >-
                              Название сервиса (для операций аренды значение всегда `rent`)
                            description: >-
                              Service name (for rental operation the value is always `rent`)
                            example: rent
                          sum:
                            type: number
                            x-description-ru: >-
                              Сумма дохода по данной операции в рублях (0, если операция была отменена клиентом или SMS не поступило)
                            description: >-
                              The income amount for this operation in RUB (0 if the operation was canceled by the client or SMS was not received)
                            example: 26.6
                          created_at:
                            type: string
                            x-description-ru: >-
                              Дата и время начала операции (заказа номера клиентом)
                            description: >-
                              Date and time the operation started (when the client ordered the number).
                            example: "2024-06-11 17:33:26"
                          updated_at:
                            type: string
                            x-description-ru: >-
                              Дата и время последнего обновления информации об операции (если операция закрыта - совпадает с датой и временем закрытия)
                            description: >-
                              Date and time of the last update for this operation (if the operation is already closed, it matches the closing date and time).
                            example: "2024-06-11 17:48:37"
                          history:
                            type: boolean
                            x-description-ru: >-
                              Флаг закрытия операции (если `true` - операция закрыта на момент выполнения запроса)
                            description: >-
                              Operation closure marker (if `true`, the operation is closed at the time of the request)
                            example: "true"
                    banned:
                      type: boolean
                      x-description-ru: >-
                        Если `true`, номер заблокирован (блокировка применяется
                        автоматически, после 3 неудачных операций).
                        
                        Блокировка
                        снимается автоматически раз в 24 часа или по нажатию на
                        кнопку `Сброс банов`/`Clean all banned services` на странице PSA.
                      description: >-
                        If `true` the number is banned (ban is applied after 3
                        failed operations).
                        
                        It is lifted automatically every 24
                        hours or upon clicking `Reset bans`/`Clean all banned
                        services` button on your personal webpage.
                    reseller_id:
                      type: integer
                      x-description-ru: ID аккаунта партнера Onlinesim
                      description: Partner's account ID
                    rent:
                      type: boolean
                      x-description-ru: >-
                        При значении `true`, у Вашего аккаунта есть возможность
                        предоставлять номера в аренду
                      description: >-
                        If `true`, your account is eligible for providing long
                        term rent service
                    status:
                      type: integer
                      x-description-ru: >
                        Текущий статус номера, enum:
                        
                        `1` - номер работает
                        
                        `2` - номер загружается на сервер (после добавления в
                        список номеров)
                        
                        `3` - (deprecated)
                        
                        `4` - указанный Вами номер отсутствует на Вашем аккаунте
                        (некорректный номер)
                        
                        `5` - (deprecated)
                        
                        `6` - ошибка аренды: данный номер ранее был успешно
                        использован для аренды и больше не будет генерировать
                        доход. Вам необходимо заменить номер на новый.
                        
                        `7` - (deprecated)
                      description: >
                        Current status of the number, enum:
                        
                        `1` - number is working
                        
                        `2` - number is queued up/loading (after the placement)
                        
                        `3` - (deprecated)
                        
                        `4` - such number does not exist on your account (invalid
                        entry)
                        
                        `5` - (deprecated)
                        
                        `6` - rent error: this number was successfully used for
                        long term rent and won't generate the profit anymore. You
                        need to replace the number with a new one.
                        
                        `7` - (deprecated)
                      enum:
                        - 1
                        - 2
                        - 3
                        - 4
                        - 6
                        - 7
                    status_text:
                      type: string
                      x-description-ru: Текущий статус номера, текстовое описание
                      description: Current status of the number, textual description
                      example: work
                    clearable:
                      type: boolean
                      x-description-ru: >-
                        Доступность функции `Сброс банов`/`Clean all banned
                        services` (доступно раз в 24 часа)
                      description: >-
                        `Reset bans`/`Clean all banned services` function
                        availability (available once in 24 hours)
                    created_at:
                      type: object
                      properties:
                        date:
                          type: string
                          x-description-ru: Дата и время размещения номера
                          description: Date and time of placement
                        timezone_type:
                          type: integer
                          x-description-ru: Часовой пояс времени сервера
                          description: Server timezone
                        timezone:
                          type: string
                          x-description-ru: Часовой пояс времени сервера (в текстовом формате)
                          description: Server timezone (text)
                    response:
                      oneOf:
                        - type: string
                        - type: integer
                      x-description-ru: >-
                        1, если запрос был выполнен успешно, либо выведет
                        сообщение об ошибке
                      description: >-
                        1, if request was successful, otherwise error message will
                        come up
                      example: 1
              examples:
                Example response from Onlinesim server (successful retrieval with full details):
                  value:
                    response: '1'
                    '234112233445':
                      id: 110251
                      balance: 250.00
                      country_id: 46
                      errors: 0
                      number: '4605091080'
                      port_id: Port1
                      sum: 76.25
                      used_service:
                        wa: wa
                        tg: tg
                      banned_service:
                        fb: fb
                      history:
                        - number: 46777666555
                          service: rent
                          sum: 26.6
                          created_at: "2024-06-11 17:33:26"
                          updated_at: "2024-06-11 17:48:37"
                          history: true
                      banned: false
                      reseller_id: 12345
                      rent: true
                      status: 1
                      status_text: work
                      clearable: true
                      created_at:
                        date: "2024-05-01T12:00:00"
                        timezone_type: 1
                        timezone: "UTC"

                Example response from Onlinesim server (successful retrieval with empty history as `with_history` is not passed):
                  value:
                    response: '1'
                    '234112233446':
                      id: 110252
                      balance: 100.00
                      country_id: 1
                      errors: 3
                      number: '15555555555'
                      port_id: Port2
                      sum: 0
                      used_service:
                        in: in
                      banned_service:
                        wa: wa
                        tg: tg
                      history: [ ]
                      banned: true
                      reseller_id: 12346
                      rent: false
                      status: 6
                      status_text: rent_error
                      clearable: false
                      created_at:
                        date: "2024-06-01T12:00:00"
                        timezone_type: 1
                        timezone: "UTC"

                Example response from Onlinesim server (failed retrieval):
                  value:
                    response: '0'

        '400':
          description: Bad Request
          content:
            text/html:
              schema:
                type: string
              examples:
                Incorrect format number passed:
                  value: NUMBER_FORMAT_ERROR
      tags:
        - v2
      x-description-ru: >
        >**ВАЖНО!**
        
        URL сервера Onlinesim предоставляется сотрудниками партнерской поддержки. Обратите внимание, что URL сервера Onlinesim в примере заменен на заглушку.
  


        Данный запрос аналогичен запросу [checkNumber](ru/openapi_docs/reseller-api-un/get/api_resellers_checkNumber), но в отличие от него позволяет массово проверять номера на сервере Onlinesim.
        Он предоставляет подробную информацию о переданных номерах.

      description: >
        >**IMPORTANT NOTE!**
        
        URL of Onlinesim server is provided by Onlinesim partner support specialists. Please note, that the URL in the example is just a placeholder.
  


        This request is similar to [checkNumber](/openapi_docs/reseller-api-un/get/api_resellers_checkNumber) request, with exception that it allows you to check numbers on the Onlinesim server in bulk.
        It provides a detailed information on numbers you've listed.
      parameters:
        - name: with_history
          in: query
          schema:
            type: boolean
            example: true
          description: Detailed operation history flag (when `true` returns a list of operations for the specified numbers)
          x-description-ru: Отображение истории операций (при значении `true` в ответе будет выведена вся история операций для указанных номеров)

        - $ref: '#/components/parameters/Authorization'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                numbers:
                  type: array
                  items:
                    type: string
                    description: Number in international format (with `+` sign)
                    example: '+4695000051'
            x-examples:
              example-1:
                numbers: [
                  '+234112233447',
                  '+234112233448'
                ]
  /api/resellers/removeNumbers:
    delete:
      servers:
        - url: 'https://{ourserver.com}'
      summary: removeNumbers
      operationId: removeNumbers
      responses:
        '200':
          x-description-ru: Ответ сервера Onlinesim
          description: Onlinesim server response
          content:
            application/json:
              schema:
                type: object
                properties:
                  response:
                    oneOf:
                      - type: string
                      - type: integer
                    x-description-ru: >-
                      1, если запрос был выполнен успешно, либо выведет
                      сообщение об ошибке
                    description: >-
                      1, if request was successful, otherwise error message will
                      come up
                    example: 1
              examples:
                Example response from Onlinesim server when numbers were successfuly removed from the list:
                  value:
                    response: 1
        '400':
          description: Bad Request
          content:
            text/html:
              schema:
                type: string
              examples:
                Incorrect format number passed:
                  value: NUMBER_FORMAT_ERROR
      tags:
        - v2
      x-description-ru: >
        >**ВАЖНО!**
        
        URL сервера Onlinesim предоставляется сотрудниками партнерской поддержки. Обратите внимание, что URL сервера Onlinesim в примере заменен на заглушку.
  
        Этот запрос позволяет массово удалять конкретные номера из списка Ваших текущих номеров.

      description: >
        >**IMPORTANT NOTE!**
        
        URL of Onlinesim server is provided by Onlinesim partner support specialists. Please note, that the URL in the example is just a placeholder.
  
        This request allows to delete specific numbers from the list of your current numbers in bulk.

      parameters:
        - $ref: '#/components/parameters/Authorization'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                ids:
                  type: array
                  items:
                    type: string
                    description: Number ID
                    example: '110251'
                numbers:
                  type: array
                  items:
                    type: string
                    description: Number in international format (with `+` sign)
                    example: '+4695000051'
            x-examples:
              example-1:
                ids: ['1', '2']
                numbers: ['+234112233447', '+234112233448']
  /api/auth/me:
    post:
      servers:
        - url: 'https://{ourserver.com}'
      summary: saveConfig
      operationId: saveConfig
      responses:
        '200':
          x-description-ru: Ответ сервера Onlinesim
          description: Onlinesim server response
          content:
            application/json:
              schema:
                type: object
                properties:
                  response:
                    oneOf:
                      - type: string
                      - type: integer
                    x-description-ru: >-
                      1, если запрос был выполнен успешно, либо выведет
                      сообщение об ошибке
                    description: >-
                      1, if request was successful, otherwise error message will
                      come up
                    example: 1
              examples:
                Example response from Onlinesim server for successfuly modified service blacklist:
                  value:
                    response: 1
      tags:
        - v2
      x-description-ru: >
        >**ВАЖНО!**
        
        URL сервера Onlinesim предоставляется сотрудниками партнерской поддержки. Обратите внимание, что URL сервера Onlinesim в примере заменен на заглушку.



        Этот запрос позволяет добавлять сервисы в список исключений, запрещая выдавать Ваши номера клиентам для приема SMS от указанных сервисов.



        Данный запрос может пригодиться, когда Вы используете свои номера для SMS верификации отдельных сервисов для своих собственных нужд или проектов. Этот запрос заблокирует возможность использовать все номера
        Вашего аккаунта для данных сервисов, немедленно присваивая им статус `USED` и не допуская их выдачи клиентам под указанные сервисы.



        >**ВАЖНО!**
        
        Этот запрос изменяет список исключений полностью, поэтому если Вы хотите добавить дополнительный сервис к уже существующему списку, Вам необходимо передавать в запросе тот список сервисов, который уже был передан ранее и новый сервис для блокировки.



        >**ВАЖНО!**
        
        Список исключений не работает для аренды: номера, использующиеся для аренды **БУДУТ ПРИНИМАТЬ SMS ОТ СЕРВИСОВ, НАХОДЯЩИХСЯ В СПИСКЕ ИСКЛЮЧЕНИЙ**.
      description: >
        >**IMPORTANT NOTE!**
        
        URL of Onlinesim server is provided by Onlinesim partner support specialists. Please note, that the URL in the example is just a placeholder.



        This request allows to add services to the blacklist preventing them to be used for SMS activation on your numbers.



        This request might come in handy when you use your numbers for SMS verification for your own purposes or projects. It will block these services on your account entirely immediately assigning them `USED` status and preventing them to be issued to the clients.



        >**IMPORTANT NOTE!**
        
        This request modifies the whole blacklist, so if you want to add a new service to it, you should also include those services that were on the list before.



        >**IMPORTANT NOTE!**
        
        This blacklist doesn't work for the rent: rental phone numbers **WILL BE ABLE TO RECEIVE SMS FROM BLACKLISTED SERVICES**.
      parameters:
        - $ref: '#/components/parameters/Authorization'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              x-examples:
                example-1:
                  disabled_service:
                    aaaa: aaaa
                    bbbbb: bbbb
              properties:
                disabled_service:
                  type: object
                  properties:
                    '#service_name#':
                      type: string
                      x-description-ru: Имя сервиса и его значение должны совпадать
                      description: Service name and it's value must be identical
            examples:
              Example payload for adding VKcom and Facebook to the blacklist:
                value:
                  disabled_service:
                    vkcom: vkcom
                    facebook: facebook
        x-description-ru: Тело запроса saveConfig
        description: Payload for saveConfig request
  /services:
    get:
      servers:
        - url: 'https://onlinesim.io/api/v1/info'
      summary: Service list
      tags:
        - v1
      responses:
        '200':
          x-description-ru: Пример успешного ответа на запрос списка названий сервисов
          description: Example of successful response
          content:
            application/json:
              schema:
                type: object
                properties:
                  response:
                    type: string
                    x-description-ru: >-
                      1, если запрос был выполнен успешно, либо выведет
                      сообщение об ошибке
                    description: >-
                      1, if request was successful, otherwise error message will
                      come up
                    x-stoplight:
                      id: h8oqvgzzhm9ta
                  services:
                    type: object
                    x-stoplight:
                      id: cg3ku78vk9me8
                    x-description-ru: Список сервисов
                    description: List of services
                    properties:
                      service_name:
                        type: string
                        x-stoplight:
                          id: 8zt6zct3whnpr
                        x-description-ru: >-
                          Название сервиса и соответствующий ему slug (короткое
                          имя сервиса, необходимое для заказа)
                        description: >-
                          Service name and corresponding slug (encoded service
                          name, required for order)
              examples:
                Example of service list:
                  value:
                    response: '1'
                    services:
                      '3223': fb
                      vkcom: vk
                      mailru: ma
      operationId: get-api-v1-info-services
      x-description-ru: >
        Этот запрос возвращает список всех сервисов.



        **Ответ Вашего сервера на запрос GET_SERVICES должен использовать указанные в этом списке значения названий сервисов.**



        Пожалуйста, обратите внимание, что некоторые сервисы могут быть
        отключены для определенной страны, поскольку ряд приложений и сайтов
        ориентируются на один или несколько регионов, исключая возможность
        регистрации через номера других стран.
      description: >
        This request returns a list of names for all services.



        **Your GET_SERVICES server response must use service names listed here.**



        Please note that some services might be disabled for certain countries
        as some apps and websites target specifically one or a few regions,
        disabling the ability to use phone numbers from other countries.
    parameters: []
  /countries:
    get:
      servers:
        - url: 'https://onlinesim.io/api/v1/info'
      summary: Country list
      tags:
        - v1
      responses:
        '200':
          description: Example of successful response
          content:
            application/json:
              schema:
                type: object
                properties:
                  response:
                    type: string
                    x-description-ru: >-
                      1, если запрос был выполнен успешно, либо выведет
                      сообщение об ошибке
                    description: >-
                      1, if request was successful, otherwise error message will
                      come up
                    x-stoplight:
                      id: kv7qy6jp98hie
                  countries:
                    type: object
                    x-stoplight:
                      id: eakvqs5cjpufa
                    properties:
                      country_code:
                        type: string
                        x-stoplight:
                          id: 6qh3ccsv7kbj0
                        x-description-ru: Международный телефонный код страны и ее название
                        description: International country code and it's name name
      operationId: get-api-v1-info-countries
      x-description-ru: >
        Этот запрос возвращает список названий стран.



        **Ответ Вашего сервера на запрос GET_SERVICES должен использовать указанные в этом списке значения названий стран.**



        Пожалуйста, обратите внимание, что некоторые страны могут быть временно
        выключены на нашем сайте, поэтому при добавлении номеров стран, которые
        Вы ранее не предоставляли, сообщите об этом нам.
      description: >
        This request returns a list of country names.



        **Your GET_SERVICES server response must use country names listed here.**



        Note that some countries might be temporarily disabled on our website.
        Please inform us whenever you want to add numbers for the countries you
        were not providing previosly.
    parameters: []
components:
  schemas: {}
  securitySchemes:
    apikey:
      name: Bearer apikey
      type: apikey
      in: header
      x-description-ru: |
          ## Общая информация



            Авторизация запросов происходит через API key - секретный ключ, используемый для упрощенной авторизации в Reseller API. API ключ необходимо передавать в его теле запроса (для v1), либо в его заголовке (для v2). Отправка неавторизованных запросов вызовет ошибку `401 Unauthorized`.

          ---

          #### Как получить API ключ:

          1. Авторизоваться в [личном кабинете](/auth/login), перейти настройки профиля, выбрать вкладку 'API'.

          2. Ключ будет указан в соответствующей строке, его необходимо будет скопировать и сохранить.

          ---

          #### Как использовать:

          1. Все запросы к Reseller API должны содержать API ключ.

          2. В зависимости от используемой Вами версии API, ключ должен включаться:

          * если Вы используете v1 Reseller API - в тело всех запросов, в поле 'key',

          ```json
            {
              "action": "GET_SERVICES",
              "key": "apikey"
            }
          ```

          * если Вы используете v2 Reseller API - в заголовок запроса с помощью схемы `Authorization: Bearer`.

          ```
            Authorization: Bearer {{key}}
            User-Agent: PostmanRuntime/7.29.2
            Accept: */\*
            Cache-Control: no-cache
            Postman-Token: 948bc880-8d25-4298-994f-fe6e22ada339
            Host: onlinesim.io
            Accept-Encoding: gzip, deflate, br
            Connection: keep-alive
            Cookie: xxxx
          ```

          Вы также можете использовать API ключ как query параметр `apikey` при отправке запроса для обоих API.

                  https://onlinesim.io/api/getNumbersStats.php?apikey={{api_key}}
      description: |
        ## General Information



          Requests are authenticated with API key - a secret personal key assigned by our server to identify calls to Reseller API from users. API key should be passed in request's body (v1 Reseller API) or request's header (v2 Reseller API). Unauthenticated calls will result in `401 Unauthorized error`.

        ---

        #### How to get an API key:

        1. [Log in](/auth/login) to personal account, go to the 'User Profile' and click on 'API' tab.

        2. Copy the key from the corresponding field.

        ---

        #### How to use it:

        1. All Reseller API requests must contain an API key.

        2. Based on version, all API calls must contain the key:

        * if you are using v1 Reseller API - it has to be in the 'key' field inside the body of each request,

        ```json
          {
            "action": "GET_SERVICES",
            "key": "apikey"
          }
        ```

        * if you are using v2 Reseller API - it has to be in the header of each request using `Authorization: Bearer` schema.

        ```
            Authorization: Bearer {{apikey}}
            User-Agent: PostmanRuntime/7.29.2
            Accept: */\*
            Cache-Control: no-cache
            Postman-Token: 948bc880-8d25-4298-994f-fe6e22ada339
            Host: onlinesim.io
            Accept-Encoding: gzip, deflate, br
            Connection: keep-alive
            Cookie: xxxx
        ```

        API key can also be specified as a query parameter (`apikey`) for both API versions.

                  https://onlinesim.io/api/getNumbersStats.php?apikey={{apikey}}
  parameters:
    Authorization:
      name: Authorization
      in: header
      required: true
      description: see more [here](/openapi_docs/Reseller-API-UN/auth)
      x-description-ru: Смотрите подробнее [тут](/ru/openapi_docs/Reseller-API-UN/auth)
      schema:
        type: string
        example: Bearer apikey
    Content-Type:
      name: Content-Type
      in: header
      required: true
      schema:
        type: string
        enum:
          - application/json; charset=utf-8
        example: application/json; charset=utf-8
      x-description-ru: Заголовок `Content type` и кодировка
      description: '`Content type` header and encoding scheme'
  responses: {}
tags:
  - name: v1
    x-description-ru: v1 API для партнеров (сервер Onlinesim запрашивает номера у Вашего)
    description: v1 API for partners (our server requests numbers from yours)
  - name: v1 rent
    x-description-ru: >-
      v1 API для аренды Ваших номеров (сервер Onlinesim запрашивает номера у
      Вашего)
    description: v1 API for renting your numbers (our server requests numbers from yours)
  - name: v2
    x-description-ru: >-
      v2 API для партнеров (Ваш сервер отсылает все доступные для продажи номера
      на сервер Onlinesim)
    description: >-
      v2 API for partners (your server sends a list of available numbers to our
      server)
