Ever Platform
RoadmapIdeasDeveloper ToolsSDK
  • About Ever Platform
  • Sandbox endpoint
  • Quick Start
  • Use cases
    • Infrastructure Provider
      • Projects
    • Community-driven development
      • Roadmap
        • Discussions
      • Your ideas
      • DevNet Giver(Faucet)
    • Custom development
      • Our clients
  • Products
    • Evercloud
      • Networks Endpoints
      • Get Started
      • GraphQL API documentation
      • Testnet Faucets
      • About data proofs in Cloud
      • SLA
      • HTTP notifications
    • Dedicated Cloud/Node
    • Dapp Server (DS)
    • Simple Emulator (SE)
      • Endpoint
    • Network Emulator (NE)
    • Functionality comparison
  • Samples
    • GraphQL Samples
      • Send message
      • Network Config
      • Blocks
      • Accounts
      • Transactions
      • Messages
      • Block and Transaction Pagination: Best Practice
      • Multiple Message Processing and Monitoring
      • Subscribe for REMP receipts
  • Reference
    • GraphQL API
      • Quick Start
      • Samples
      • Networks
      • Explore Playground
      • Connect to GraphQL API
      • Schema
      • Blockchain API
      • Info API
      • Query Collections: Query Language
      • Subscribe Collections
      • Message Monitor API
      • Field Descriptions
    • Evercloud API Add-ons
      • Query cost
      • Blockchain Statistics
      • FT (Fungible Token) API
      • Price
      • Counterparties
      • Flex API
    • Changelog
      • Evercloud
      • Dapp Server (DS)
      • Simple Emulator (SE)
    • Breaking changes
      • Policy
      • Deprecation schedule
      • Migration guides
        • GraphQL API 1.0 migration
  • SDK and tools
    • everdev
    • Client Libraries
  • Guides
    • How to connect to GraphQL API
  • 😊Social
    • Feedback page
    • Telegram
    • Discord
Powered by GitBook
On this page

Was this helpful?

  1. Reference
  2. GraphQL API

Message Monitor API

Message processing

PreviousSubscribe CollectionsNextField Descriptions

Last updated 1 year ago

Was this helpful?

Message Monitor API is optimized for monitoring batches of messages.

It can be used in 2 ways:

  • subscribe for the statuses of a batch of messages via websocket

  • query the status of a batch of messages with 1 query

Specification:

subscription {
    # Subscribes for message processing results.
    # User will have received exactly one result per each message.
    recentExtInMessageStatuses(messages: [MessageMonitoringParams!]): MessageMonitoringResult
}

query {
    ""
    Returns message processing results for messages, that were sent within the past hour
    and are cached in the transaction pool.
		If you sent your message earlier than 1 hour ago, and the query returned TIMEOUT,  
    use message hash to retrieve message data and status.
    ""
    recentExtInMessageStatuses(messages: [MessageMonitoringParams!]): [MessageMonitoringResult!]
}

type SendMessageParams {
    "" Message BOC in Base64""
    message: String!
}

type MessageMonitoringParams {
    "" TVM hash of the message BOC ""
    hash: String

		"" Destination address of the external inbound message ""
    address: String

		"" Message BOC in base64, needed to resolve an error in case of failed message processing ""
    boc: String

    "" Wait for message finalization until wait_until shard block time in UNIX time""
    wait_until: Float!
}

type MessageMonitoringResult {
    "" TVM hash of the message BOC ""
    hash: String!
		"" Shows message status, if it was or was not finalized until wait_until block time""
		status: MessageMonitoringStatus!

    ""
    Contains transaction.
    In case of FINALIZED the transaction is extracted from the block.
    In case of TIMEOUT the transaction is emulated using last known account state.
		Can be Null in case of emulation on non-existing account.
    ""
    transaction: Transaction

    ""
    Contains an error message when status is TIMEOUT. Message boc is needed to resolve error message.
    ""
    error: String
}

enum MessageMonitoringStatus {
    ""
    Returned when the messages is processed before wait_until block time
    ""
    FINALIZED,
    ""
    Returned when the message was not processed until wait_until block time
    ""
    TIMEOUT
		""
		Reserved for future statuses. Is never returned.
		""
		RESERVED
}

Explore:

GraphQL samples
SDK Guide