Factuarea APIDevelopers

Ofertes privades de facturació

Bescanvia un descompte, preu pactat o ampliació de prova per a la teva empresa amb una cotització revisada i recuperable.

Una oferta privada pertany a una empresa pagadora concreta i un producte: el seu pla, seients d’empleats o seients d’empreses gestionades. Un codi per a un producte no compra els altres dos. Només l’administrador de plataforma crea o revoca ofertes. L’aplicació permet copiar el codi a aquell administrador; no l’envia automàticament.

Beneficis i elegibilitat

BeneficiCondicions
discountPercentatge o import fix en EUR, amb durada once, repeating o forever. Sense acumulació implícita amb un altre descompte.
negotiated_pricePreu unitari net pactat en EUR, inclòs zero, no superior al catàleg. Dura per sempre o entre 1 i 24 períodes de facturació; després torna al preu de catàleg fixat.
trial_extensionD’1 a 90 dies addicionals en una prova activa elegible d’un pla de contractació autònoma, sense reiniciar una prova caducada. La prova acumulada no pot superar 180 dies des de l’activació inicial fiable.

La prova addicional només pot acompanyar un descompte permanent de pla o un preu pactat permanent de pla. Els preus pactats i les proves independents seleccionen un pla i un interval. Els preus temporals mostren la data de retorn, l’import futur i el requisit de mètode de pagament abans del cobrament posterior. Els períodes mensuals i anuals són cicles de facturació, no quantitats de dies intercanviables. S’exclouen Enterprise per contracte, empreses gestionades actuant com a client d’un pla i compres en sandbox.

Les dates de prova fan servir UTC. L’aplicació mostra el final anterior i el nou i qualsevol canvi d’ancoratge de facturació. Una ampliació independent no força targeta. Els plans caducats, de pagament, en gràcia o cancel·lats no poden fer-la servir. Revocar un codi impedeix bescanvis futurs i conserva el benefici ja adquirit i el retorn programat al preu de catàleg.

Bescanviar en el seu context

A l’aplicació, introdueix el codi des del checkout corresponent de plans, empleats o empreses gestionades. Facturació també mostra beneficis adquirits i operacions. El codi és privat: no el posis en URLs, incidències, registres ni exemples compartits. No hi ha campanya de registre anònim ni flux d’invitacions automàtiques.

REST i MCP exposen només bescanvis d’empleats i empreses gestionades. Els bescanvis de plans i l’administració d’ofertes continuen sent exclusius de l’aplicació. Fes servir employees:write per a /v1/employee-seat-offer-redemptions i companies:write per a /v1/gestoria-seat-offer-redemptions; les lectures fan servir el scope :read corresponent. El propietari del producte torna a comprovar pertinença, accés al mòdul, empresa pagadora i restriccions de sandbox.

Preparar envia {code, purchase} i una capçalera Idempotency-Key. Les compres d’empleats fan servir employee_individual (alta de perfil o reactivació d’UUID) o employee_batch (un batch_id existent i la seva quote_version). Les compres d’empreses gestionades fan servir gestoria_purchase amb create, activate o activate_batch. El servidor tria preus, impostos i client pagador; mai enviïs identificadors remots de Stripe ni totals.

Revisar i confirmar

La caducitat del codi no és la data de fi del benefici. Sense un primer ancoratge de facturació, el preu temporal s’accepta per N cicles complets des de la primera factura, amb benefit_end_basis = first_invoice_pending i benefit_ends_at = null. Un descompte repetitiu pendent d’aplicar fa servir discount_application_pending. Un ancoratge conegut es marca amb accepted_anchor; després de verificar l’aplicació, el GET pot mostrar la data exacta en UTC amb verified_schedule o verified_discount. Aquesta informació de presentació no modifica la cotització acceptada ni la seva empremta.

Quan una oferta de places d’empleat o d’empreses gestionades amb un benefici recurrent (un descompte repeating o forever, o un preu pactat) es bescanvia sobre una subscripció de places ja activa, el benefici comença a la renovació següent: benefit_starts_at és igual a next_bill_at. Avui només es cobren les places noves de la compra, prorratejades amb les condicions vigents, així que cash_today_cents no porta el benefici i recurring_total_cents ja l’inclou. El període en curs no s’abona i no es genera saldo a favor del client. Un descompte once continua aplicant-se a la factura d’avui. En una primera compra sense subscripció de places no hi ha període en curs, i el benefici s’aplica des de l’inici.

La cotització distingeix import elegible, descompte, base neta, impostos, total fiscal, saldo del compte, cobrament d’avui i import recurrent. quote_complete ha de ser cert abans de confirmar; els valors desconeguts continuen sent null. Un cobrament zero s’explica amb zero_reason: el saldo del compte, un descompte total, un preu pactat gratuït i una prova activa tenen conseqüències diferents. Revisa advertiments, caducitat, preus futurs i dates de prova abans d’acceptar quote_version.

Cada propietari exposa sis operacions: POST a l’arrel per preparar; GET a l’arrel per llistar; GET /{id} per consultar; i POST /{id}/quote, POST /{id}/confirm, POST /{id}/cancel. Les mutacions exigeixen claus estables diferents per intenció. Una repetició idèntica consulta l’operació existent; reutilitzar una clau amb altres dades provoca conflicte. Una cotització canviada o caducada s’ha d’actualitzar i revisar un altre cop. Si tots els seients d’empleats ja estan coberts, details.reason = offer_requires_chargeable_seats rebutja l’oferta sense consumir-la; continua el flux normal del lot per conservar la cobertura.

Estats pendents i errors

Una confirmació 202 està pendent, no és una compra reeixida. Consulta la mateixa operació després de recarregar, un temps d’espera o autenticar la targeta. Segueix allowed_actions i una action_url autoritzada i verificada; no creïs un altre bescanvi. La manca de mètode de pagament pot retornar 402 amb details.payment_setup_url. customer_offer_purchase_failed és un error final verificat; l’operació continua sent consultable.

Una oferta no disponible, caducada, esgotada o reservada, un pla o interval incompatible, un descompte o calendari extern existent, una altra compra concurrent, una prova amb l’inici canviat o una cotització desconeguda produeixen un rebuig controlat. Cancel·lar pot exigir restauració financera. needs_review o customer_offer_legacy_outcome_unknown exigeixen comprovar l’operació existent abans d’una altra compra. Cancel·lar una operació no promet el reemborsament instantani d’una factura. Els beneficis aplicats continuen subjectes a les regles normals de renovació, cancel·lació i reemborsament del producte.

En perdre accés al producte, el rebut mínim de Facturació a l’aplicació només permet consultar i cancel·lar quan estigui permès. No exposa perfils ni permet confirmar, actualitzar condicions, afegir targeta o autenticar-la. REST i MCP continuen respectant la restricció global de pla i mòdul.

MCP fa servir prepare_*_seat_offer_redemption, refresh_*_seat_offer_redemption, confirm_*_seat_offer_redemption, cancel_*_seat_offer_redemption, get_*_seat_offer_redemption i list_*_seat_offer_redemptions, substituint * per employee o gestoria. Les mutacions reben idempotency_key.

L’endpoint autenticat existent de l’aplicació GET /api/features publica data.purchase_availability amb els booleans employee_batches i customer_offers del servidor. Aquests interruptors controlen les entrades de compra noves i les accions de cotitzar/confirmar, no els permisos d’empresa. Quan estan desactivats o són desconeguts, l’aplicació conserva l’historial i la cancel·lació autoritzats. No són variables d’entorn frontend ni scopes públics nous.

UsersRound Fingerprint

En aquesta pàgina

Et donem un cop de mà?Contactar amb suport