Receber por email
← Voltar para o catálogo

magento-api

Build Magento 2 REST and GraphQL APIs — webapi.xml, schema.graphqls, resolvers, authentication, and ACL. Use when creating custom API endpoints, extending the GraphQL schema, or integrating external systems.

34estrelas
Atualizado há 5 meses

Ver no GitHub ↗ Licença: MIT

Como adicionar

/plugin marketplace add OrcaQubits/agentic-commerce-skills-plugins

O comando exato pode variar conforme o repositório. Confira o README no GitHub.

Para o autor da skill

Cole no README do seu repo

Mostra que sua skill está catalogada na Skillteca, gera backlink e tráfego rastreável.

[![Skillteca](https://www.skillteca.com.br/api/badge/magento-api/svg)](https://www.skillteca.com.br/skills/magento-api)

Alerta por categoria

Receba novas skills de Design e Frontend toda segunda

1 email curto, só com as skills novas de Design e Frontend. 4 minutos de leitura, sem spam, cancela com 1 clique.

Você confirma o email no primeiro envio. Sem spam. Cancela com 1 clique.

Ler descrição completa

Magento 2 REST & GraphQL API Development

Before writing code

Fetch live docs:

  1. Fetch https://developer.adobe.com/commerce/webapi/ for Web API overview
  2. Fetch https://developer.adobe.com/commerce/webapi/graphql/develop/ for GraphQL development guide
  3. Fetch https://developer.adobe.com/commerce/webapi/get-started/authentication/gs-authentication-token/ for authentication
  4. Web-search site:developer.adobe.com commerce php development components web-api for webapi.xml reference

REST API

How It Works

REST endpoints map HTTP methods + URL paths to service contract methods. Defined in etc/webapi.xml.

webapi.xml Structure

Each route defines:

  • url — endpoint path (e.g., /V1/custom/items/:id)
  • method — HTTP method (GET, POST, PUT, DELETE)
  • service — class + method implementing the endpoint
  • resource — ACL resource for authorization

Path parameters (:id) map to method parameters by name.

Authentication Types

| Type | Header | Use Case | |------|--------|----------| | Admin Token | Authorization: Bearer <token> | Back-office integrations | | Customer Token | Authorization: Bearer <token> | Customer-facing apps | | OAuth 1.0a | OAuth headers | Third-party integrations | | Session | PHP session cookie | Storefront JS widgets | | Anonymous | resource="anonymous" | Public endpoints |

Swagger/OpenAPI

Available at /rest/<store>/schema — auto-generated from webapi.xml and service contracts.

GraphQL API

How It Works

GraphQL uses a single endpoint (/graphql) with schema files and resolver classes.

Schema Files (schema.graphqls)

Define types, queries, and mutations in etc/schema.graphqls:

  • Custom types with fields
  • Query definitions mapping to resolver classes
  • Mutation definitions with input/output types
  • Extend existing types with new fields

Resolver Classes

Implement Magento\Framework\GraphQl\Query\ResolverInterface:

  • resolve(Field $field, $context, ResolveInfo $info, array $value = null, array $args = null)
  • Return arrays matching the GraphQL type definition
  • Context provides store, customer, and extension attributes

Identity for Cache

Implement Magento\Framework\GraphQl\Query\Resolver\IdentityInterface for full-page cache invalidation of GraphQL responses.

GraphQL Authorization

  • Customer context via Authorization: Bearer <customer-token> header
  • Admin context not supported in GraphQL (by design — GraphQL is storefront-facing)
  • Use $context->getExtensionAttributes()->getIsCustomer() for auth checks

ACL (Access Control List)

acl.xml

Defines the resource tree for authorization:

  • Nested <resource> elements form a hierarchy
  • Referenced in webapi.xml via <resource ref="Vendor_Module::resource_name"/>
  • Special values: anonymous (no auth), self (customer's own data)

Best Practices

  • Always define service contract interfaces first, then expose via webapi.xml
  • Use ACL resources for all non-public endpoints
  • Prefer GraphQL for storefront/headless, REST for integrations
  • Return proper HTTP status codes (200, 201, 400, 401, 403, 404)
  • Use SearchCriteria for list endpoints
  • Add cache identity classes for GraphQL resolver performance

Fetch the Web API and GraphQL development docs for exact XML schema, resolver signatures, and authentication patterns before implementing.

Compartilhar X LinkedIn