<?php
$page_lang = 'en';
$page_title = 'Corp-Merch API: catalogue, orders, tracking | Corp-Merch.MX';
$page_description = 'Corp-Merch API for corporate customers: catalogue endpoint, order creation, status tracking, CFDI 4.0 invoice retrieval, webhooks.';
$og_image = '/assets/images/og-sdk.png';
$page_section = 'sdk';
$page_slug    = 'api-merch';

$labels = [
    'name' => 'Name', 'name_placeholder' => 'Your name',
    'contact' => 'Work email', 'contact_placeholder' => 'name@company.com',
    'company' => 'Company', 'company_placeholder' => 'Legal entity name',
    'message' => 'Brief', 'message_placeholder' => 'Your query on the API or integration...',
    'submit' => 'Request technical spec', 'sending' => 'Sending...',
    'turnstile_error' => 'Verify you are not a robot'
];

require __DIR__ . '/../../../includes/header.php';
?>
<link rel="alternate" hreflang="es" href="https://corp-merch.com.mx/es/pages/sdk/api-merch">
<link rel="alternate" hreflang="en" href="https://corp-merch.com.mx/en/pages/sdk/api-merch">
<link rel="alternate" hreflang="ru" href="https://corp-merch.com.mx/ru/pages/sdk/api-merch">
<nav class="breadcrumbs"><a href="/en/">Home</a><span class="sep">&rsaquo;</span><span>SDK</span><span class="sep">&rsaquo;</span><span>Corp-Merch API</span></nav>

<section class="hero">
  <div class="container">
    <div class="hero-content">
      <p class="eyebrow">REST · Webhooks · OAuth 2.0 · OpenAPI 3.0</p>
      <h1>Corp-Merch API for corporate customers</h1>
      <p class="hero-subtitle">The REST API that exposes the catalogue, order creation, status tracking, CFDI 4.0 invoice retrieval and batch traceability for integration with ERP, CRM, HR platforms and customer portals. Documented in OpenAPI 3.0 with sandbox and production environments.</p>
      <div class="hero-cta"><a href="#contact-form" class="btn btn-primary">Request technical spec</a></div>
    </div>
  </div>
</section>

<section class="section"><div class="container">
  <h2>API architecture and authentication</h2>
  <p>The Corp-Merch API follows REST principles with JSON payloads and OAuth 2.0 authentication. Each integration requires a client ID and a client secret, exchanged for an access token with defined expiry and refresh token rotation. Tokens are scoped to specific customer and operation; permission escalation requires explicit re-authorisation.</p>
  <p>The API runs over HTTPS with TLS 1.2 or higher. All requests are logged with timestamp, source IP, customer and operation. Rate limits are applied per client and per customer; the documentation specifies the limit per endpoint and the recommended retry pattern with exponential backoff.</p>
</div></section>

<section class="section section-alt"><div class="container">
  <h2>Catalogue endpoint</h2>
  <p>The catalogue endpoint exposes the full product catalogue with pagination, filters by category, region, material, certification and minimum order quantity. Each product includes reference, name, description, variants, MOQ, lead time, base price, applicable regulatory constraints and customisation options. The catalogue supports Spanish, English and Russian for the three locales of the platform.</p>
  <p>Catalogue synchronisation with the customer's system happens by event — creation, deletion, price change, variant change — or by full snapshot on demand. The catalogue endpoint also exposes availability by date range, allowing the customer to plan orders aligned to capacity.</p>
</div></section>

<section class="section"><div class="container">
  <h2>Order creation and tracking</h2>
  <p>Orders are created via the orders endpoint with the items, quantities, customisation, recipient details and delivery address. The endpoint returns the order identifier, the assigned commercial owner, the production start date estimate and the delivery date estimate. Order status transitions are: created, artwork approval, production, quality control, shipment, delivered, closed.</p>
  <p>Order status tracking is exposed via the orders endpoint and via webhooks. The customer can poll the orders endpoint at the frequency they require or subscribe to webhooks for automatic notifications. The tracking number is included once the shipment is dispatched.</p>
</div></section>

<section class="section section-alt"><div class="container">
  <h2>CFDI 4.0 invoice and traceability</h2>
  <p>The invoices endpoint returns CFDI 4.0 invoices in XML and PDF format with the SAT signature, UUID, receptor details, item breakdown, IVA breakdown and, where applicable, Carta Porte 3.0 complement. Invoices can be downloaded per order or per period, with filtering by issue date, status and UUID prefix.</p>
  <p>The traceability endpoint exposes batch data per order: material certificates, supplier certificates, chain of custody where applicable, laboratory test reports where required, and conformity declaration signed by the workshop owner. The documentation is available per batch and per order, with timestamp and retention period per regulatory requirement.</p>
</div></section>

<section class="section"><div class="container">
  <h2>Webhooks and events</h2>
  <p>Webhooks notify the customer of relevant events — order created, artwork approved, production started, quality control completed, shipment dispatched, delivery confirmed. Each event carries a JSON payload with minimum necessary information and a unique identifier for deduplication. The customer configures the endpoint and the events they want to receive; unconsumed events are retried with exponential backoff for twenty-four hours.</p>
  <p>Webhook security is guaranteed with HMAC-SHA256 signature on the payload, with shared key rotated every ninety days. The customer verifies the signature before processing the event; events with invalid signature are rejected and logged. The documentation includes payload examples for each event type and the error codes the customer may receive.</p>
</div></section>

<section class="section section-alt"><div class="container">
  <h2>Sandbox and production environments</h2>
  <p>The API exposes two environments. Sandbox: workshop-mock data, no real production, allows integration testing without consuming real capacity. Production: real data, real production, requires explicit go-live approval from the customer.</p>
  <p>The documentation specifies the migration process from sandbox to production, including: complete checklist of tested scenarios, customer signature of go-live approval, thirty-day post-go-live support window, error monitoring and customer notification for incidents.</p>
</div></section>

<section class="section"><div class="container">
  <h2>FAQ — API block</h2>
  <div class="faq-list">
    <div class="faq-item"><h3>What authentication does the API use?</h3><p>OAuth 2.0 with client ID and client secret exchanged for access token. Tokens are scoped to customer and operation; rotation is supported.</p></div>
    <div class="faq-item"><h3>What is the rate limit?</h3><p>Rate limit per client and per customer is documented per endpoint. The recommended pattern is exponential backoff retry. Limits can be raised per customer request.</p></div>
    <div class="faq-item"><h3>Are there sandbox and production environments?</h3><p>Yes. Sandbox uses mock data without consuming real capacity; production requires explicit go-live approval. Migration checklist and post-go-live support are documented.</p></div>
    <div class="faq-item"><h3>Are webhooks signed?</h3><p>Yes. Webhooks are signed with HMAC-SHA256 on the payload, with shared key rotated every ninety days. The customer verifies the signature before processing.</p></div>
  </div>
</div></section>

<section id="contact-form" class="section section-alt"><div class="container">
  <h2>Request technical spec</h2>
  <p>If your company is evaluating integration with the Corp-Merch API, let's talk. We deliver the OpenAPI 3.0 specification, the sandbox credentials and the post-go-live support plan.</p>
  <?php require __DIR__ . '/../../../includes/form.php'; ?>
</div></section>

<section class="section role-note"><div class="container">
  <p class="role-note-text">The API documented on this page reflects the workshop's offer at the time of publication. Availability of each endpoint, rate limits and integration patterns must be verified at the time of each integration. Corp-Merch.MX is a Mexican workshop for corporate merch production; we operate independently and the technical information on this page does not constitute integration advice or contractual commitment until confirmed in writing by the commercial and technical areas.</p>
</div></section>

<script type="application/ld+json">
{"@context":"https://schema.org","@type":"WebPage","name":"Corp-Merch API Corp-Merch.MX","description":"Corp-Merch REST API for catalogue, orders, tracking, CFDI 4.0 invoice retrieval and batch traceability.","publisher":{"@type":"Organization","name":"Corp-Merch.MX"}}
</script>
<script type="application/ld+json">
{"@context":"https://schema.org","@type":"FAQPage","mainEntity":[{"@type":"Question","name":"What authentication does the API use?","acceptedAnswer":{"@type":"Answer","text":"OAuth 2.0 with client ID and client secret exchanged for access token, scoped to customer and operation."}},{"@type":"Question","name":"What is the rate limit?","acceptedAnswer":{"@type":"Answer","text":"Rate limit per client and per customer is documented per endpoint. Exponential backoff retry is recommended."}},{"@type":"Question","name":"Are there sandbox and production environments?","acceptedAnswer":{"@type":"Answer","text":"Yes. Sandbox uses mock data; production requires explicit go-live approval with documented migration checklist."}},{"@type":"Question","name":"Are webhooks signed?","acceptedAnswer":{"@type":"Answer","text":"Yes. Webhooks are signed with HMAC-SHA256 with shared key rotated every ninety days."}}]}
</script>
<?php require __DIR__ . '/../../../includes/footer.php'; ?>