### Chargeblast API - Getting Started & Authorization Source: https://docs.chargeblast.io/reference/enrollment-criteria Provides an overview of the Chargeblast API, including essential guides for getting started and understanding the authorization mechanisms required for API access. ```APIDOC API Overview: - Guide: /api-reference/getting-started/guide Authorization: - Setup: /api-reference/introduction/authorization ``` -------------------------------- ### Chargeblast Webhooks Setup Source: https://context7_llms Guidance on setting up and integrating webhooks with Chargeblast. This section helps users get started with receiving real-time notifications from the Chargeblast platform. ```APIDOC Webhooks Setup: GET /api-reference/webhooks/setup.md Description: Get started with Chargeblast webhooks. ``` -------------------------------- ### Chargeblast API - Webhooks Source: https://docs.chargeblast.io/reference/enrollment-criteria Details the setup process for webhooks in Chargeblast, enabling real-time notifications for events occurring within the platform. ```APIDOC Webhooks: - Setup: /api-reference/webhooks/setup ``` -------------------------------- ### Webhook Event Example Source: https://docs.chargeblast.com/api-reference/webhooks/setup An example JSON payload representing a Chargeblast webhook event, demonstrating the structure and typical values for various fields. ```json { "alertId": "al_genericId123", "alertType": "FRAUD", "amount": 500.00, "arn": "12345678901234567890123", "authCode": "ABC123", "card": "123456xxxxxxx7890", "cardBrand": "visa", "createdAt": "2024-10-31 21:57:23.601000Z", "creditAppealed": false, "creditStatus": "None", "currency": "usd", "customerEmail": "customer@example.com", "customerId": "cus_genericId456", "descriptor": "GENERIC TXN12345", "externalOrder": "ch_genericOrder789", "externalUrl": "https://example.com/charges/ch_genericOrder789", "id": "al_genericId123", "issuer": "Generic Bank, Inc.", "merchantId": "cb_genericMerchantId", "provider": "exampleProvider", "reasonCode": "Resolved", "responseAction": "Accepted", "site": "example.com", "subprovider": "Ethoca", "transactionDate": "2024-09-30 00:00:00.000000Z" } ``` -------------------------------- ### Chargeblast API Endpoints Overview Source: https://docs.chargeblast.com/api-reference/getting-started/guide This section details the primary API endpoints for integrating with Chargeblast, covering alert handling, order uploads, and refund processes. It outlines the different integration strategies available for businesses. ```APIDOC API Endpoints: 1. Webhooks (/reference/webhooks) - Description: Used to receive alert notifications from Chargeblast. Essential for client-side matching strategies. - Usage: Implement a webhook endpoint in your system to listen for incoming alert data. - Related: /update/alert 2. Update Alert (/update/alert) - Description: Allows you to update the status or details of an alert after internal processing, typically used in client-side matching. - Parameters: - alert_id: The unique identifier of the alert. - status: The new status for the alert (e.g., 'processed', 'refunded'). - ... (other relevant fields) - Usage: Call this endpoint after performing internal alert-to-transaction matching and initiating refunds. - Related: Webhooks (/reference/webhooks) 3. Orders Upload (/orders/upload) - Description: Endpoint to push order data to Chargeblast. This is crucial for Chargeblast-side matching algorithms. - Parameters: - order_data: A payload containing details of orders (e.g., customer info, items, transaction IDs). - ... (specific payload structure required) - Usage: Submit your order and transaction data to Chargeblast to enable their matching capabilities. - Related: Chargeblast-side matching strategy. 4. Refund Endpoint (/chargeblast/refund) - Description: A custom endpoint you expose to Chargeblast, allowing them to initiate refunds and subscription cancellations directly from their system. - Usage: Chargeblast will POST refund requests to your specified '/chargeblast/refund' URL. - Requirements: Must be publicly accessible and configured in your Chargeblast integration settings. - Related: Subscription cancellations. 5. Alerts Endpoint (/alerts) - Description: Used to poll for new alerts or retrieve existing alert data. Can be used as an alternative to webhooks for receiving alerts. - Usage: Periodically query this endpoint to fetch alerts and associate them with merchants in your system. - Related: Webhooks (/reference/webhooks), Billing your merchant. ``` -------------------------------- ### Agent Initialization and Configuration Source: https://help.chargeblast.com/ Defines the core initialization function for the agent, handling configuration merging, feature activation, and runtime setup. It includes logic for proxy asset configuration and soft navigation enablement. ```javascript function E(e,t={},r,o){let{init:s,info:c,loader_config:u,runtime:d={},exposed:l=!0}=t;if(!c){const e=(0,n.pV)();s=e.init,c=e.info,u=e.loader_config}e.init=p(s||{}),e.loader_config=T(u||{}),c.jsAttributes??={},m.bv&&(c.jsAttributes.isWorker=!0),e.info=(0,a.D)(c);const f=e.init,g=[c.beacon,c.errorBeacon];R.has(e.agentIdentifier)||(f.proxy.assets&&(x(f.proxy.assets),g.push(f.proxy.assets)),f.proxy.beacon&&g.push(f.proxy.beacon),function(e){const t=(0,n.pV)();Object.getOwnPropertyNames(i.W.prototype).forEach((r=>{const n=i.W.prototype[r];if("function"!=typeof n||"constructor"===n)return;let a=t[r];e[r]&&!1!==e.exposed&&"micro-agent"!==e.runtime?.loaderType&&(t[r]=(...t)=>{const n=e[r](...t);return a?a(...t):n})}))}(e),(0,n.US)("activatedFeatures",w.B),e.runSoftNavOverSpa&&=!0===f.soft_navigations.enabled&&f.feature_flags.includes("soft_nav")),d.denyList=[...f.ajax.deny_list||[],...f.ajax.block_internal?g:[]],d.ptid=e.agentIdentifier,d.loaderType=r,e.runtime=_(d),R.has(e.agentIdentifier)||(e.ee=k.ee.get(e.agentIdentifier),e.exposed=l,(0,A.W)({agentIdentifier:e.agentIdentifier,drained:!!w.B?.[e.agentIdentifier],type:"lifecycle",name:"initialize",feature:void 0,data:e.config})),R.add(e.agentIdentifier)} ``` -------------------------------- ### Chargeblast API Reference Navigation Source: https://docs.chargeblast.io/reference/enrollment-criteria This section outlines the structure of the Chargeblast API documentation, categorizing endpoints by functionality such as Platform, Alerts, Sync Data, and Enrollment. It serves as a guide to accessing various API resources. ```APIDOC API Reference Navigation: Group: Welcome - reference/welcome-to-chargeblast Group: Platform - api-reference/getting-started/guide - api-reference/introduction/authorization - api-reference/webhooks/setup - api-reference/getting-started/refund-endpoint Group: Alerts - api-reference/alerts/fetch-an-alert - api-reference/alerts/update-alert - api-reference/alerts/fetch-alerts - api-reference/credit-requests/create Group: Sync Data - api-reference/sync-data/upload-orders - api-reference/sync-data/get-orders - api-reference/sync-data/get-order Group: Enrollment - api-reference/enrollment/fetch-merchants - api-reference/enrollment/fetch-descriptors - api-reference/enrollment/fetch-merchant - api-reference/enrollment/enroll-merchant - api-reference/enrollment/unenroll-merchant ``` -------------------------------- ### Core Settings and Configuration Schemas Source: https://docs.chargeblast.com/api-reference/enrollment/fetch-merchants Schemas defining core system settings, including rule configurations, API enablement flags, and general parameters like matching thresholds and admin status. ```APIDOC components: schemas: Settings: required: - apiKey - emails - webhooks type: object properties: webhooks: items: type: string type: array processor: type: string nullable: true ruleset: type: string nullable: true descriptors: type: array nullable: true items: type: string refundUrl: type: string nullable: true autoresolve: nullable: true type: boolean integrationSettings: $ref: '#/components/schemas/IntegrationSettings' arns: type: array nullable: true items: type: string accountBanned: type: boolean nullable: true alertColumns: nullable: true items: type: string type: array mcc: nullable: true matchingThreshhold: 123 threshholdEnabled: true efwRule: action: descriptor: rules: - logicOperator: ethocaRule: action: descriptor: rules: - logicOperator: refundAPIEnabled: true hasBetaFeatures: true ``` -------------------------------- ### OpenAPI GET /api/v2/alert/{id} Endpoint Source: https://docs.chargeblast.com/api-reference/alerts/fetch-an-alert This entry documents the GET /api/v2/alert/{id} endpoint of the Chargeblast API. It details the request parameters (path and query), the response structure for a 200 OK status, and provides an example response. It also references component schemas like ExportAlert. ```APIDOC OpenAPI Specification for Chargeblast Alerts: Endpoint: GET /api/v2/alert/{id} Description: Retrieves details for a specific alert. Server: - url: https://api.chargeblast.com Request: Method: GET Path: /api/v2/alert/{id} Security: None specified Parameters: Path: id: schema: type: string required: true Query: api_key: schema: type: string required: true Header: {} Cookie: {} Body: {} Response: '200': Description: OK Content: application/json: schema: $ref: '#/components/schemas/ExportAPIAlertResponse' examples: example: value: alert: provider: id: card: issuer: invoicedAt: '2023-11-07T05:31:56Z' authCode: site: customerEmail: creditStatus: alertType: creditAppealed: true currency: reasonCode: createdAt: '2023-11-07T05:31:56Z' merchantId: acquirerAction: alertId: amount: 123 resolvedDate: '2023-11-07T05:31:56Z' resolvedByApi: true externalOrder: externalUrl: creditNotes: arn: transactionDate: '2023-11-07T05:31:56Z' customerId: descriptor: subprovider: cardBrand: responseAction: Components: schemas: ExportAlert: properties: provider: type: string nullable: true description: 'Provider associated with the alert. Possible values: ethoca, verifi' id: type: string description: Id for the alert. card: description: The redacted card number, e.g., 424242****1234. type: string nullable: true issuer: type: string description: Issuer of the card (e.g., bank or financial institution). nullable: true invoicedAt: description: Date and time when the alert was invoiced. format: date-time nullable: true type: string authCode: description: Authorization code for the transaction, if available. type: string nullable: true site: description: Merchant's website or site string associated with the alert. type: string nullable: true customerEmail: nullable: true type: string description: Customer's email address associated with the alert, if available. creditStatus: type: string nullable: true description: Status of the credit (if any) associated with the alert. alertType: description: Type of alert, e.g., FRAUD, DISPUTE. type: string creditAppealed: type: boolean description: Indicates if the credit associated with the alert was appealed. currency: nullable: true type: string description: Currency code in ISO format (e.g., USD, EUR) for the transaction. reasonCode: nullable: true description: >- Reason code associated with the alert, often indicating the nature of the dispute. type: string createdAt: description: Date and time when the alert was created. type: string format: date-time merchantId: description: Identifier for the merchant within the system. type: string nullable: true acquirerAction: nullable: true type: string description: >- Actions taken by the acquirer in response to the alert. Only relevant for RDR and other acquirer side alerts - either Resolved or Declined. alertId: description: >- Unique identifier for the alert within the provider's system. Will match the id field. nullable: true type: string amount: type: number description: >- Transaction amount for the alert. $139.38 will be represented as 139.38 format: double resolvedDate: description: Date and time when the alert was resolved. format: date-time nullable: true type: string resolvedByApi: type: boolean description: Indicates if the alert was resolved via the API. externalOrder: type: string nullable: true description: External order identifier associated with the alert. externalUrl: type: string nullable: true description: URL to an external resource related to the alert. creditNotes: type: string nullable: true description: Notes related to credit adjustments for the alert. arn: type: string nullable: true description: Acquirer Reference Number (ARN) for the transaction. transactionDate: description: Date and time of the original transaction. format: date-time nullable: true type: string customerId: type: string nullable: true description: Identifier for the customer associated with the alert. descriptor: type: string nullable: true description: Descriptor string for the transaction. subprovider: type: string nullable: true description: Sub-provider information for the alert. cardBrand: type: string nullable: true description: Brand of the card used in the transaction. responseAction: type: string nullable: true description: Action taken by the API in response to the alert. ExportAPIAlertResponse: type: object properties: alert: allOf: - $ref: '#/components/schemas/ExportAlert' requiredProperties: - alert ``` -------------------------------- ### Get Order API Endpoint Source: https://docs.chargeblast.com/api-reference/sync-data/get-order Get a specific the order from your chargeblast account. Receipt info is included with this endpoint. ```APIDOC get /api/v2/orders/{id} paths: path: /api/v2/orders/{id} method: get servers: - url: https://api.chargeblast.com request: security: [] parameters: path: id: schema: - type: string required: true query: {} header: {} cookie: {} body: {} response: '200': application/json: schemaArray: - type: object properties: charge: allOf: - $ref: '#/components/schemas/CommonChargeDirect' compellingEvidence: allOf: - $ref: '#/components/schemas/CompellingEvidenceResult' digitalReceipt: allOf: - $ref: '#/components/schemas/OITransactionResponse' refIdentifier: '#/components/schemas/GetOrder' requiredProperties: - compellingEvidence examples: example: value: charge: compellingEvidence: isEligible: true explanation: digitalReceipt: description: OK deprecated: false type: path components: schemas: CompellingEvidenceResult: properties: isEligible: type: boolean explanation: nullable: true type: string description: >- If the transaction is not eligible for compelling evidence, an explanation is provided. type: object required: - isEligible ``` -------------------------------- ### Mintlify Docs Configuration Source: https://docs.chargeblast.io/reference/enrollment-criteria Configuration object for the Mintlify documentation site, defining theme, navigation, colors, and social links. ```javascript { "docsConfig": { "$schema": "https://mintlify.com/docs.json", "theme": "mint", "name": "Chargeblast", "colors": { "primary": "#7d5fff", "light": "#9d89ff", "dark": "#7d5fff" }, "favicon": "/favicon.png", "navigation": { "anchors": [ { "anchor": "Documentation", "icon": "book-open", "groups": [ { "group": "Welcome", "pages": [ "reference/welcome-to-chargeblast" ] }, { "group": "Platform", "pages": [ "api-reference/getting-started/guide", "api-reference/introduction/authorization", "api-reference/webhooks/setup", "api-reference/getting-started/refund-endpoint" ] }, { "group": "Alerts", "pages": [ "api-reference/alerts/fetch-an-alert", "api-reference/alerts/update-alert", "api-reference/alerts/fetch-alerts", "api-reference/credit-requests/create" ] }, { "group": "Sync Data", "pages": [ "api-reference/sync-data/upload-orders", "api-reference/sync-data/get-orders", "api-reference/sync-data/get-order" ] }, { "group": "Enrollment", "pages": [ "api-reference/enrollment/fetch-merchants", "api-reference/enrollment/fetch-descriptors", "api-reference/enrollment/fetch-merchant", "api-reference/enrollment/enroll-merchant", "api-reference/enrollment/unenroll-merchant" ] } ] }, { "anchor": "Help Center", "href": "https://help.chargeblast.com/", "icon": "headset" }, { "anchor": "Blog", "href": "https://www.chargeblast.com/blog", "icon": "newspaper" } ], "global": [] }, "logo": "https://mintlify.s3.us-west-1.amazonaws.com/chargeblast/logo/logo.png", "appearance": { "default": "light", "strict": true }, "background": { "decoration": "gradient" }, "navbar": { "links": [ { "label": "Contact sales", "href": "https://meetings.hubspot.com/chargeblast/learn-about-chargeblast?__hstc=123172564.3337601c5527cf533e665087a1c93434.1728899644886.1728899644886.1728901995866.2&__hssc=123172564.3.1728901995866&__hsfp=2296146515&uuid=8d7c5ee0-1800-4e4d-9b3f-4a0cda85475b" }, { "label": "Log In", "href": "https://app.chargeblast.com/dashboard" } ], "primary": { "type": "button", "label": "Sign Up", "href": "https://app.chargeblast.com/auth/registration" } }, "footer": { "socials": { "x": "https://twitter.com/chargeblast", "linkedin": "https://www.linkedin.com/company/chargeblast" } }, "fonts": { "heading": { "family": "Poppins", "weight": 600 } }, "styling": { "codeblocks": "system" } } } ``` -------------------------------- ### Chargeblast Mintlify Configuration Source: https://docs.chargeblast.io/reference/enrollment-criteria Configuration settings for the Chargeblast documentation site built with Mintlify. This includes layout, theme, search, code block styling, and navigation elements. ```APIDOC Mintlify Configuration: Layout: topnav Sidebar: items: container Topbar: style: default Search: location: top Rounded: default CodeBlock: mode: dark TopbarCtaButton: name: Sign Up url: https://app.chargeblast.com/auth/registration style: roundedRectangle arrow: false Schema: https://mintlify.com/schema.json Name: Chargeblast Logo: https://mintlify.s3.us-west-1.amazonaws.com/chargeblast/logo/logo.png Favicon: /favicon.png ModeToggle: default: light isHidden: true Colors: primary: "#7d5fff" light: "#9d89ff" dark: "#7d5fff" anchors: from: "#9d89ff" to: "#7d5ffe" TopbarLinks: - url: "https://meetings.hubspot.com/chargeblast/learn-about-chargeblast?__hstc=123172564.3337601c5527cf533e665087a1c93434.1728899644886.1728899644886.1728901995866.2&__hssc=123172564.3.1728901995866&__hsfp=2296146515&uuid=8d7c5ee0-1800-4e4d-9b3f-4a0cda85475b" name: Contact sales - url: "https://app.chargeblast.com/dashboard" name: Log In Anchors: - name: Help Center url: "https://help.chargeblast.com/" icon: headset - name: Blog url: "https://www.chargeblast.com/blog" icon: newspaper Background: style: gradient Font: headings: family: Poppins weight: 600 FooterSocials: x: "https://twitter.com/chargeblast" linkedin: "https://www.linkedin.com/company/chargeblast" ``` -------------------------------- ### OpenAPI GET /api/merchant Source: https://docs.chargeblast.com/api-reference/enrollment/fetch-merchant Documentation for the GET /api/merchant endpoint. This API retrieves merchant details, including associated sites, user information, and risk level. It requires an API key and optionally accepts a merchant ID. The response includes detailed site and user data. ```yaml paths: path: /api/merchant method: get servers: - url: https://api.chargeblast.com request: security: [] parameters: path: {} query: api_key: schema: - type: string required: true merchant_id: schema: - type: string required: false - type: 'null' required: false header: {} cookie: {} body: {} response: '200': application/json: schemaArray: - type: object properties: sites: allOf: - &ref_0 items: $ref: '#/components/schemas/PayshieldSiteDTO' type: array name: allOf: - &ref_1 nullable: true type: string rcode: allOf: - &ref_2 nullable: true type: string user: allOf: - &ref_3 $ref: '#/components/schemas/UserDTO' verifiRiskLevel: allOf: - &ref_4 $ref: '#/components/schemas/VerifiRiskLevel' verifi_name: allOf: - &ref_5 nullable: true type: string source: allOf: - &ref_6 $ref: '#/components/schemas/ProviderSource' merchant_id: allOf: - &ref_7 nullable: true type: string id: allOf: - &ref_8 nullable: true type: string refIdentifier: '#/components/schemas/PayshieldRetailerDTO' requiredProperties: &ref_9 - sites - user examples: example: value: sites: - retailer: {} descriptors: - id: hasEmailSent: true type: Ethoca bankMid: status: Pending site: {} details: type: id: name: name: rcode: user: hubspotId: pfStripeId: tokens: - externalId: connectionId: accessToken: platformToken: id: storeUniqueName: isReady: true status: active publicToken: platform: svixId: id: fromInvite: true referralCode: merchantId: phonenumber: stripeId: utmSource: agentDeal: - agentPayload: {} id: createdAt: '2023-11-07T05:31:56Z' internalCompany: invitations: - email: status: Pending id: createdAt: '2023-11-07T05:31:56Z' permission: manager announcements: - message: id: type: Error accounts: - id: email: isBilledForResolved: true risk: High internalId: email: settings: id: settings: webhooks: - processor: ruleset: descriptors: - refundUrl: autoresolve: true integrationSettings: mamopayIntegration: enabled: true apiKey: braintreeIntegration: privateKey: enabled: true accountId: merchantId: ``` -------------------------------- ### Performance Timing Source: https://help.chargeblast.com/ Provides a utility function to get the current performance timestamp in milliseconds. ```javascript 863: (e,t,r)=>{ "use strict"; function n(){return Math.floor(performance.now())} r.d(t,{t:()=>n}) } ``` -------------------------------- ### Page Metadata and SEO Information Source: https://docs.chargeblast.io/reference/enrollment-criteria This JSON object contains metadata for the welcome page, including title, description, application name, generator, and Open Graph/Twitter card properties for SEO and social sharing. ```json { "title": "Welcome to Chargeblast - Chargeblast", "description": "You're on your way to eliminating chargebacks!", "sidebarTitle": "Overview", "icon": "hand-wave", "iconType": "solid", "href": "/reference/welcome-to-chargeblast", "meta": [ { "name": "description", "content": "You're on your way to eliminating chargebacks!" }, { "name": "application-name", "content": "Chargeblast" }, { "name": "generator", "content": "Mintlify" }, { "property": "og:title", "content": "Welcome to Chargeblast - Chargeblast" }, { "property": "og:description", "content": "You're on your way to eliminating chargebacks!" }, { "property": "og:image", "content": "https://chargeblast.mintlify.app/mintlify-assets/_next/image?url=%2Fapi%2Fog%3Fdivision%3DWelcome%26appearance%3Dlight%26title%3DWelcome%2Bto%2BChargeblast%26description%3DYou%2527re%2Bon%2Byour%2Bway%2Bto%2Beliminating%2Bchargebacks%2521%26logoLight%3Dhttps%253A%252F%252Fmintlify.s3.us-west-1.amazonaws.com%252Fchargeblast%252Flogo%252Flogo.png%26logoDark%3Dhttps%253A%252F%252Fmintlify.s3.us-west-1.amazonaws.com%252Fchargeblast%252Flogo%252Flogo.png%26primaryColor%3D%25237d5fff%26lightColor%3D%25239d89ff%26darkColor%3D%25237d5fff%26backgroundLight%3D%2523ffffff%26backgroundDark%3D%25230c0c10\u0026w=1200\u0026q=100" } ] } ``` -------------------------------- ### Chargeblast API Reference - Overview Source: https://docs.chargeblast.io/reference/enrollment-criteria This section provides an overview of the Chargeblast API, including key endpoints for managing platform data, alerts, and merchant enrollment. It details authorization, webhooks, and specific operations for common tasks. ```APIDOC API Endpoints: **Getting Started** - Guide: Overview of API usage and integration. - Authorization: Details on authentication methods (e.g., API keys, OAuth). - Refund Endpoint: Information on processing refunds. **Webhooks** - Setup: Instructions for configuring webhook endpoints to receive real-time event notifications. **Alerts** - Fetch an Alert: Retrieve details for a specific alert. - Method: GET - Path: `/alerts/{alert_id}` - Parameters: - `alert_id` (string, required): The unique identifier of the alert. - Returns: Detailed alert object. - Update Alert: Modify an existing alert. - Method: PUT or PATCH - Path: `/alerts/{alert_id}` - Parameters: - `alert_id` (string, required): The unique identifier of the alert. - Request Body: Fields to update (e.g., status, notes). - Returns: Updated alert object. - Fetch Alerts: Retrieve a list of alerts, with filtering and pagination options. - Method: GET - Path: `/alerts` - Parameters: - `status` (string, optional): Filter by alert status. - `limit` (integer, optional): Number of results per page. - `offset` (integer, optional): Starting point for pagination. - Returns: List of alert objects. **Credit Requests** - Create Credit Request: Submit a new credit request. - Method: POST - Path: `/credit-requests` - Parameters: - Request Body: Details of the credit request (e.g., amount, reason, associated order). - Returns: Newly created credit request object. **Sync Data** - Upload Orders: Submit order data for synchronization. - Method: POST - Path: `/sync-data/orders` - Parameters: - Request Body: Array of order objects to upload. - Returns: Status of the upload operation. - Get Orders: Retrieve a list of orders, with filtering and pagination. - Method: GET - Path: `/sync-data/orders` - Parameters: - `startDate` (string, optional): Filter orders from this date. - `endDate` (string, optional): Filter orders up to this date. - `limit` (integer, optional): Number of results per page. - Returns: List of order objects. - Get Order: Retrieve details for a specific order. - Method: GET - Path: `/sync-data/orders/{order_id}` - Parameters: - `order_id` (string, required): The unique identifier of the order. - Returns: Detailed order object. **Enrollment** - Fetch Merchants: Retrieve a list of enrolled merchants. - Method: GET - Path: `/enrollment/merchants` - Returns: List of merchant objects. - Fetch Descriptors: Retrieve available descriptors for enrollment. - Method: GET - Path: `/enrollment/descriptors` - Returns: List of descriptor objects. - Fetch Merchant: Retrieve details for a specific merchant. - Method: GET - Path: `/enrollment/merchants/{merchant_id}` - Parameters: - `merchant_id` (string, required): The unique identifier of the merchant. - Returns: Detailed merchant object. - Enroll Merchant: Enroll a new merchant into the system. - Method: POST - Path: `/enrollment/merchants` - Parameters: - Request Body: Merchant details (e.g., name, contact info, descriptor). - Returns: Newly enrolled merchant object. - Unenroll Merchant: Remove a merchant from the system. - Method: DELETE - Path: `/enrollment/merchants/{merchant_id}` - Parameters: - `merchant_id` (string, required): The unique identifier of the merchant to unenroll. - Returns: Confirmation of unenrollment. ``` -------------------------------- ### GET /api/v2/orders Source: https://docs.chargeblast.com/api-reference/sync-data/get-orders Retrieves a list of orders from the Chargeblast account. Receipt information is excluded. Supports pagination via 'page' and 'per' query parameters, and requires an 'api_key'. ```APIDOC get /api/v2/orders paths: path: /api/v2/orders method: get servers: - url: https://api.chargeblast.com request: security: [] parameters: path: {} query: page: schema: - type: integer required: false description: The starting page of the request. Default value of 0. - type: 'null' required: false description: The starting page of the request. Default value of 0. per: schema: - type: integer required: false description: How many objects to request per page. Default value of 10. - type: 'null' required: false description: How many objects to request per page. Default value of 10. api_key: schema: - type: string required: true description: Your API key. header: {} cookie: {} body: {} response: '200': application/json: schemaArray: - type: object properties: total: allOf: - type: integer format: int64 page: allOf: - format: int64 type: integer per: allOf: - format: int64 type: integer orders: allOf: - type: array items: type: string refIdentifier: '#/components/schemas/APIOrdersResponse' requiredProperties: - orders - page - per - total examples: example: value: total: 123 page: 123 per: 123 orders: - description: OK deprecated: false type: path components: schemas: {} ``` -------------------------------- ### Main Configuration Schema Source: https://docs.chargeblast.com/api-reference/enrollment/fetch-descriptors Defines the primary configuration structure, encompassing various settings like processor, ruleset, refund URL, integrations, alert columns, and more. Includes references to other schemas like IntegrationSettings and Rule. ```APIDOC MainConfig: properties: items: { type: array, items: { type: string } } processor: { type: string, nullable: true } ruleset: { type: string, nullable: true } descriptors: { type: array, nullable: true, items: { type: string } } refundUrl: { type: string, nullable: true } autoresolve: { nullable: true, type: boolean } integrationSettings: { $ref: '#/components/schemas/IntegrationSettings' } arns: { type: array, nullable: true, items: { type: string } } accountBanned: { type: boolean, nullable: true } alertColumns: { nullable: true, items: { type: string }, type: array } mcc: { nullable: true, type: string } refundAllFromCustomer: { type: boolean, nullable: true } cancelSubscription: { nullable: true, type: boolean } addCustomerToBlockList: { nullable: true, type: boolean } descriptorRules: { nullable: true, items: { $ref: '#/components/schemas/Rule' }, type: array } apiKey: { type: string } paymentSource: { nullable: true, type: string } emails: { type: array, items: { type: string } } invoiceSettings: { $ref: '#/components/schemas/InvoiceSettings' } selectedAlerts: { nullable: true, type: array, items: { type: string } } rdrNotifications: { type: boolean, nullable: true } agentSettings: { $ref: '#/components/schemas/AgentSettings' } claritySettings: { $ref: '#/components/schemas/ClaritySettings' } touched: { format: int64, nullable: true, type: integer } webhookSecret: { nullable: true, type: string } matchingThreshhold: { type: number, nullable: true, format: double } threshholdEnabled: { nullable: true, type: boolean } efwRule: { $ref: '#/components/schemas/Rule' } ethocaRule: { $ref: '#/components/schemas/Rule' } refundAPIEnabled: { nullable: true, type: boolean } hasBetaFeatures: { type: boolean, nullable: true } ``` -------------------------------- ### OpenAPI Merchants Endpoint Source: https://docs.chargeblast.com/api-reference/enrollment/fetch-merchants Defines the GET request for the /api/merchants endpoint. It requires an API key and returns a list of merchant objects with detailed properties, including site information, user details, and integration settings. ```APIDOC paths: /api/merchants: get: summary: Retrieve a list of merchants servers: - url: https://api.chargeblast.com parameters: query: api_key: schema: type: string required: true description: Your Chargeblast API key responses: '200': description: A list of merchants content: application/json: schema: type: object properties: merchants: type: array items: $ref: '#/components/schemas/PayshieldRetailerDTO' examples: example: value: merchants: - sites: - retailer: {} descriptors: - id: "" hasEmailSent: true type: "Ethoca" bankMid: "" status: "Pending" site: {} details: type: "" id: "" name: "" rcode: "" user: hubspotId: "" pfStripeId: "" tokens: - externalId: "" connectionId: "" accessToken: "" platformToken: "" id: "" storeUniqueName: "" isReady: true status: "active" publicToken: "" platform: "" svixId: "" id: "" fromInvite: true referralCode: "" merchantId: "" phonenumber: "" stripeId: "" utmSource: "" agentDeal: - agentPayload: {} id: "" createdAt: "2023-11-07T05:31:56Z" internalCompany: "" invitations: - email: "" status: "Pending" id: "" createdAt: "2023-11-07T05:31:56Z" permission: "manager" announcements: - message: "" id: "" type: "Error" accounts: - id: "" email: "" isBilledForResolved: true risk: "High" internalId: "" email: "" settings: id: "" settings: webhooks: - "" processor: "" ruleset: "" descriptors: - "" refundUrl: "" autoresolve: true integrationSettings: mamopayIntegration: enabled: true apiKey: "" braintreeIntegration: privateKey: "" enabled: true accountId: "" merchantId: "" publicKey: "" sealIntegration: apiKey: "" enabled: true checkoutChampIntegration: password: "" enabled: true username: "" stripeIntegration: account_id: "" user_id: "" shouldAppendDescriptor: true testMode: true enabled: true state: "" useBillingDescriptors: true appendDescriptor: "" skioIntegration: enabled: true apiKey: "" discordIntegration: enabled: true ```