{"configuration":{},"description":"This is the C4 model of the Foxit PDF Cloud API system.","documentation":{},"id":34,"lastModifiedDate":"2025-01-10T03:25:48.518Z","model":{"people":[{"description":"A user of the PDF Cloud API who interacts with its services.","id":"1","location":"Unspecified","name":"User","properties":{"structurizr.dsl.identifier":"user"},"relationships":[{"description":"Views and interacts with embedded PDFs using","destinationId":"3","id":"22","sourceId":"1","tags":"Relationship"},{"description":"Views and interacts with embedded PDFs using","destinationId":"2","id":"23","linkedRelationshipId":"22","sourceId":"1"},{"description":"Uses API endpoints for PDF operations","destinationId":"4","id":"24","sourceId":"1","tags":"Relationship"},{"description":"Manages API keys and monitors usage via","destinationId":"5","id":"25","sourceId":"1","tags":"Relationship"},{"description":"Accesses documentation and product features via","destinationId":"6","id":"26","sourceId":"1","tags":"Relationship"}],"tags":"Element,Person,User"}],"softwareSystems":[{"containers":[{"description":"Embeds a PDF viewer in web pages.","documentation":{},"id":"3","name":"PDF Embed API","properties":{"structurizr.dsl.identifier":"pdfembedapi"},"relationships":[{"description":"Validates CLIENT_ID via","destinationId":"7","id":"29","sourceId":"3","tags":"Relationship"},{"description":"Validates CLIENT_ID via","destinationId":"11","id":"40","sourceId":"3","tags":"Relationship"}],"tags":"Element,Container,Web Browser","technology":"JavaScript Library"},{"description":"Provides PDF-related services such as conversion, splitting, and merging.","documentation":{},"id":"4","name":"PDF Services API","properties":{"structurizr.dsl.identifier":"pdfservicesapi"},"relationships":[{"description":"Processes PDF files using","destinationId":"18","id":"27","sourceId":"4","tags":"Relationship"},{"description":"Makes API calls to","destinationId":"9","id":"38","sourceId":"4","tags":"Relationship"},{"description":"Makes API calls to","destinationId":"7","id":"39","linkedRelationshipId":"38","sourceId":"4"}],"tags":"Element,Container","technology":"HTTP API"},{"description":"Manages API keys and monitors usage.","documentation":{},"id":"5","name":"Developer Console","properties":{"structurizr.dsl.identifier":"developerconsole"},"relationships":[{"description":"Uses backend services via","destinationId":"7","id":"30","sourceId":"5","tags":"Relationship"},{"description":"Interacts with","destinationId":"12","id":"41","sourceId":"5","tags":"Relationship"}],"tags":"Element,Container,Web Application","technology":"React + Ant Design SPA"},{"description":"Showcases features and provides documentation.","documentation":{},"id":"6","name":"PDF API Website","properties":{"structurizr.dsl.identifier":"pdfapiwebsite"},"tags":"Element,Container,Web Application","technology":"Next.js"},{"components":[{"description":"API key-based authentication for Embed and Services APIs.","documentation":{},"id":"8","name":"Authentication","properties":{"structurizr.dsl.identifier":"authentication"},"tags":"Element,Component","technology":"PHP Component"},{"description":"Endpoints for PDF processing using WebTools.","documentation":{},"id":"9","name":"PDF Services Endpoints","properties":{"structurizr.dsl.identifier":"pdfservicesendpoints"},"tags":"Element,Component","technology":"PHP Component"},{"description":"Handles user accounts and integrates with Foxit CAS.","documentation":{},"id":"10","name":"User & Account Management","properties":{"structurizr.dsl.identifier":"useraccountmanagement"},"tags":"Element,Component","technology":"PHP Component"},{"description":"Validates CLIENT_ID and serves assets for the Embed Viewer.","documentation":{},"id":"11","name":"Embed API Endpoint","properties":{"structurizr.dsl.identifier":"embedapiendpoint"},"tags":"Element,Component","technology":"PHP Component"},{"description":"Supports Developer Console functionalities.","documentation":{},"id":"12","name":"Developer Console Endpoint","properties":{"structurizr.dsl.identifier":"developerconsoleendpoint"},"tags":"Element,Component","technology":"PHP Component"},{"description":"Tracks API usage and writes data to MySQL.","documentation":{},"id":"13","name":"Usage Tracking","properties":{"structurizr.dsl.identifier":"usagetracking"},"relationships":[{"description":"Writes usage data to","destinationId":"16","id":"42","sourceId":"13","tags":"Relationship"}],"tags":"Element,Component","technology":"PHP Component"},{"description":"Syncs orders, enforces quotas, and handles billing.","documentation":{},"id":"14","name":"Order & Billing Management","properties":{"structurizr.dsl.identifier":"orderbillingmanagement"},"relationships":[{"description":"Syncs order data with","destinationId":"20","id":"43","sourceId":"14","tags":"Relationship"}],"tags":"Element,Component","technology":"PHP Component"},{"description":"Sends emails using SMTP with predefined templates.","documentation":{},"id":"15","name":"Notification Service","properties":{"structurizr.dsl.identifier":"notificationservice"},"relationships":[{"description":"Sends email notifications using","destinationId":"21","id":"44","sourceId":"15","tags":"Relationship"}],"tags":"Element,Component","technology":"PHP Component"}],"description":"Core backend for handling APIs and services.","documentation":{},"id":"7","name":"PHP Backend","properties":{"structurizr.dsl.identifier":"phpbackend"},"relationships":[{"description":"Stores and retrieves user, usage, and billing data","destinationId":"16","id":"31","sourceId":"7","tags":"Relationship"},{"description":"Authenticates users and manages accounts via","destinationId":"19","id":"32","sourceId":"7","tags":"Relationship"},{"description":"Syncs order data using","destinationId":"20","id":"34","sourceId":"7","tags":"Relationship"},{"description":"Sends email notifications using","destinationId":"21","id":"36","sourceId":"7","tags":"Relationship"}],"tags":"Element,Container","technology":"PHP + Yii Framework"},{"description":"Stores user, usage, and billing data.","documentation":{},"id":"16","name":"MySQL Database","properties":{"structurizr.dsl.identifier":"mysqldatabase"},"tags":"Element,Container,Database","technology":"MySQL Database"},{"description":"Syncs order data with the Foxit App Store.","documentation":{},"id":"17","name":"Cron Service","properties":{"structurizr.dsl.identifier":"cronservice"},"tags":"Element,Container","technology":"PHP Cron Job"}],"description":"Provides PDF-related functionalities via APIs, embedding, and management tools.","documentation":{},"group":"Foxit PDF Cloud API","id":"2","location":"Unspecified","name":"PDF Cloud API","properties":{"structurizr.dsl.identifier":"pdfcloudapi"},"relationships":[{"description":"Processes PDF files using","destinationId":"18","id":"28","linkedRelationshipId":"27","sourceId":"2"},{"description":"Authenticates users and manages accounts via","destinationId":"19","id":"33","linkedRelationshipId":"32","sourceId":"2"},{"description":"Syncs order data using","destinationId":"20","id":"35","linkedRelationshipId":"34","sourceId":"2"},{"description":"Sends email notifications using","destinationId":"21","id":"37","linkedRelationshipId":"36","sourceId":"2"}],"tags":"Element,Software System"},{"description":"Provides PDF processing capabilities for the Services API.","documentation":{},"id":"18","location":"Unspecified","name":"WebTools","properties":{"structurizr.dsl.identifier":"webtools"},"tags":"Element,Software System,External System"},{"description":"Handles user authentication and account management.","documentation":{},"id":"19","location":"Unspecified","name":"Foxit CAS","properties":{"structurizr.dsl.identifier":"foxitcas"},"tags":"Element,Software System,External System"},{"description":"Manages user orders and subscriptions.","documentation":{},"id":"20","location":"Unspecified","name":"Foxit App Store","properties":{"structurizr.dsl.identifier":"foxitappstore"},"tags":"Element,Software System,External System"},{"description":"Used for sending email notifications.","documentation":{},"id":"21","location":"Unspecified","name":"SMTP Server","properties":{"structurizr.dsl.identifier":"smtpserver"},"tags":"Element,Software System,External System"}]},"name":"Foxit PDF Cloud API","properties":{"structurizr.dsl":"d29ya3NwYWNlICJGb3hpdCBQREYgQ2xvdWQgQVBJIiAiVGhpcyBpcyB0aGUgQzQgbW9kZWwgb2YgdGhlIEZveGl0IFBERiBDbG91ZCBBUEkgc3lzdGVtLiIgewoKICAgIG1vZGVsIHsKICAgICAgICB1c2VyID0gcGVyc29uICJVc2VyIiAiQSB1c2VyIG9mIHRoZSBQREYgQ2xvdWQgQVBJIHdobyBpbnRlcmFjdHMgd2l0aCBpdHMgc2VydmljZXMuIiAiVXNlciIKCiAgICAgICAgZ3JvdXAgIkZveGl0IFBERiBDbG91ZCBBUEkiIHsKICAgICAgICAgICAgcGRmQ2xvdWRBUEkgPSBzb2Z0d2FyZXN5c3RlbSAiUERGIENsb3VkIEFQSSIgIlByb3ZpZGVzIFBERi1yZWxhdGVkIGZ1bmN0aW9uYWxpdGllcyB2aWEgQVBJcywgZW1iZWRkaW5nLCBhbmQgbWFuYWdlbWVudCB0b29scy4iIHsKICAgICAgICAgICAgICAgIHBkZkVtYmVkQVBJID0gY29udGFpbmVyICJQREYgRW1iZWQgQVBJIiAiRW1iZWRzIGEgUERGIHZpZXdlciBpbiB3ZWIgcGFnZXMuIiAiSmF2YVNjcmlwdCBMaWJyYXJ5IiAiV2ViIEJyb3dzZXIiCiAgICAgICAgICAgICAgICBwZGZTZXJ2aWNlc0FQSSA9IGNvbnRhaW5lciAiUERGIFNlcnZpY2VzIEFQSSIgIlByb3ZpZGVzIFBERi1yZWxhdGVkIHNlcnZpY2VzIHN1Y2ggYXMgY29udmVyc2lvbiwgc3BsaXR0aW5nLCBhbmQgbWVyZ2luZy4iICJIVFRQIEFQSSIKICAgICAgICAgICAgICAgIGRldmVsb3BlckNvbnNvbGUgPSBjb250YWluZXIgIkRldmVsb3BlciBDb25zb2xlIiAiTWFuYWdlcyBBUEkga2V5cyBhbmQgbW9uaXRvcnMgdXNhZ2UuIiAiUmVhY3QgKyBBbnQgRGVzaWduIFNQQSIgIldlYiBBcHBsaWNhdGlvbiIKICAgICAgICAgICAgICAgIHBkZkFwaVdlYnNpdGUgPSBjb250YWluZXIgIlBERiBBUEkgV2Vic2l0ZSIgIlNob3djYXNlcyBmZWF0dXJlcyBhbmQgcHJvdmlkZXMgZG9jdW1lbnRhdGlvbi4iICJOZXh0LmpzIiAiV2ViIEFwcGxpY2F0aW9uIgogICAgICAgICAgICAgICAgcGhwQmFja2VuZCA9IGNvbnRhaW5lciAiUEhQIEJhY2tlbmQiICJDb3JlIGJhY2tlbmQgZm9yIGhhbmRsaW5nIEFQSXMgYW5kIHNlcnZpY2VzLiIgIlBIUCArIFlpaSBGcmFtZXdvcmsiIHsKICAgICAgICAgICAgICAgICAgICBhdXRoZW50aWNhdGlvbiA9IGNvbXBvbmVudCAiQXV0aGVudGljYXRpb24iICJBUEkga2V5LWJhc2VkIGF1dGhlbnRpY2F0aW9uIGZvciBFbWJlZCBhbmQgU2VydmljZXMgQVBJcy4iICJQSFAgQ29tcG9uZW50IgogICAgICAgICAgICAgICAgICAgIHBkZlNlcnZpY2VzRW5kcG9pbnRzID0gY29tcG9uZW50ICJQREYgU2VydmljZXMgRW5kcG9pbnRzIiAiRW5kcG9pbnRzIGZvciBQREYgcHJvY2Vzc2luZyB1c2luZyBXZWJUb29scy4iICJQSFAgQ29tcG9uZW50IgogICAgICAgICAgICAgICAgICAgIHVzZXJBY2NvdW50TWFuYWdlbWVudCA9IGNvbXBvbmVudCAiVXNlciAmIEFjY291bnQgTWFuYWdlbWVudCIgIkhhbmRsZXMgdXNlciBhY2NvdW50cyBhbmQgaW50ZWdyYXRlcyB3aXRoIEZveGl0IENBUy4iICJQSFAgQ29tcG9uZW50IgogICAgICAgICAgICAgICAgICAgIGVtYmVkQXBpRW5kcG9pbnQgPSBjb21wb25lbnQgIkVtYmVkIEFQSSBFbmRwb2ludCIgIlZhbGlkYXRlcyBDTElFTlRfSUQgYW5kIHNlcnZlcyBhc3NldHMgZm9yIHRoZSBFbWJlZCBWaWV3ZXIuIiAiUEhQIENvbXBvbmVudCIKICAgICAgICAgICAgICAgICAgICBkZXZlbG9wZXJDb25zb2xlRW5kcG9pbnQgPSBjb21wb25lbnQgIkRldmVsb3BlciBDb25zb2xlIEVuZHBvaW50IiAiU3VwcG9ydHMgRGV2ZWxvcGVyIENvbnNvbGUgZnVuY3Rpb25hbGl0aWVzLiIgIlBIUCBDb21wb25lbnQiCiAgICAgICAgICAgICAgICAgICAgdXNhZ2VUcmFja2luZyA9IGNvbXBvbmVudCAiVXNhZ2UgVHJhY2tpbmciICJUcmFja3MgQVBJIHVzYWdlIGFuZCB3cml0ZXMgZGF0YSB0byBNeVNRTC4iICJQSFAgQ29tcG9uZW50IgogICAgICAgICAgICAgICAgICAgIG9yZGVyQmlsbGluZ01hbmFnZW1lbnQgPSBjb21wb25lbnQgIk9yZGVyICYgQmlsbGluZyBNYW5hZ2VtZW50IiAiU3luY3Mgb3JkZXJzLCBlbmZvcmNlcyBxdW90YXMsIGFuZCBoYW5kbGVzIGJpbGxpbmcuIiAiUEhQIENvbXBvbmVudCIKICAgICAgICAgICAgICAgICAgICBub3RpZmljYXRpb25TZXJ2aWNlID0gY29tcG9uZW50ICJOb3RpZmljYXRpb24gU2VydmljZSIgIlNlbmRzIGVtYWlscyB1c2luZyBTTVRQIHdpdGggcHJlZGVmaW5lZCB0ZW1wbGF0ZXMuIiAiUEhQIENvbXBvbmVudCIKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIG15c3FsRGF0YWJhc2UgPSBjb250YWluZXIgIk15U1FMIERhdGFiYXNlIiAiU3RvcmVzIHVzZXIsIHVzYWdlLCBhbmQgYmlsbGluZyBkYXRhLiIgIk15U1FMIERhdGFiYXNlIiAiRGF0YWJhc2UiCiAgICAgICAgICAgICAgICBjcm9uU2VydmljZSA9IGNvbnRhaW5lciAiQ3JvbiBTZXJ2aWNlIiAiU3luY3Mgb3JkZXIgZGF0YSB3aXRoIHRoZSBGb3hpdCBBcHAgU3RvcmUuIiAiUEhQIENyb24gSm9iIgogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICAvLyBFeHRlcm5hbCBTeXN0ZW1zCiAgICAgICAgd2ViVG9vbHMgPSBzb2Z0d2FyZXN5c3RlbSAiV2ViVG9vbHMiICJQcm92aWRlcyBQREYgcHJvY2Vzc2luZyBjYXBhYmlsaXRpZXMgZm9yIHRoZSBTZXJ2aWNlcyBBUEkuIiAiRXh0ZXJuYWwgU3lzdGVtIgogICAgICAgIGZveGl0Q0FTID0gc29mdHdhcmVzeXN0ZW0gIkZveGl0IENBUyIgIkhhbmRsZXMgdXNlciBhdXRoZW50aWNhdGlvbiBhbmQgYWNjb3VudCBtYW5hZ2VtZW50LiIgIkV4dGVybmFsIFN5c3RlbSIKICAgICAgICBmb3hpdEFwcFN0b3JlID0gc29mdHdhcmVzeXN0ZW0gIkZveGl0IEFwcCBTdG9yZSIgIk1hbmFnZXMgdXNlciBvcmRlcnMgYW5kIHN1YnNjcmlwdGlvbnMuIiAiRXh0ZXJuYWwgU3lzdGVtIgogICAgICAgIHNtdHBTZXJ2ZXIgPSBzb2Z0d2FyZXN5c3RlbSAiU01UUCBTZXJ2ZXIiICJVc2VkIGZvciBzZW5kaW5nIGVtYWlsIG5vdGlmaWNhdGlvbnMuIiAiRXh0ZXJuYWwgU3lzdGVtIgoKICAgICAgICAvLyBSZWxhdGlvbnNoaXBzCiAgICAgICAgdXNlciAtPiBwZGZFbWJlZEFQSSAiVmlld3MgYW5kIGludGVyYWN0cyB3aXRoIGVtYmVkZGVkIFBERnMgdXNpbmciCiAgICAgICAgdXNlciAtPiBwZGZTZXJ2aWNlc0FQSSAiVXNlcyBBUEkgZW5kcG9pbnRzIGZvciBQREYgb3BlcmF0aW9ucyIKICAgICAgICB1c2VyIC0+IGRldmVsb3BlckNvbnNvbGUgIk1hbmFnZXMgQVBJIGtleXMgYW5kIG1vbml0b3JzIHVzYWdlIHZpYSIKICAgICAgICB1c2VyIC0+IHBkZkFwaVdlYnNpdGUgIkFjY2Vzc2VzIGRvY3VtZW50YXRpb24gYW5kIHByb2R1Y3QgZmVhdHVyZXMgdmlhIgogICAgICAgIHBkZlNlcnZpY2VzQVBJIC0+IHdlYlRvb2xzICJQcm9jZXNzZXMgUERGIGZpbGVzIHVzaW5nIgogICAgICAgIHBkZkVtYmVkQVBJIC0+IHBocEJhY2tlbmQgIlZhbGlkYXRlcyBDTElFTlRfSUQgdmlhIgogICAgICAgIGRldmVsb3BlckNvbnNvbGUgLT4gcGhwQmFja2VuZCAiVXNlcyBiYWNrZW5kIHNlcnZpY2VzIHZpYSIKICAgICAgICBwaHBCYWNrZW5kIC0+IG15c3FsRGF0YWJhc2UgIlN0b3JlcyBhbmQgcmV0cmlldmVzIHVzZXIsIHVzYWdlLCBhbmQgYmlsbGluZyBkYXRhIgogICAgICAgIHBocEJhY2tlbmQgLT4gZm94aXRDQVMgIkF1dGhlbnRpY2F0ZXMgdXNlcnMgYW5kIG1hbmFnZXMgYWNjb3VudHMgdmlhIgogICAgICAgIHBocEJhY2tlbmQgLT4gZm94aXRBcHBTdG9yZSAiU3luY3Mgb3JkZXIgZGF0YSB1c2luZyIKICAgICAgICBwaHBCYWNrZW5kIC0+IHNtdHBTZXJ2ZXIgIlNlbmRzIGVtYWlsIG5vdGlmaWNhdGlvbnMgdXNpbmciCgogICAgICAgIC8vIFJlbGF0aW9uc2hpcHMgdG8gY29tcG9uZW50cwogICAgICAgIHBkZlNlcnZpY2VzQVBJIC0+IHBkZlNlcnZpY2VzRW5kcG9pbnRzICJNYWtlcyBBUEkgY2FsbHMgdG8iCiAgICAgICAgcGRmRW1iZWRBUEkgLT4gZW1iZWRBcGlFbmRwb2ludCAiVmFsaWRhdGVzIENMSUVOVF9JRCB2aWEiCiAgICAgICAgZGV2ZWxvcGVyQ29uc29sZSAtPiBkZXZlbG9wZXJDb25zb2xlRW5kcG9pbnQgIkludGVyYWN0cyB3aXRoIgogICAgICAgIHVzYWdlVHJhY2tpbmcgLT4gbXlzcWxEYXRhYmFzZSAiV3JpdGVzIHVzYWdlIGRhdGEgdG8iCiAgICAgICAgb3JkZXJCaWxsaW5nTWFuYWdlbWVudCAtPiBmb3hpdEFwcFN0b3JlICJTeW5jcyBvcmRlciBkYXRhIHdpdGgiCiAgICAgICAgbm90aWZpY2F0aW9uU2VydmljZSAtPiBzbXRwU2VydmVyICJTZW5kcyBlbWFpbCBub3RpZmljYXRpb25zIHVzaW5nIgogICAgfQoKICAgIHZpZXdzIHsKICAgICAgICBzeXN0ZW1jb250ZXh0IHBkZkNsb3VkQVBJICJTeXN0ZW1Db250ZXh0IiB7CiAgICAgICAgICAgIGluY2x1ZGUgKgogICAgICAgICAgICB0aXRsZSAiU3lzdGVtIENvbnRleHQ6IEZveGl0IFBERiBDbG91ZCBBUEkiCiAgICAgICAgICAgIGRlc2NyaXB0aW9uICJDb250ZXh0dWFsIHZpZXcgb2YgdGhlIEZveGl0IFBERiBDbG91ZCBBUEkgc3lzdGVtIGFuZCBpdHMgcmVsYXRpb25zaGlwcy4iCiAgICAgICAgICAgIGF1dG9MYXlvdXQKICAgICAgICB9CgogICAgICAgIGNvbnRhaW5lciBwZGZDbG91ZEFQSSAiQ29udGFpbmVycyIgewogICAgICAgICAgICBpbmNsdWRlICoKICAgICAgICAgICAgdGl0bGUgIkNvbnRhaW5lciBWaWV3OiBQREYgQ2xvdWQgQVBJIgogICAgICAgICAgICBkZXNjcmlwdGlvbiAiRGV0YWlsZWQgYnJlYWtkb3duIG9mIHRoZSBjb250YWluZXJzIGluIHRoZSBQREYgQ2xvdWQgQVBJIHN5c3RlbS4iCiAgICAgICAgICAgIGF1dG9MYXlvdXQKICAgICAgICB9CgogICAgICAgIGNvbXBvbmVudCBwaHBCYWNrZW5kICJQSFBCYWNrZW5kQ29tcG9uZW50cyIgewogICAgICAgICAgICBpbmNsdWRlICoKICAgICAgICAgICAgdGl0bGUgIkNvbXBvbmVudCBWaWV3OiBQSFAgQmFja2VuZCIKICAgICAgICAgICAgZGVzY3JpcHRpb24gIkEgZGV0YWlsZWQgdmlldyBvZiB0aGUgY29tcG9uZW50cyB3aXRoaW4gdGhlIFBIUCBCYWNrZW5kIGNvbnRhaW5lci4iCiAgICAgICAgICAgIGF1dG9MYXlvdXQKICAgICAgICB9CgogICAgICAgIHN0eWxlcyB7CiAgICAgICAgICAgIGVsZW1lbnQgIlBlcnNvbiIgewogICAgICAgICAgICAgICAgYmFja2dyb3VuZCAjMDg0MjdiCiAgICAgICAgICAgICAgICBjb2xvciAjZmZmZmZmCiAgICAgICAgICAgICAgICBmb250U2l6ZSAyMgogICAgICAgICAgICAgICAgc2hhcGUgUGVyc29uCiAgICAgICAgICAgIH0KICAgICAgICAgICAgZWxlbWVudCAiQ29udGFpbmVyIiB7CiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kICM0MzhkZDUKICAgICAgICAgICAgICAgIGNvbG9yICNmZmZmZmYKICAgICAgICAgICAgfQogICAgICAgICAgICBlbGVtZW50ICJTb2Z0d2FyZSBTeXN0ZW0iIHsKICAgICAgICAgICAgICAgIGJhY2tncm91bmQgIzExNjhiZAogICAgICAgICAgICAgICAgY29sb3IgI2ZmZmZmZgogICAgICAgICAgICB9CiAgICAgICAgICAgIGVsZW1lbnQgIkRhdGFiYXNlIiB7CiAgICAgICAgICAgICAgICBzaGFwZSBDeWxpbmRlcgogICAgICAgICAgICB9CiAgICAgICAgICAgIGVsZW1lbnQgIkV4dGVybmFsIFN5c3RlbSIgewogICAgICAgICAgICAgICAgYmFja2dyb3VuZCAjOTk5OTk5CiAgICAgICAgICAgICAgICBjb2xvciAjZmZmZmZmCiAgICAgICAgICAgIH0KICAgICAgICAgICAgZWxlbWVudCAiQ29tcG9uZW50IiB7CiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kICM4NWJiZjAKICAgICAgICAgICAgICAgIGNvbG9yICMwMDAwMDAKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KfQo="},"views":{"componentViews":[{"automaticLayout":{"applied":false,"edgeSeparation":0,"implementation":"Graphviz","nodeSeparation":300,"rankDirection":"TopBottom","rankSeparation":300,"vertices":false},"containerId":"7","description":"A detailed view of the components within the PHP Backend container.","elements":[{"id":"3","x":0,"y":0},{"id":"4","x":0,"y":0},{"id":"5","x":0,"y":0},{"id":"8","x":0,"y":0},{"id":"9","x":0,"y":0},{"id":"10","x":0,"y":0},{"id":"11","x":0,"y":0},{"id":"12","x":0,"y":0},{"id":"13","x":0,"y":0},{"id":"14","x":0,"y":0},{"id":"15","x":0,"y":0},{"id":"16","x":0,"y":0},{"id":"20","x":0,"y":0},{"id":"21","x":0,"y":0}],"externalContainerBoundariesVisible":false,"key":"PHPBackendComponents","order":3,"relationships":[{"id":"38"},{"id":"40"},{"id":"41"},{"id":"42"},{"id":"43"},{"id":"44"}],"title":"Component View: PHP Backend","type":"Component","animations":[]}],"configuration":{"branding":{},"lastSavedView":"SystemContext","styles":{"elements":[{"background":"#08427b","color":"#ffffff","fontSize":22,"shape":"Person","tag":"Person"},{"background":"#438dd5","color":"#ffffff","tag":"Container"},{"background":"#1168bd","color":"#ffffff","tag":"Software System"},{"shape":"Cylinder","tag":"Database"},{"background":"#999999","color":"#ffffff","tag":"External System"},{"background":"#85bbf0","color":"#000000","tag":"Component"}],"relationships":[]},"terminology":{},"properties":{},"metadataSymbols":"SquareBrackets","themes":[]},"containerViews":[{"automaticLayout":{"applied":false,"edgeSeparation":0,"implementation":"Graphviz","nodeSeparation":300,"rankDirection":"TopBottom","rankSeparation":300,"vertices":false},"description":"Detailed breakdown of the containers in the PDF Cloud API system.","elements":[{"id":"1","x":0,"y":0},{"id":"3","x":0,"y":0},{"id":"4","x":0,"y":0},{"id":"5","x":0,"y":0},{"id":"6","x":0,"y":0},{"id":"7","x":0,"y":0},{"id":"16","x":0,"y":0},{"id":"17","x":0,"y":0},{"id":"18","x":0,"y":0},{"id":"19","x":0,"y":0},{"id":"20","x":0,"y":0},{"id":"21","x":0,"y":0}],"externalSoftwareSystemBoundariesVisible":false,"key":"Containers","order":2,"relationships":[{"id":"22"},{"id":"24"},{"id":"25"},{"id":"26"},{"id":"27"},{"id":"29"},{"id":"30"},{"id":"31"},{"id":"32"},{"id":"34"},{"id":"36"},{"id":"39"}],"softwareSystemId":"2","title":"Container View: PDF Cloud API","type":"Container","animations":[]}],"systemContextViews":[{"automaticLayout":{"applied":false,"edgeSeparation":0,"implementation":"Graphviz","nodeSeparation":300,"rankDirection":"TopBottom","rankSeparation":300,"vertices":false},"description":"Contextual view of the Foxit PDF Cloud API system and its relationships.","elements":[{"id":"1","x":0,"y":0},{"id":"2","x":0,"y":0},{"id":"18","x":0,"y":0},{"id":"19","x":0,"y":0},{"id":"20","x":0,"y":0},{"id":"21","x":0,"y":0}],"enterpriseBoundaryVisible":true,"key":"SystemContext","order":1,"relationships":[{"id":"23"},{"id":"28"},{"id":"33"},{"id":"35"},{"id":"37"}],"softwareSystemId":"2","title":"System Context: Foxit PDF Cloud API","type":"SystemContext","animations":[]}],"customViews":[],"systemLandscapeViews":[],"dynamicViews":[],"deploymentViews":[],"filteredViews":[],"imageViews":[]},"lastModifiedAgent":"structurizr-onpremises/dsl-editor/4eac188a-a441-4a62-ab87-cca14e445700","lastModifiedUser":"xuexing_he@foxitsoftware.com"}