# OpenAPI 3.0.3 description of the REST API. Generated together with the Developer Portal data; keep both in step.
openapi: 3.0.3
info:
  title: MehrAfraz Asia SMS REST API
  version: '1.0'
  description: 'REST API of the MehrAfraz Asia SMS system, transcribed from https://mehrafraz.com/fullrest/Help and from responses observed on
    2026-10-06 and 2026-10-07.


    Authentication: there is no header or token. UserName, Password and DomainName are sent in the JSON body of each request.


    Errors: business errors come back with HTTP 200; check `Status` (0 = no error, negative = error code) and `Messege`. Observed: -2 for an unknown
    user name, -44 for a wrong password of an existing user.


    Not included because the reference does not state them: mobile-number format, date formats, per-request limits other than 3000 mobiles for
    Send, and CORS policy.


    Request bodies are also accepted as XML and as application/x-www-form-urlencoded; responses are always JSON (observed).


    The SOAP services are not described here; their formal definitions are the WSDLs at https://mehrafraz.com/webservice/serviceV2.asmx?WSDL and
    https://mehrafraz.com/webservice/service.asmx?WSDL


    Response examples of the send, delivery and account operations were checked against an authorised test-account run on 2026-10-07; identifiers
    and amounts in them are examples.'
servers:
- url: https://mehrafraz.com/fullrest/api
tags:
- name: Send
- name: Receive
- name: Account
- name: Delivery
paths:
  /Send:
    post:
      operationId: send
      tags:
      - Send
      summary: ارسال پیامک
      description: 'ارسال پیامک


        این متد پیامک واقعی ارسال می‌کند و از اعتبار حساب کم می‌شود.'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SendModel'
            examples:
              single:
                summary: ارسال به یک گیرنده
                value:
                  Smsbody: 'کد تایید شما: 48213'
                  Mobiles:
                  - 09XXXXXXXXX
                  Id: '1001'
                  SenderNumber: YOUR_SENDER_NUMBER
                  UserName: YOUR_USERNAME
                  Password: YOUR_PASSWORD
                  DomainName: YOUR_DOMAIN
              multi:
                summary: ارسال یک متن به چند گیرنده
                value:
                  Smsbody: جلسه فردا ساعت 10 برگزار می‌شود.
                  Mobiles:
                  - 09XXXXXXXXX
                  - 09YYYYYYYYY
                  - 09ZZZZZZZZZ
                  Id: '1002'
                  SenderNumber: YOUR_SENDER_NUMBER
                  UserName: YOUR_USERNAME
                  Password: YOUR_PASSWORD
                  DomainName: YOUR_DOMAIN
              default-sender:
                summary: ارسال با شماره پیش‌فرض حساب
                value:
                  Smsbody: سفارش شما ثبت شد.
                  Mobiles:
                  - 09XXXXXXXXX
                  Id: '1003'
                  SenderNumber: ''
                  UserName: YOUR_USERNAME
                  Password: YOUR_PASSWORD
                  DomainName: YOUR_DOMAIN
      responses:
        '200':
          description: 'The call was processed. HTTP 200 does not mean success: Status 0 means no error, a negative Status is an error code and
            Messege carries its text.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Codes'
              examples:
                single:
                  summary: ارسال به یک گیرنده
                  value:
                    ReturnCodes:
                    - '327955410'
                    Messege: null
                    Status: 0
                multi:
                  summary: ارسال یک متن به چند گیرنده
                  value:
                    ReturnCodes:
                    - '2661968870'
                    - '2661968871'
                    - '2661968872'
                    Messege: null
                    Status: 0
                default-sender:
                  summary: ارسال با شماره پیش‌فرض حساب
                  value:
                    ReturnCodes:
                    - RETURN_CODE_1
                    Messege: null
                    Status: 0
                error-auth:
                  summary: 'پاسخ خطا: نام کاربری ناشناخته'
                  value:
                    ReturnCodes: null
                    Messege: ' کلمه کاربری و رمز عبور در سیستم یافت نشد'
                    Status: -2
        '415':
          description: Unsupported Content-Type, for example text/plain (observed).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HttpError'
              example:
                Message: The request entity's media type 'text/plain' is not supported for this resource.
        '500':
          description: Empty body, invalid JSON, or a body without the fields of the model, for example {} (observed).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HttpError'
              example:
                Message: An error has occurred.
      security: []
  /SendOneToOne:
    post:
      operationId: sendOneToOne
      tags:
      - Send
      summary: ارسال نظیر به نظیر
      description: 'ارسال نظیر به نظیر


        این متد پیامک واقعی ارسال می‌کند و از اعتبار حساب کم می‌شود.'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SendOneToOneModel'
            examples:
              two:
                summary: دو گیرنده با دو متن متفاوت
                value:
                  Messages:
                  - Smsbody: آقای رضایی، نوبت شما فردا ساعت 9 است.
                    SenderNumber: YOUR_SENDER_NUMBER
                    Mobile: 09XXXXXXXXX
                    Id: 2001
                  - Smsbody: خانم احمدی، نوبت شما فردا ساعت 11 است.
                    SenderNumber: YOUR_SENDER_NUMBER
                    Mobile: 09YYYYYYYYY
                    Id: 2002
                  UserName: YOUR_USERNAME
                  Password: YOUR_PASSWORD
                  DomainName: YOUR_DOMAIN
      responses:
        '200':
          description: 'The call was processed. HTTP 200 does not mean success: Status 0 means no error, a negative Status is an error code and
            Messege carries its text.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResponseOneToOneCode'
              examples:
                two:
                  summary: دو گیرنده با دو متن متفاوت
                  value:
                    ReturnCodes:
                    - 327955424
                    - 327955425
                    Messege: null
                    Status: 0
                error-auth:
                  summary: 'پاسخ خطا: نام کاربری ناشناخته'
                  value:
                    ReturnCodes: null
                    Messege: ' کلمه کاربری و رمز عبور در سیستم یافت نشد'
                    Status: -2
        '415':
          description: Unsupported Content-Type, for example text/plain (observed).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HttpError'
              example:
                Message: The request entity's media type 'text/plain' is not supported for this resource.
        '500':
          description: Empty body, invalid JSON, or a body without the fields of the model, for example {} (observed).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HttpError'
              example:
                Message: An error has occurred.
      security: []
  /Receive:
    post:
      operationId: receive
      tags:
      - Receive
      summary: دریافت پیامک‌های رسیده
      description: 'برای دریافت پیامک ها از این متد استفاده کنید


        در حالت دریافت پیام‌های جدید (`IsAllMessage: false`)، هر پیام خوانده‌نشده یک‌بار برگردانده می‌شود و پس از دریافت در وضعیت خوانده‌شده قرار می‌گیرد.


        Observed: with an unknown user name this method still answers Status 0 with an empty ReceiveModel.'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ReceiveSMS'
            examples:
              new:
                summary: فقط پیام‌های جدید
                value:
                  IsAllMessage: false
                  FromNumber: ''
                  FromDate: ''
                  ToDate: ''
                  UserName: YOUR_USERNAME
                  Password: YOUR_PASSWORD
                  DomainName: YOUR_DOMAIN
              all:
                summary: همه پیام‌ها
                value:
                  IsAllMessage: true
                  FromNumber: ''
                  FromDate: ''
                  ToDate: ''
                  UserName: YOUR_USERNAME
                  Password: YOUR_PASSWORD
                  DomainName: YOUR_DOMAIN
              number:
                summary: فقط یک شماره پیامکی
                value:
                  IsAllMessage: true
                  FromNumber: '30007819'
                  FromDate: ''
                  ToDate: ''
                  UserName: YOUR_USERNAME
                  Password: YOUR_PASSWORD
                  DomainName: YOUR_DOMAIN
              dates:
                summary: بازه تاریخ شمسی
                value:
                  IsAllMessage: true
                  FromNumber: ''
                  FromDate: 01/04/1397
                  ToDate: 10/04/1397
                  UserName: YOUR_USERNAME
                  Password: YOUR_PASSWORD
                  DomainName: YOUR_DOMAIN
      responses:
        '200':
          description: 'The call was processed. HTTP 200 does not mean success: Status 0 means no error, a negative Status is an error code and
            Messege carries its text.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Inbox'
              examples:
                new:
                  summary: فقط پیام‌های جدید
                  value:
                    ReceiveModel:
                    - Mobile: 09XXXXXXXXX
                      SenderNumber: YOUR_SENDER_NUMBER
                      Text: سلام
                      DateSmsM: DATE_GREGORIAN
                      DateSmsF: DATE_PERSIAN
                      MessageId: 123456
                    Messege: null
                    Status: 0
                all:
                  summary: همه پیام‌ها
                  value:
                    ReceiveModel: []
                    Messege: null
                    Status: 0
                number:
                  summary: فقط یک شماره پیامکی
                  value:
                    ReceiveModel: []
                    Messege: null
                    Status: 0
                dates:
                  summary: بازه تاریخ شمسی
                  value:
                    ReceiveModel: []
                    Messege: null
                    Status: 0
        '415':
          description: Unsupported Content-Type, for example text/plain (observed).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HttpError'
              example:
                Message: The request entity's media type 'text/plain' is not supported for this resource.
        '500':
          description: Empty body, invalid JSON, or a body without the fields of the model, for example {} (observed).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HttpError'
              example:
                Message: An error has occurred.
      security: []
  /UserInfo:
    post:
      operationId: userInfo
      tags:
      - Account
      summary: اطلاعات کاربر
      description: 'دریافت اطلاعات کاربر https://mehrafraz.com/fullrest/api/UserInfo


        فقط خواندنی است؛ پیامکی ارسال نمی‌شود.'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UserInfoModel'
            examples:
              ok:
                summary: دریافت اطلاعات حساب
                value:
                  UserName: YOUR_USERNAME
                  Password: YOUR_PASSWORD
                  DomainName: YOUR_DOMAIN
      responses:
        '200':
          description: 'The call was processed. HTTP 200 does not mean success: Status 0 means no error, a negative Status is an error code and
            Messege carries its text.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserInfo'
              examples:
                ok:
                  summary: دریافت اطلاعات حساب
                  value:
                    Result:
                    - YOUR_DEFAULT_NUMBER
                    - '125000'
                    - '1520'
                    - '-30'
                    - 10/7/2026 10:19:36 AM
                    - '1810'
                    - '3884'
                    SendrNumber: YOUR_DEFAULT_NUMBER
                    Charge: '125000'
                    NumberOfSms: '1520'
                    LastTimeLogin: 10/7/2026 10:19:36 AM
                    FarsiPrice: '1810'
                    EnglishPrice: '3884'
                    Messege: null
                    Status: 0
                error-auth:
                  summary: 'پاسخ خطا: نام کاربری ناشناخته'
                  value:
                    Result: null
                    SendrNumber: null
                    Charge: null
                    NumberOfSms: null
                    LastTimeLogin: null
                    FarsiPrice: null
                    EnglishPrice: null
                    Messege: ' کلمه کاربری و رمز عبور در سیستم یافت نشد'
                    Status: -2
                error-password:
                  summary: 'پاسخ خطا: رمز اشتباه برای کاربر موجود'
                  value:
                    Result: null
                    SendrNumber: null
                    Charge: null
                    NumberOfSms: null
                    LastTimeLogin: null
                    FarsiPrice: null
                    EnglishPrice: null
                    Messege: رمز عبور صحيح نمی باشد فقط 2 بار ديگر می توانيد سعی کنيد سپس تا سه دقيقه حساب شما به حالت تعليق در خواهد آمد
                    Status: -44
        '415':
          description: Unsupported Content-Type, for example text/plain (observed).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HttpError'
              example:
                Message: The request entity's media type 'text/plain' is not supported for this resource.
        '500':
          description: Empty body, invalid JSON, or a body without the fields of the model, for example {} (observed).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HttpError'
              example:
                Message: An error has occurred.
      security: []
  /Delivery:
    post:
      operationId: deliveryByUserId
      tags:
      - Delivery
      summary: وضعیت ارسال با کد رهگیری کاربر
      description: 'دریافت وضعیت های یک کد رهگیری ارسال شده از سمت کاربر


        فقط خواندنی است؛ پیامکی ارسال نمی‌شود.'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Delivery'
            examples:
              ok:
                summary: وضعیت یک ارسال
                value:
                  UserName: YOUR_USERNAME
                  Password: YOUR_PASSWORD
                  Id: '1001'
              group:
                summary: وضعیت یک ارسال به دو گیرنده
                value:
                  UserName: YOUR_USERNAME
                  Password: YOUR_PASSWORD
                  Id: '1002'
      responses:
        '200':
          description: 'The call was processed. HTTP 200 does not mean success: Status 0 means no error, a negative Status is an error code and
            Messege carries its text.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResponseDelivery'
              examples:
                ok:
                  summary: وضعیت یک ارسال
                  value:
                    DeliveryStatus:
                    - Id: 2
                      Message: رسیده به گوشی
                    Messege: null
                    Status: 0
                group:
                  summary: وضعیت یک ارسال به دو گیرنده
                  value:
                    DeliveryStatus:
                    - Id: 2
                      Message: رسیده به گوشی
                    - Id: 2
                      Message: رسیده به گوشی
                    Messege: null
                    Status: 0
                error-auth:
                  summary: 'پاسخ خطا: نام کاربری ناشناخته'
                  value:
                    DeliveryStatus: []
                    Messege: ' کلمه کاربری و رمز عبور در سیستم یافت نشد'
                    Status: -2
                error-unknown-id:
                  summary: 'پاسخ خطا: Id ناشناخته'
                  value:
                    DeliveryStatus: []
                    Messege: ' این شماره ارسال در سیستم یافت نشد'
                    Status: -15
        '415':
          description: Unsupported Content-Type, for example text/plain (observed).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HttpError'
              example:
                Message: The request entity's media type 'text/plain' is not supported for this resource.
        '500':
          description: Empty body, invalid JSON, or a body without the fields of the model, for example {} (observed).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HttpError'
              example:
                Message: An error has occurred.
      security: []
    get:
      operationId: listDeliveryStatuses
      tags:
      - Delivery
      summary: جدول وضعیت‌های پیامک
      description: 'دریافت جدول وضعیت های پیامک ها


        فقط خواندنی است و به اطلاعات ورود نیاز ندارد.'
      responses:
        '200':
          description: All delivery statuses. The live service returns an array (the Help page sample shows a single object).
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/DeliveryStatus'
              example:
              - Id: 0
                Message: در صف ارسال
              - Id: 1
                Message: به مخابرات ارسال شده
              - Id: 2
                Message: رسیده به گوشی
              - Id: 3
                Message: نرسیده به گوشی
              - Id: 4
                Message: گيرنده در ليست سياه قراردارد
              - Id: 5
                Message: کارشناسی نشده
              - Id: 6
                Message: لغو شده
              - Id: 7
                Message: مقصد ناشناخته
              - Id: 8
                Message: به بی تی اس ارسال شد
              - Id: 12
                Message: به اپراتور ارسال نشده
              - Id: 16
                Message: در راه ارسال به بی تی اس ناکام مانده
      security: []
  /Delivery1to1:
    post:
      operationId: deliveryByIds
      tags:
      - Delivery
      summary: وضعیت ارسال با کدهای سامانه
      description: 'دریافت وضعیت پیامک ها


        فقط خواندنی است؛ پیامکی ارسال نمی‌شود.'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DeliveryByIds'
            examples:
              ok:
                summary: وضعیت دو پیام
                value:
                  Ids:
                  - 327955424
                  - 327955425
                  UserName: YOUR_USERNAME
                  Password: YOUR_PASSWORD
                  DomainName: YOUR_DOMAIN
              unknown-in-list:
                summary: یک کد ناشناخته در میان کدها
                value:
                  Ids:
                  - 327955424
                  - 999999999999
                  - 327955425
                  UserName: YOUR_USERNAME
                  Password: YOUR_PASSWORD
                  DomainName: YOUR_DOMAIN
      responses:
        '200':
          description: 'The call was processed. HTTP 200 does not mean success: Status 0 means no error, a negative Status is an error code and
            Messege carries its text.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResponseDelivery1to1'
              examples:
                ok:
                  summary: وضعیت دو پیام
                  value:
                    DeliveryStatus:
                    - Id: 2
                      Message: رسیده به گوشی
                    - Id: 2
                      Message: رسیده به گوشی
                    Messege: null
                    Status: 0
                unknown-in-list:
                  summary: یک کد ناشناخته در میان کدها
                  value:
                    DeliveryStatus:
                    - Id: 2
                      Message: رسیده به گوشی
                    - null
                    - Id: 2
                      Message: رسیده به گوشی
                    Messege: null
                    Status: 0
                error-auth:
                  summary: 'پاسخ خطا: نام کاربری ناشناخته'
                  value:
                    DeliveryStatus: []
                    Messege: ' کلمه کاربری و رمز عبور در سیستم یافت نشد'
                    Status: -2
        '415':
          description: Unsupported Content-Type, for example text/plain (observed).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HttpError'
              example:
                Message: The request entity's media type 'text/plain' is not supported for this resource.
        '500':
          description: Empty body, invalid JSON, or a body without the fields of the model, for example {} (observed).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HttpError'
              example:
                Message: An error has occurred.
      security: []
  /Delivery/{id}:
    get:
      operationId: getDeliveryStatus
      tags:
      - Delivery
      summary: متن یک وضعیت
      description: 'دریافت متن یک وضعیت دلیروی پیامک


        فقط خواندنی است و به اطلاعات ورود نیاز ندارد.'
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: integer
      responses:
        '200':
          description: The status text, or null when the id is not in the table (observed).
          content:
            application/json:
              schema:
                type: object
                properties:
                  Id:
                    type: integer
                    description: شناسه خطا
                  Message:
                    type: string
                    description: متن خطا
                nullable: true
              example:
                Id: 1
                Message: به مخابرات ارسال شده
        '400':
          description: The id is not an integer (observed).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HttpError'
              example:
                Message: The request is invalid.
      security: []
components:
  schemas:
    SendModel:
      type: object
      properties:
        Smsbody:
          type: string
          description: متن پیامک
        Mobiles:
          type: array
          description: 'آرایه ای از شماره موبایلها تا 3000 موبایل. Accepted number formats (confirmed): 09XXXXXXXXX, 9XXXXXXXXX, 989XXXXXXXXX, +989XXXXXXXXX, 00989XXXXXXXXX.'
          items:
            type: string
          maxItems: 3000
        Id:
          type: string
          description: یک عدد یونیک می باشد که اگر از صفر استفاده کنید دیگر نمی توانید وضعیت پیامک ها را چک کنید
        SenderNumber:
          type: string
          description: شماره ارسالی در سامانه. در صورت خالی بودن از شماره پیش فرض استفاده می شود
        UserName:
          type: string
          description: نام کاربری
        Password:
          type: string
          description: پسورد ورود به سامانه
          format: password
        DomainName:
          type: string
          description: نام دامنه (شناسه سرگروه)
    Codes:
      type: object
      properties:
        ReturnCodes:
          type: array
          description: کدهای رهگیری برای دریافت وضعیت های پیامک ها One code per recipient, in the order of Mobiles; numeric strings (observed).
          items:
            type: string
          nullable: true
        Messege:
          type: string
          description: متن خطایی که رخ داده. The property name is spelled exactly like this.
          nullable: true
        Status:
          type: integer
          description: 'کد خطا. در صورتی که صفر باشد یعنی خطایی رخ نداده. Negative values are error codes (observed: -2, -44).'
    Message:
      type: object
      description: آرایه ای از پیام های که می خواهید ارسال کنید
      properties:
        Smsbody:
          type: string
          description: متن پیامک
        SenderNumber:
          type: string
          description: شماره ارسالی. When empty, the default sender number registered in the account settings is used (confirmed).
        Mobile:
          type: string
          description: 'شماره موبایل. Accepted number formats (confirmed): 09XXXXXXXXX, 9XXXXXXXXX, 989XXXXXXXXX, +989XXXXXXXXX, 00989XXXXXXXXX.'
        Id:
          type: integer
          description: یک عدد یونیک برای هر پیام در نظر بگیرید. در صورت صفر بودن امکان رهگیری پیام ندارید
          format: int64
    SendOneToOneModel:
      type: object
      required:
      - Messages
      properties:
        Messages:
          type: array
          description: آرایه ای از پیام های که می خواهید ارسال کنید
          items:
            $ref: '#/components/schemas/Message'
        UserName:
          type: string
          description: نام کاربری
        Password:
          type: string
          description: پسورد ورود به سامانه
          format: password
        DomainName:
          type: string
          description: نام دامنه (شناسه سرگروه)
    ResponseOneToOneCode:
      type: object
      properties:
        ReturnCodes:
          type: array
          description: کدهای ارسالی One code per message, in the order of Messages (observed).
          items:
            type: integer
            format: int64
          nullable: true
        Messege:
          type: string
          description: متن خطایی که رخ داده. The property name is spelled exactly like this.
          nullable: true
        Status:
          type: integer
          description: 'کد خطا. در صورتی که صفر باشد یعنی خطایی رخ نداده. Negative values are error codes (observed: -2, -44).'
    ReceiveSMS:
      type: object
      required:
      - IsAllMessage
      properties:
        IsAllMessage:
          type: boolean
          description: دریافت کامل پیام ها دریافتی در صورت false بودن فقط دریافتهای جدید
        FromNumber:
          type: string
          description: 'اگر خالی پاس شود تمام شماره پیامکی ها اورده می شود یا می توان شماره خاصی ارسال نمود مثل : 30007819'
        FromDate:
          type: string
          description: از تاریخ شمسی فقط تاریخ 01/04/1397(می توان خالی پاس کرد)
        ToDate:
          type: string
          description: تا تاریخ شمسی فقط تاریخ 10/04/1397(می توان خالی پاس کرد)
        UserName:
          type: string
          description: نام کاربری
        Password:
          type: string
          description: پسورد ورود به سامانه
          format: password
        DomainName:
          type: string
          description: نام دامنه (شناسه سرگروه)
    ReceiveModel:
      type: object
      properties:
        Mobile:
          type: string
          description: شماره موبایل
        SenderNumber:
          type: string
          description: شماره ارسال
        Text:
          type: string
          description: متن پیام
        DateSmsM:
          type: string
          description: تاریخ میلادی
        DateSmsF:
          type: string
          description: تاریخ فارسی
        MessageId:
          type: integer
          description: شناسه پیام
          format: int64
    Inbox:
      type: object
      properties:
        ReceiveModel:
          type: array
          description: پیامهای دریافتی
          items:
            $ref: '#/components/schemas/ReceiveModel'
        Messege:
          type: string
          description: متن خطایی که رخ داده. The property name is spelled exactly like this.
          nullable: true
        Status:
          type: integer
          description: 'کد خطا. در صورتی که صفر باشد یعنی خطایی رخ نداده. Negative values are error codes (observed: -2, -44).'
    UserInfoModel:
      type: object
      properties:
        UserName:
          type: string
          description: نام کاربری
        Password:
          type: string
          description: پسورد ورود به سامانه
          format: password
        DomainName:
          type: string
          description: نام دامنه (شناسه سرگروه)
    UserInfo:
      type: object
      properties:
        Result:
          type: array
          description: 'آرایه ای از اطلاعات کاربری. Observed: seven strings in this order - SendrNumber, Charge, NumberOfSms, an undocumented
            value, LastTimeLogin, FarsiPrice, EnglishPrice.'
          items:
            type: string
          nullable: true
        SendrNumber:
          type: string
          description: شماره ارسالی کاربر. The property name is spelled exactly like this.
          nullable: true
        Charge:
          type: string
          description: شارژ. Amount in Rial (confirmed).
          nullable: true
        NumberOfSms:
          type: string
          description: تعداد پیامک های ارسال شده
          nullable: true
        LastTimeLogin:
          type: string
          description: 'آخرین زمان ورود به نرم افزار. Observed format: M/D/YYYY h:mm:ss AM/PM, Tehran time; in tests it changed to the time of
            the last POST /Send.'
          nullable: true
        FarsiPrice:
          type: string
          description: مبلغ پیامک فارسی. Price of one SMS part, in Rial (confirmed).
          nullable: true
        EnglishPrice:
          type: string
          description: مبلغ پیامک انگلیسی. Price of one SMS part, in Rial (confirmed).
          nullable: true
        Messege:
          type: string
          description: متن خطایی که رخ داده. The property name is spelled exactly like this.
          nullable: true
        Status:
          type: integer
          description: 'کد خطا. در صورتی که صفر باشد یعنی خطایی رخ نداده. Negative values are error codes (observed: -2, -44).'
    DeliveryStatus:
      type: object
      properties:
        Id:
          type: integer
          description: شناسه خطا. The status number. Final statuses (confirmed) are 2, 3, 4, 6, 7, 12, 15 and 16.
        Message:
          type: string
          description: متن خطا
    Delivery:
      type: object
      properties:
        UserName:
          type: string
          description: نام کاربری
        Password:
          type: string
          description: پسورد ورود به سامانه
          format: password
        Id:
          type: string
          description: کد رهگیری ارسالی کاربر. The Id sent with POST /Send or the Id of one message of POST /SendOneToOne (both observed); not
            a value of ReturnCodes.
    DeliveryByIds:
      type: object
      properties:
        Ids:
          type: array
          description: کدهای دریافتی از متد ارسال در سامانه. The ReturnCodes of POST /Send or POST /SendOneToOne (both observed).
          items:
            type: integer
            format: int64
        UserName:
          type: string
          description: نام کاربری
        Password:
          type: string
          description: پسورد ورود به سامانه
          format: password
        DomainName:
          type: string
          description: نام دامنه (شناسه سرگروه)
    ResponseDelivery:
      type: object
      properties:
        DeliveryStatus:
          type: array
          description: وضعیت پیام ها. One item per recipient of the send (observed).
          items:
            $ref: '#/components/schemas/DeliveryStatus'
        Messege:
          type: string
          description: متن خطایی که رخ داده. The property name is spelled exactly like this.
          nullable: true
        Status:
          type: integer
          description: 'کد خطا. در صورتی که صفر باشد یعنی خطایی رخ نداده. Negative values are error codes (observed: -2, -44, -15 for an unknown
            Id, -14 for Id 0).'
    ResponseDelivery1to1:
      type: object
      properties:
        DeliveryStatus:
          type: array
          description: وضعیت پیام ها. Same order as Ids; the item for an id that is not found is null (observed).
          items:
            allOf:
            - $ref: '#/components/schemas/DeliveryStatus'
            nullable: true
        Messege:
          type: string
          description: متن خطایی که رخ داده. The property name is spelled exactly like this.
          nullable: true
        Status:
          type: integer
          description: 'کد خطا. در صورتی که صفر باشد یعنی خطایی رخ نداده. Negative values are error codes (observed: -2, -44; -2 is also returned
            when the only id in Ids is not found).'
    HttpError:
      type: object
      properties:
        Message:
          type: string
